Processing math: 100%

This Collection of learning materials is constructed to provide a flexible network of theory and examples for various areas of computer science, data science, and mathematics. They can be explored in a linear fashion using PeLDS (Pre-sequenced Learning Delivery System) or through ISPeL (Interactive System for Personalized Learning).The ISPeL System Project is funded by the NSF as part of PPSE, Programmers to Professional Software Engineers project, at ECU .

This web application is designed to be a reference for essential definitions, concepts, examples and practice problems in an environment that allows each learner to personalize their experience within a non-course-centric curriculum. Your collaboration is welcomed with the aim to make this site a valuable learning resource. The notes are still under construction and are developed with the intention of providing an open resource for both educators and learners. The content is not without typos, and the authors have done their best to present quality information. If you see areas for improvement, please let us know or submit a pull request with your fixes to our GitHub repositories.

This project is a work in progress. Currently, learning content is available for the following areas:

ISPeL/ PeLDS architecture

Personalization of learning research is a major component of the Programmers to Professional Software Engineers (PPSE) project. Personalization is achieved through ISPeL, an Interactive System for Personalization of Learning. The content can also be delivered in a predetermined sequence using PeLDS (Pre-sequenced Learning Delivery System). This document describes the high-level architecture of ISPeL/PeLDS.

ISPeL/PeLDS high-level architecture

ISPeL/PeLDS high-level architecture

Topic-based authoring

Both ISPeL and PeLDS systems are based on the notion of topics. A topic is a small, self-contained, reusable, and context-free content unit. Learners may study a topic provided that they have met its prerequisite dependencies. Pre- and post-tests are associated with topics. Furthermore, topics feature several practice problems to enhance student learning. Topics can be aggregated to form higher-level learning units. The various fields that comprise the topic are:

  1. topic-id (a system-wide unique identifier for topics).
  2. topic-name (a self-describing name)
  3. topic-prerequisites (a set of topic-ids)
  4. topic-keywords (zero or more terms that can be used to search for topics)
  5. topic-content (topic description)

Here is an example of a topic:

  1. topic-id: ds-set-union
  2. topic-name: set union
  3. topic-prerequisites: ds-set-definition
  4. topic-keywords: mathematical set, set, set union
  5. topic-content: Sets are objects that we can define operations on, just like we define addition and subtraction between two elements of the special set R of all real numbers.

See appendix for an example of a completely authored topic.

Topics are stored and secured using Elasticsearch, which is a Lucene-based full-text search engine.

Domain ontology

Domain ontology is a Directed Acyclic Graph (DAG). Vertices in the DAG correspond to topics and the directed edges between vertices correspond to prerequisite relationships. For example, a directed edge from vertex v1 to v2 denotes that the topic corresponding to the vertex v1 is a prerequisite for the topic corresponding to the vertex v2. A topic can have multiple topics as prerequisites. Likewise, a topic can be a prerequisite for multiple topics. We use the terms topic and vertex as well as directed edge and prerequisite synonymously.

Domain ontologies are collaboratively developed by domain experts. Neo4j, a NoSQL database system based on the graph data model, is used to develop and maintain domain ontologies.

Auto question generation system

Wherever feasible, an auto question generation system is associated with topics. Questions are algorithmically generated. This approach enables generating unlimited number of questions for both practice and assessment. Learners are required to take a post-test and score at certain level to progress to other topics for which the current topic is a prerequisite. Applications can request auto generated questions through a REST API.

Manually generated question database

Not all topics are amenable for auto question generation. Furthermore, not all types of questions can be generated using the auto question generation. This is where the manually generated question databases comes into play. Applications can request manually generated questions through a REST API.

The ISPeL system

The ISPeL system provides personalization of learning using the following components: topic repository, domain ontology, auto question generation system, and the manually generated question database. Central to its operation is the domain ontology. The ontology along with the topics the learner has completed determine which topics the learner can study next. It has a very simple user interface. It also provides a learner dashboard with drill-down and roll-up features.

The ISPeL system enables the learners to explore the topics in an order that reflects their interest and just-in-time learning needs. Therefore, each learner’s paths through the DAG as well the fraction of the vertices explored can significantly vary from one another.

The PeLDS system

Unlike the ISPeL, the PeLDS system offers a pre-sequenced topics to the learners. There is no personalization. The result of the topic sequencing performed by the PeLDS system resembles an interactive e-textbook.

Using the topic repository and the domain ontology, liquid templates are generated first. These templates are declarative specification of topic sequencing as well the glue text. The glue text helps to smoothly transition from one topic to another.

The liquid templates are compiled using Jekyll, which produces HTML pages and styling to render these pages.

Professional skills development

We are infusing the following professional skills into the curriculum: system thinking and design trade-offs, attention to detail, learning how to learn, life-long learning, oral and written communication, effective functioning in team environments, diversity and inclusion, professional and ethical responsibility, leadership and project management, entrepreneurship, and global and contemporary issues. We will holistically integrates professional skills across the undergraduate experience. Our curriculum will evolve to be t-shaped, provides depth in fundamentals, and offer opportunities to develop breadth in four targeted areas of CS: software engineering, cybersecurity, data science, and cognitive computing.

Professional skills are holistically integrated across the curriculum Professional skills are holistically integrated across the curriculum

System thinking and design trade-offs, and attention to detail are at the intersection of technical and professional skills, whereas the others are purely professional skills.

Appendix

A topic example

topic-id: ds-set-union

topic-name: set union

topic-prerequisites: ds-set-definition

topic-keywords: mathematical set, set, set union

topic-content: Sets are objects that we can define operations on, just like we define addition and subtraction between two elements of the special set R of all real numbers. Addition on two real numbers is considered a binary operation since addition accepts two terms as input. Addition for sets is called “union,” and essentially adding all the elements in the two sets into one new set.

Let S1 and S2 be two sets. Then the union of S1 and S2 is a new set that is the collection of all elements in S1 and S2. The traditional operator for union is the symbol . We write S1S2 and say “S sub 1 union S sub 2.” More formally, we can define the union of two sets with the statement of the rule

x is in S1S2 if either x is in S1 or x is in S2.

Without indexes, let us call the first set A and the second set B. Each set is represented in the Venn diagram below with a canonical circle inside a rectangle that illustrates the super-set collection of all possible elements. The union of sets A and B is the combined collection of the elements in the shaded regions. The elements of the sets (counted only once) collected together, creating one new collection we denote AB.

The union of the sets $$A$$ and $$B$$, denoted $$A \cup B,$$ is the set containing all elements of the set $$A$$, or set $$B$$, or both the sets.
The union of the sets A and B, denoted AB, is the set containing all elements of the set A, or set B, or both the sets.

Example 1: Let E = {0,2,4} and O = {1,3,5}. Then EO={0,1,2,3,4,5}

The guidelines we gave for a set specified that the elements of a set are unique, no repeats. This means that when we union two sets together that share a common element, that element is only represented in the set one time.

Example 2: Let S1={a,e,i,o,u} and S2={b,i,n,g,o}. Then S1S2={a,e,i,o,u,b,n,g}.

The following example demonstrates one of the relationships that exist between the set of positive integers Z+ and the set of natural numbers N.

Example 3: Let A=0 and Z+ be the set of all positive integers. Then AZ+=0,1,2,4,=N, the set of natural numbers.

Example 4: Let A== and Z+ be the set of all positive integers. Then Z+=Z+.

The statement in Example 4 is referred to as the identity property with respect to set union in that: if A is a set, A=A=A.

In evaluating an algebraic expression like 2 + 4 + 5, most would simply say the value of the expression is 11 without a second thought about the fact that addition is a binary operation. The importance is in the details. Addition is a binary operator, so when defining addition, the input taken in consists only of two real numbers. Using a left to right approach, one would find the sum of 2 and 4, 6. Then use 6 as the first term in the new addition problem to find 6 + 5.

Set union for sets is exactly the same as addition among elements of the set R. Only two sets are unioned at one time. Additionally, set union can be extended to an infinite number of terms. When adding many terms, the standard is to use a capital sigma to indicate summation.

Σ5i=1i=1+2+3+4+5=15

The above sum is actually:

(((1+2)+3)+4)+5

In the same way, set union can be extended to expressions involving more than two sets. In fact, set union can be extented to an infinite number of sets as we see in the next few examples. As you look through the examples, also pay attention to the role that the Empty set and the Universal set play.

Example 5: Let

S1 = {0,1}, S2 = {0,1,2}, and S3 = {0,1,2,3}. Then, 3i=1Si=(S1S2)S3 = {0, 2, 3}.

There are some key properties about set union that should be noted: For sets A, B and C, the complement set of A is Ac and U is the Universal set.

Set union is:

  1. commutative: AB is the same set as AB

  2. associative: (AB)C is the same set as A(BC)

Set union has an identity:

A=A

The union of a set with its complement is the Universal set:

AAc=U

If there is a Universal set, U, then:

AU=U.

A visual representation for a set intersection can be helpful when studying the derived set. A Venn diagram is one way to depict the intersection of sets. In the following image, the sets A and B are drawn as circles and the intersection of A and B, AB, is indicated by the shaded area.

An example of the union of sets from the “real-world” is a web query search for relative information. Let’s say a user is interested in information available on the web about US presidents. Before we begin, the Universal set is the set of all webpages that could be returned to the user through their webb browser. The Empty set would be the result set when there are no relevant webpages indexed for US presidents. Without going into a lot of detail, a simple approach for the server is to find the set of all webpages where “US” is mentioned along with the set of all webpages containing the term “president” then return the union of these two sets.

As a set, the webpages would not have a ordering nor would duplicate pages be included. The results would contain many pages that are relevant to the US but not to US presidents and also sites that mention presidents that are not US presidents. The union of the sets contains elements that are in unique to each set as well as the elements that are in both sets.

Since a set cannot contain duplicate elements, when we find the union of two sets it is important to complete the operation and remove from the union any elements that are common to both sets. Specifically:

If A={1,3,5,7} and B={1,5,9} then we would construct the union of A and B by following the steps:

Create an empty set called A U B
For all x in A
    add x into A U B
For all x in B
    if x is not in A U B
        add x into A U B

Following the above set of instructions takes us a total of 8 steps = number of elements in set A + number of elements in set B plus 1 to create the emptyset (excluding the check to see if x is not already in AB. The value of AB moves through the following values:

AB= {}{1}{1,3}{1,3,5}3{1,3,5,7}{1,3,5,7,9}

The resulting value of the set is AB={1,3,5,7,9}.


Back to top of page