UoPeople Online Syllabus Repository (OSR)

Here you will find the syllabi and primary textbooks for all UoPeople courses. The Disclaimer for Use of the Repository can be found here.

MSIT

MSIT 5214: Algorithms


MSIT 5214: Algorithms


Credits: 3


Course Description: The need for efficient algorithms arises in nearly every area of computer science. But the type of problem to be solved, the notion of what algorithms are "efficient,'' and even the model of computation can vary widely from area to area. In this second class in algorithms, we will survey many of the techniques that apply broadly in the design of efficient algorithms and study their application in a wide range of application domains and computational models.

The goal is for the class to be broad rather than deep. Our plan is to touch upon the following areas. This is a tentative list of topics that might be covered in the class; we will select material adaptively based on the background, interests, and rate of progress of the students.


Required Textbook and Materials: UoPeople courses use open educational resources (OER) and other materials specifically donated to the University with free permissions for educational use. Therefore, students are not required to purchase any textbooks or sign up for any websites that have a cost associated with them. The main required textbooks for this course are listed below, and can be readily accessed using the provided links. There may be additional required/recommended readings, supplemental materials, or other resources and websites necessary for lessons; these will be provided for you in the course's General Information and Forums area, and throughout the term via the weekly course Unit areas and the Learning Guides.


Software Requirements/Installation: This course requires the use of Java or Python. 


Learning Objectives and Outcomes:

By the end of this course students will be able to:

  1. Argue the correctness of algorithms using inductive proofs and loop invariants. 
  2. Analyze worst-case running times of algorithms using asymptotic analysis. Compare the asymptotic behaviors of functions obtained by elementary compositions of polynomials, exponentials, and logarithmic functions. Describe the relative merits of worst-, average-, and best-case analysis. 
  3. Analyze average-case running times of algorithms whose running time is probabilistic. Employ indicator random variables and linearity of expectation to perform the analyses. Recite analyses of algorithms that employ this method of analysis. 
  4. Describe the divide-and-conquer paradigm and explain when an algorithm design situation calls for it. Recite algorithms that employ this paradigm. Synthesize divide-and-conquer algorithms. Derive and solve recurrences describing the performance of divide-and-conquer algorithms. 
  5. Applying Breadth-first search, Depth-first search 
  6. Applying binary search tree (BST) traversal algorithms to traverse a tree in-order, pre-order, and post-order and their applications 
  7. Explain the major graph algorithms and their analyses. Employ graphs to model engineering problems, when appropriate. Synthesize new graph algorithms and algorithms that employ graph computations as key components, and analyze them.

Course Schedule and Topics: This course will cover the following topics in eight learning sessions, with one Unit per week.

Week 1: Unit 1 - The Role of Algorithms in Computing

Week 2: Unit 2 - Growth of Functions and Asymptotic Analysis of Algorithms

Week 3: Unit 3 - Divide and Conquer

Week 4: Unit 4 - Analysis of Sorting Algorithms

Week 5: Unit 5 - Data Structures and Algorithms

Week 6: Unit 6 - Hash Tables and their Applications

Week 7: Unit 7 - Graphs and Algorithms

Week 8: Unit 8 - String Matching Algorithms


Learning Guide: The following is an outline of how this course will be conducted, with suggested best practices for students.

Unit 1: The Role of Algorithms in Computing

  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Written Assignment
  • Complete the Reflective Portfolio Assignment

Unit 2: Growth of Functions and Asymptotic Analysis of Algorithms

  • Peer assess Unit 1 Written Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Written Assignment
  • Complete the Reflective Portfolio Assignment

Unit 3: Divide and Conquer

  • Peer assess Unit 2 Written Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Written Assignment
  • Begin and participate in the Group Activity (Due Unit 6)
  • Complete the Reflective Portfolio Assignment

Unit 4: Analysis of Sorting Algorithms

  • Peer assess Unit 3 Written Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Written Assignment
  • Continue to participate in the Group Activity
  • Complete the Reflective Portfolio Assignment

Unit 5: Data Structures and Algorithms

  • Peer assess Unit 4 Written Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Continue to participate in the Group Activity
  • Complete and submit the Written Assignment
  • Complete the Reflective Portfolio Assignment

Unit 6: Hash Tables and their Applications

  • Peer assess Unit 5 Written Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Written Assignment
  • Post finalized Group Activity 
  • Complete the Reflective Portfolio Assignment

 Unit 7: Graphs and Algorithms

  • Peer assess Unit 6 Written Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Written Assignment
  • Complete the Reflective Portfolio Assignment

Unit 8: String Matching Algorithms

  • Peer assess Unit 7 Written Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete the Reflective Portfolio Assignment
  • Complete and submit the anonymous Course Evaluation

Course Requirements:

Discussion Assignments & Response Posts/Ratings
Some units in this course require that you complete a Discussion Assignment. You are required to develop and post a substantive response to the Discussion Assignment in the Discussion Forum. A substantive response is one that fully answers the question that has been posed by the instructor. In addition, you must extend the discussion by responding to at least three (3) of your peers’ postings in the Discussion Forum and by rating their posts. Instructions for proper posting and rating (out of a 10 point scale) are provided inside the Discussion Forum for each week. Discussion Forums are only active for each current and relevant learning week, so it is not possible to contribute to the forum once the learning week has come to an end. Failure to participate in the Discussion Assignment by posting in the Discussion Forum and responding to peers as required may result in failure of the course.

Written Assignments & Assessment Forms
Most units in this course require that you complete a Written Assignment, which may come in many forms (case study, research paper, etc.). You are required to submit your assignments by the indicated deadlines and, in addition, to peer assess three (3) of your classmates’ assignments according to the instructions found in the Assessment Form, which is provided to you during the following week. During this peer assessment period, you are expected to provide details in the feedback section of the Assessment Form, indicating why you awarded the grade that you did to your peer. Please note that each assignment grade is comprised of a combination of your submission (90%) and your peer assessments (10%). Failure to submit Written Assignments and/or Assessment Forms may result in failure of the course.

Group Activities
During this course, you will be required to complete work as part of a small group. Group work is an important component of your coursework, as it allows you to deepen relationships with classmates, and gain a more thorough understanding of the topics presented in this course. Further, group work mimics the business environment in which projects are often conducted in small teams across different departments. You will be randomly assigned to your groups and are expected to work with your teammates throughout the term for all group activities.

Reflective Portfolio Activities
Portfolio Activities are tools for self-reflection and evaluation within the context of the course. These activities are designed as a means to document and critically reflect upon your learning process. Activities you develop for this course will be kept in your Research and Practice Portfolio and will be important as you progress towards the final courses in your program, particularly the Advanced Practice and Capstone courses.  Ideally, you will draw from your coursework and experiences, as well as what you’ve learned in other courses, and your own current teaching practice to showcase your overall growth and examine ways in which you can continue to develop and sharpen your research interests and expand your cadre of instructional methods.

Course Forum
The Course Forum is the place to raise issues and questions relating to the course. It is regularly monitored by the instructors and is a good place to meet fellow students taking the same course. While it is not required to participate in the Course Forum, it is highly recommended.


Course Policies:

Grading Components and Weights
Each graded component of the course will contribute some percentage to the final grading scale, as indicated here:

Discussion Assignments  30%
Written Assignments    35%
Reflective Portfolio Activities
 45%
TOTAL  100%


Grading Scale
This course will follow the standard 100-point grading scale defined by the University of the People, as indicated here:

Letter Grade                      
Grade Scale Grade Points
A+ 98-100 4.00
A 93-97 4.00
A- 90-92 3.67
B+ 88-89 3.33
B 83-87 3.00
B- 80-82 2.67
C+ 78-79 2.33
C 73-77 2.00
C- 70-72 0.00
D+ 68-69 0.00
D 63-67 0.00
D- 60-62 0.00
F Under 60 0.00
CR N/A N/A
NC N/A N/A
NF N/A N/A
W N/A N/A



Grade Appeal

If you believe that the final grade you received for a course is erroneous, unjust, or unfair, please contact your course instructor. This must be done within seven days of the posted final grade. For more information on this topic, please review the Grade Appeal Procedure in the University Catalog.

Participation
Non-participation is characterized by lack of any assignment submissions, inadequate contributions to the Discussion Forums, and/or lack of peer feedback to Discussion/Written Assignments. Also, please note the following important points about course participation:

  • Assignments must be submitted on or before the specified deadline. A course timeline is provided in the course schedule, and the instructor will specify deadlines for each assignment.
  • Any student showing non-participation for two weeks (consecutive or non-consecutive) is likely to automatically fail the course.
  • Occasionally there may be a legitimate reason for submitting an assignment late. Most of the time, late assignments will not be accepted and there will be no make-up assignments.
  • All students are obligated to inform their instructor in advance of any known absences which may result in their non-participation.

Academic Honesty and Integrity
When you submit any work that requires research and writing, it is essential to cite and reference all source material. Failure to properly acknowledge your sources is known as “plagiarism” – which is effectively passing off an individual’s words or ideas as your own. University of the People adheres to a strict policy of academic honesty and integrity. Failure to comply with these guidelines may result in sanctions by the University, including dismissal from the University or course failure. For more information on this topic, please review the Academic Integrity Policy in the University Catalog.

Any materials cited in this course should be referenced using the style guidelines established by the American Psychological Association (APA). The APA format is widely used in colleges and universities across the world and is one of several styles and citation formats required for publication in professional and academic journals. Purdue University’s Online Writing LAB (OWL) is a free website that provides excellent information and resources for understanding and using the APA format and style. The OWL website can be accessed here: https://owl.purdue.edu/owl/purdue_owl.html

Code of Conduct
University of the People expects that students conduct themselves in a respectful, collaborative, and honest manner at all times. Harassment, threatening behavior, or deliberate embarrassment of others will not be permitted. Any conduct that interferes with the quality of the educational experience is not allowed and may result in disciplinary action, such as course failure, probation, suspension, or dismissal. For more information on this topic, please review the Code of Conduct Policy in the University Catalog.