CS286: Algorithms

-->Lab 1
-->Lab 2
-->Lab 3
-->Lab 4
->Electronic Submission
->MSVC++ Info
->STL Info
->MFC/GUI Info
->Tentative Schedule
->Course Policies


Spring Quarter 2001

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)


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.


Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest, McGraw-Hill, 1990.

My Schedule

Time Mon Tue Wed Thu Fri
8:00         CS183 CC48
10:00 CS183 CS183 CS183
11:00 Office Hour Office Hour CS286 CC51 Lunch w/ Students* XX
12:00 EEC CS286 CS286
1:00 DEPT MTG   Office Hour  
2:00 Office Hour Fac Senate CS183 CC48 Office Hour
3:00 Office Hour
4:00 CS183 CS183 CS183

* 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... perhaps breakfast, if the time above does not work for you.


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="taylorPSPLab1.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 assignments will be given throughout the quarter. Students will be randomly selected (typically at the beginning of lab, but potentially during lecture) to present their solution to a given homework problem. Your homework grade will be based on your ability to clearly present your solution. Each student will be given one "pass" in which they may decline to present.




Lab projects:


Mid-Term Exam (April 6):


Final exam:




Tentative Schedule

© 2001 Dr. Christopher C. Taylor Office: CC-27C Phone: 277-7339 Last Updated: March 7, 2001
I am responsible for all content posted on these pages; MSOE is welcome to share these opinions but may not want to.