CS 458 Data Structures and Algorithms II - Syllabus

Term and Credits

Winter 2015-2016
3 Credits

Room and Time

Tuesday, Thursday 9:30am - 10:50am
UC 153


Mark Boady
Electronic Mail Address: mwb33@drexel.edu
Office: University Crossings 138
Extention: 215-895-2347
Office Hours: Tuesday 4-5pm, Thursday 11am-1pm, 4-5pm, Wed: By Appointment

Teaching Assistant(s)

Alexander Duff
Electronic Mail Address: amd435@drexel.edu
Office: Drexel CLC UC 152
Office Hours: Tuesday 2pm-4pm

Course Description

This course presents algorithm design techniques such as dynamic programming, greedy methods, divide and conquer; more graph algorithms for minimum spanning trees, shortest paths, and network flows; string matching algorithms; NP-Completeness and approximation algorithms.

Course Objective and Goals

  1. Learn to analyze algorithms and data structures
  2. Learn algorithms for manipulating and analyzing graphs.
  3. Learn the difference between P, NP, NP-co, and NP-hard problems.
  4. Learn to prove which group a given problem is part of.

Audience and Purpose within Plan of Study

This is a track computer science course required by Computer Science students taking the Data Structures and Algorithms Track.


What Students Should Know Prior to this Course

  1. Students should have advanced experience programming in mutliple languages
  2. Familiarity with basic data structures such as trees, arrays, and graphs.
  3. Familarity with Descrete Mathematics and working with series summations.

What Students will be able to do upon Successfully Completing this Course: Statement of Expected Learning

  1. Students will be able to analyze algorithms.
  2. Students will understand a set of fundamental algorithms and how to apply them.
  3. Students will be able to determine which problems are hard (non-polynomial) and which can be solved in polynomial time.


Introduction to Algorithms, 3rd Edition
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
ISBN-10: 0262033844
ISBN-13: 978-0262033848
See it on Amazon
Note: If you choose to use the Second Edition, it is your responsibility to ensure all content is the same. Copies of Third Edition are available in the CLC and Library. You WILL NOT get a free pass for answering the wrong questions

Grading and Policies

Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.

Academic Honesty Policy

The CCI Academic Honesty policy is in effect for this course. Please see the policy at http://drexel.edu/cci/resources/current-students/undergraduate/policies/cs-academic-integrity/ .

Submitting Assignments

Assignments will be submitted to learning.drexel.edu by 11:59PM on the date they are due. Grades will be reported via learning.drexel.edu.

Labs, and assignments, and exams will be returned on a regular basis to provide feedback to students.

Each student has 2 late days they may use at any time during the term. No penalty will be given for assignment submitted using these days. The student MUST email the TA BEFORE the due date for the assignment and to inform him that a late day is being used.

Once both late days have been used, no additional late assignments will be accepted. Exceptions to this requirement may be given at the Professor's sole discretion.

Late days may be used together, to submit one assignment two days late or seperately to submit two assignments 1 day late each. Students may not break up a late day, for example submiting one assignment 6 hours late and one 18 hours late. Requesting use of a late day gives the student 24 extra hours from the deadline to submit the assignment


  1. All Pairs Shortest Path
  2. Flow Networks
  3. Hashing
  4. P vs NP
  5. Approximation Algorithms

Computer/Software Help
iCommons: http://drexel.edu/cci/about/our-facilities/rush-building/iCommons/

University Policies
In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:

Tentative Course Schedule

Please see the appropriate assignment, lab, and/or project webpages for a tentative schedule of course deliverables.

Week Topic Reading Assignment
1 Amortized Anaylsis Chapters 17, 19
2 All Pairs Shortest Path Chapter 25  
3 Flow Networks Chapter 26 HW1 Due Friday 11:59PM
4 Flow Networks Chapters 26  
5 Hashing Chapter 11 HW2 Due Friday 11:59PM
6 Midterm   Review Tuesday
Test Thursday
7 NP-Completeness Chapter 34.3  
8 NP Reductions Chapter 34.4 HW3 Due Fridat 11:59PM
9 NP Reductions Chapter 34.5  
10 Approximation Algorithms Chapter 35 HW4 Due Friday 11:59PM
11 Final