CS286: Algorithms



->Courses
->CS286
-->Homework
-->Lab 1
-->Lab 2
-->Lab 3
-->Lab 4
->Electronic Submission
->Old Exams
->C++ Examples
->MSVC++ Info
->STL Info
->MFC/GUI Info
->Software
->Tentative Schedule
->Support Forum
->Course Policies

[Courses]
[Rich][Home][Rich]
[PHome]

Spring Quarter 2003

This course extends the study of algorithms introduced in CS-285. Topics include searching, sorting, selection, graph structures, and traversal algorithms. Applications such as dynamic memory management, data compression, optimization problems, and database indexing are also discussed. Laboratory activities include the implementation and comparison of problem-specific algorithms, as well as the use of generic algorithms from the C++ standard library. (prereq: CS-285, SE-280) (2-2-3)

Objectives

On successful completion of this course, the student will:

  • Be able to use generic algorithms from the STL and implement additional generic algorithms.
  • Be able to apply asymptotic time complexity analysis to choose among competing algorithms.
  • Understand how sorting algorithms such as heapsort and quicksort work.
  • Understand how graph and tree structures are implemented.
  • Be familiar with engineering applications for many of the fundamental algorithms discussed in the course.
  • Be familiar with dynamic programming.

The above course description and goals were taken from the official course description.

General Course Policies

Please review the general course policies webpage.

Textbook

Introduction to Algorithms e/2, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, MIT Press and McGraw-Hill, 2001. (errata list)

My Schedule

Time Mon Tue Wed Thu Fri
10:00         Fac Sen
11:00 CS286 CC48 CS286L CC48 CS286 CC48 Tech Mtg
12:00 EEC Lunch w/ Students* Office Hour
1:00 Dept Mtg Office Hour
2:00   Office Hour GE110 Development
3:00 CS285 CC27
4:00 CS499 CC48 CS183 CC48 CS183 CC48
5:00  
6:00  

* I would like to have lunch with you individually or as a group to get to know you better. If we eat in RWJ, housing will pick up my lunch bill. If you would prefer to eat elsewhere, we will each be responsible for our own bill. Feel free to suggest another time if the time above does not work for you.

PSP

You will be required to complete the PSP spreadsheet for each lab assignment. The spreadsheet filename should begin with your MSOE login. In addition, you should make a hyper-link to the spreadsheet from within your report. This can be done with the following line:

<a href="286taylorPSPL1.xls">PSP data for lab 1</a>
A zip archive containing the spreadsheet and your report (and any additional files) should be created and submitted using the submission webpage

Homework

Homework assignments will be given throughout the quarter. You are encouraged to work on the homework in groups, but you should not turn in any solutions that you do not understand completely (I may quiz you on what you submit). At least 25% of the midterm and final will be problems from the homework or directly related to homework problems.

Each problem will be graded on the following scale:

  • -3 points: substantially incorrect
  • 0 points: minor mistakes, unorganized, or unclear
  • 3 points: Clearly presented and correct
When calculating your final grade, I will add your average homework problem score to your lab/exam grade. For example, suppose your grade for all exams and lab assignments is 86.3%. If you do not turn in any homework, your final grade will be 83.3% (BC). If you submit correct and clearly presented solutions to all of the problems, your final grade will be 89.3% (AB).

Grading

Lab projects:

50%

Midterm Exam (April 10):

25%

Final exam:

25%

Total:

100%

Note: your exam scores must average above 50% in order to pass this course.

Tentative Schedule

© 2001-2003 Dr. Christopher C. Taylor Office: CC-27C Phone: 277-7339 Last Updated: Mon Mar 10 09:59:01 2003
I am responsible for all content posted on these pages; MSOE is welcome to share these opinions but may not want to.