Instructor: Dr. Teresa Leyk
Office: Richardson Bldg. 901E
phone: 845-4456
e-mail: teresa@cs.tamu.edu
Course web page: (all information about the course will be there):
http://courses.cs.tamu.edu/teresa/cpsc311/cpsc311-index.html
Class Time MWF 9:10–10:00 am, 105B ZACH
Office Hours: MWF 10:15–11:15 am, other times by appointment.
TA: Thomas George
TA’s E-mail: tgeorge@cs.tamu.edu
TA’s Office Hours: MTWR - 11:30-12:30 pm
PT: Jonthatan Leake
PT’s E-mail: jona527than@neo.tamu.edu
PT’s Office Hours: MW 1:40-2:40 pm 128D ZACH, TR 9:50-10:50 pm 214 HRBB, F 1:40-2:40 pm 214 HRBB.
Course Description: Credit 3. Design of computer algorithms for numeric and non-numeric problems, relation of data structures to algorithms; analysis of time and space requirements of algorithms; complexity and correctness of algorithms.
Prerequisite: CPSC 211 (Data Structures), C/C++ programming language and Math 302 (Discrete Mathematics).
Required Textbook: T. H. Cormen, C. E. Leiserson,
R. L. Rivest, and C. Stein “Introduction to Algorithms”,
2nd ed., McGraw-Hill, 2001.
Learning Objectives: At the end of this course students will be able to:
Course Content:
Grading: Your grade will be determined based on homework assignments, quizzes, mid-term exams and the final exam. Exams and quizzes are closed book. All homework assignments will be announced in class and posted on the course web page. There will be two types of homework assignments: individually written and two group projects each of them will contain a programming part. You can get 100 points for each written assignment and 200 points for each project. All programs must be written in Standard C or C++, compiled and run on the Unix CS machines and transferred to a course directory for grading using the turnin program. Each project will be graded focusing on: algorithm design and its implementation; 40%; its correctness and tests: 30%; and typed report with comparison between theory and a computational experiment: 30%. A late homework assignment will be accepted up to four working days with a 5% penalty for each late day. There are no make-up quizzes or exams. Please discuss unusual circumstances in advance with the instructor.
Grading Scale: Grades will be assigned according to the following scheme:
90% –100% –> A, 80% – 89% –> B, 70% – 79% –> C, 60% – 69% –> D, 0% – 59% –> F
| No | date | day | topic | Chap. | homework | quiz | wk |
| 1 | Aug. 25 | Mon | Introduction | 1 | 1 | ||
| 2 | Aug. 27 | Wed | Examples of different type of algorithms | 2,3 | HW 1 | 1 | |
| 3 | Aug. 29 | Fri | Classification of algorithms | 2,3 | quiz 1 | 1 | |
| 4 | Sep. 01 | Mon | Asymptotic Notations of Algorithms | 3,4 | P1 | 2 | |
| 5 | Sep. 03 | Wed | Asymptotic Notations of Iterative Algorithms | 3,4 | HW 2 | 2 | |
| 6 | Sep. 05 | Fri | Recursive algorithms | 6 | quiz 2 | 2 | |
| 7 | Sep. 08 | Mon | Solving Recurrences | 7 | 3 | ||
| 8 | Sep. 10 | Wed | Solving Recurrences | 7 | HW 3 | 3 | |
| 9 | Sep. 12 | Fri | Comparison based Sorting Algorithms | 8 | quiz 3 | 3 | |
| 10 | Sep. 15 | Mon | Sorting in Linear Time | 8 | 4 | ||
| 11 | Sep. 17 | Wed | Sorting in Linear Time | 9 | 4 | ||
| 12 | Sep. 19 | Fri | Order Statistics | 9 | quiz 4 | 4 | |
| 13 | Sep. 22 | Mon | Order Statistics | 11 | P2 | 5 | |
| 14 | Sep. 24 | Wed | Exam 1 | 11 | HW 4 | 5 | |
| 15 | Sep. 26 | Fri | Hashing | 10 | quiz 5 | 5 | |
| 16 | Sep. 29 | Mon | Hashing | 12 | 6 | ||
| 17 | Oct. 01 | Wed | Binary Search Trees | 6 | |||
| 18 | Oct. 03 | Fri | AVL Trees | 6 | |||
| 19 | Oct. 06 | Mon | Red-Black Binary Trees | 13 | 7 | ||
| 20 | Oct. 08 | Wed | Red-Black Binary Trees | 13 | 7 | ||
| 21 | Oct. 10 | Fri | Introduction to Graphs | 22 | HW 5 | quiz 6 | 7 |
| 22 | Oct. 13 | Mon | Graph Search Algorithms | 22 | 8 | ||
| Midterm | |||||||
| 23 | Oct. 15 | Wed | Graph Search Algorithms | 22 | 8 | ||
| 24 | Oct. 17 | Fri | Topological Sort Algorithm | 22 | HW 6 | quiz 7 | 8 |
| 25 | Oct. 20 | Mon | Strongly Connected Components | 22 | 9 | ||
| 26 | Oct. 22 | Wed | Exam 2 | 9 | |||
| 27 | Oct. 24 | Fri | Single-Source Shortest Paths | 24 | quiz 8 | 9 | |
| 28 | Oct. 27 | Mon | Single-Source Shortest Paths | 24 | HW 7 | 10 | |
| 29 | Oct. 29 | Wed | Single-Source Shortest Paths | 23 | 10 | ||
| 30 | Oct. 31 | Fri | Minimum Spanning Tree | 23 | quiz 9 | 10 | |
| 31 | Nov. 03 | Mon | Minimum Spanning Tree | 21 | 10 | ||
| 32 | Nov. 05 | Wed | Operations on Disjoint Sets | 21 | 11 | ||
| 33 | Nov. 07 | Fri | Operations on Disjoint Sets | HW 8 | 11 | ||
| 34 | Nov. 10 | Mon | All-Pairs Shortest Paths | 25 | P 3 | 11 | |
| 35 | Nov. 12 | Wed | All-Pairs Shortest Paths | 25 | 12 | ||
| 36 | Nov. 14 | Fri | Dynamic Programming | 15 | quiz 10 | 12 | |
| 37 | Nov. 17 | Mon | Dynamic Programming | 15 | 12 | ||
| 38 | Nov. 19 | Wed | Introduction to NP-Completeness | 26 | 13 | ||
| 39 | Nov. 21 | Fri | Introduction to NP-Completeness | 34 | 13 | ||
| 40 | Nov. 24 | Mon | Exam 3 | 13 | |||
| 41 | Nov. 26 | Wed | Approximation algorithm | 35 | 14 | ||
| Nov. 28 | Fri | No classes | 14 | ||||
| 42 | Dec. 01 | Mon | Review | 14 | |||
| 43 | Dec. 08 | Mon | Final exam 8 – 10 am | 15 |