VERY IMPORTANT:

Course Description: The purpose of this course is to present the student with the mathematical techniques used for analyzing the time and space performance of computer algorithms.  The focus will be on the practical application of these techniques to designing efficient algorithms.  The following topics will be covered: asymptotic notation, recurrences, lower bounds for worst case and average case, dynamic programming, searching algorithms, sorting algorithms, graph algorithms, and if time allows, parallel algorithms, string matching algorithms.

Textbooks:

It is very important that ALL students have their books from Day 1.

  • “Introduction to Algorithms”, by Cormen, Leiserson, Rivest, and Stein, Third Edition, McGraw Hill
  • “Algorithms in a nutshell”, by Heineman, Police, and Selkow, by O’Reilly, 2008.

Exams: There will be two examinations, some written assignments, homework assignments, quizzes (announced and unannounced — but roughly one quiz every week), two projects, and a presentation.  On of the projects will involve testing an existing library for performance purposes. The other project will involve programming some algorithms and carrying out an analysis on their performance.  For the presentation, students will present an algorithm research paper from a journal or conference, preferably recent.

For more information about the course, please download the syllabus here.

SUMMARY OF IMPORTANT DATES:

  • Information to be posted soon, as the semester starts

ANNOUNCEMENTS:

  • Week 2: No class on Monday: Labor Day / Quiz on Wednesday!
  • Week 1: Quiz on Wednesday

WHAT TO EXPECT — some of this semester’s milestones:

MATERIAL:

ASSIGNMENTS:

  • Week 16: (december 12)
    • FINAL EXAM on Wednesday December 12 from 4pm to 6:45pm.
  • Week 15: (december 3 and 5)
    • Presentations of projects 2
  • Week 14: (november 26 and 28)
  • Week 13: (november 19 and 21)
  • Week 12: (november 12 and 14)
    • Reading assignment: Chapter 26
  • Week 11: (november 5 and 7)
    • Reading assignment: Chapters 22, 23, 24, 25
  • Week 10: (october 29 and 31)
    • Midterm exam on Monday
    • Greedy algorithms on Wednesday (Read Chapter 16)
  • Week 9: (october 22 and 24)
    • Work on dynamic programming problems in teams
    • Review for midterm on Monday October 29
    • Project 1 due on October 25!
  • Week 8: (october 15 and 17)
    • Read Chapter 16 of Introduction to Algorithms
  • Week 7: (october 8 and 10)
    • Read Chapter 15 of Introduction to Algorithms
  • Week 6: (october 1 and 3)
    • Keep reading chapters 4, 5, and 6 from Algorithms in a Nutshell: you need to have it done by the end of Week 6
  • Week 5: (september 24 and 26)
    • Read Chapter 4 of Introduction to Algorithms
    • Homework assignment: Problem 4.1, Problem 4.6
    • Keep reading chapters 4, 5, and 6 from Algorithms in a Nutshell: you need to have it done by the end of Week 6
  • Week 4:
    • Read Chapters 1 and 2 of Algorithms in a Nutshell
    • Read Chapters 2 and 3 of Introduction to Algorithms
    • Homework assignment: Problem 2.1, Problem 3.1, Problem 3.4, Problem 3.6: homework will be randomly checked on Wednesday September 19th in class: have it ready in a file named: LastName.doc, LastName.docx, or LastName.pdf + your file must be readable without any problem of formatting using open office and word if it is an office document; if your name is called, you will have to send it right after that class.
    • Start reading chapters 4, 5, and 6 from Algorithms in a Nutshell: you need to have it done by the end of Week 6
    • Partial quiz solutions for loop invariants
  • Week 3:
    • Problem 2.3 (p.41) due on Thursday September, 13 at 11:59pm via email with email subject: “[CS5350] FirsName LastName: Homework: Problem 2.3”
  • Week 2:
    • Chapter 2 with special attention to the loop invariant
    • Problem 2.3 (p.41) due on Thursday September, 13 at 11:59pm via email with email subject: “[CS5350] FirsName LastName: Homework: Problem 2.3”
  • Week 1:

Additional material:

Note: More information (such as assignments, reminders for due dates, quizzes, exams) will be posted on this page as the semester goes.

Write A Comment

%d bloggers like this: