CS449 - Syllabus-Algorithms & Complexity
CS449 - Syllabus-Algorithms & Complexity
Prerequisite Courses
CS390 Principles of Programming Languages
and
MT360A Calculus I
Course Overview
CS449 covers advanced data structure, algorithms, and algorithm complexity analysis.
Students may require a significant amount of time each week to complete the assignments.
If you are not willing or able to spend the necessary time, please reconsider whether this is the
correct time to attend this class.
Course Outcomes
After completion of this course, the student shall be able to:
Know the big-O, omega, and theta notations and their usage to give asymptotic upper,
lower, and tight bounds on time and space complexity of algorithms.
Evaluate and compare different algorithms using worst-, average-, and best-case analysis.
Demonstrate use of balanced binary tree, heap, priority queue, and graph data structures
and their algorithms.
Describe major algorithmic techniques (divide-and-conquer, greedy method, and
dynamic programming) and understand what type of problem each technique is suitable
for.
Compare and choose the appropriate data structures and algorithmic design techniques
for solutions to real-world problems.
College for Computer & Information Sciences | 3333 Regis Boulevard, Denver, CO 80221 | 303-480-3934 | regis.edu
2017, Regis University Revised: 01/01/2017 Page 1 of 5
Explain the difference between tractable and intractable problems, and identify the basic
complexity classes, such as P, NP and NP-complete.
Course Materials
Required Text:
Goodrich, M.T. & Tamassia, R. (2015). Algorithm Design and Applications. John Wiley & Sons.
ISBN-10: 1118335910 and ISBN-13: 978-1118335918.
Technology Tools:
1. A PC-compatible computer system running a version of the Windows operating system,
and administrator rights to install new software.
2. Java Development Kit (JDK) with NetBeans, which can be installed from:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Pre-Assignment
Complete the following tasks:
Students will read the first week's assigned reading in the textbook (listed in the Course
Assignments grid on the next page) before the day of class. Be prepared to ask questions on
unclear areas and to respond to questions about information in the assigned reading.
Online Format: Sign on to WorldClass and become familiar with the course navigation of
the Web Curriculum.
Total 100%
*Note to Classroom sections only: Exact dates for reading assignments and
programming assignments may differ from the above grid. The faculty syllabus, handed
out the first night of class, will indicate any changes.
Summary of Assignments and Percentage Weight towards course grade
Value
Assignment (percent of overall course grade)
Homework Assignments
(7 assns @ 8% each)
54%
Total for all Homework Assns
Midterm Exam 18%
Final Exam 18%
Participation 10 %
Course Total 100 %
Homework Assignments
Each assignment will involve solving problems, tracing algorithms, and writing programs that
implement the concepts discussed in the online content and the textbook.
Exams
There will be a midterm exam and a final exam. Exam questions will be cumulative, taken from
reading assignments and course content. Exams will not be accepted late.
Online Sections:
See your instructors syllabus for Online Weekly Discussion points distribution
and Rubrics that will be used for grading discussion questions and test cases.
Course Policies and Procedures
Additional information about grading can be found in the latest edition of the
University Catalog, available at
http://www.regis.edu/Academics/Course%20Catalog.aspx.