Bryn Mawr College
CMSC 330 Algorithms: Design & Practice
Spring 2017
Course Materials
Prof. Deepak Kumar

Texts  Important Dates  Assignments  Lectures Course Policies Links

General Information


Deepak Kumar
246-B Park Science Building
dkumar at brynmawr dot edu

Lecture Hours: Tuesdays & Thursdays, 11:25a to 12:45p
Room: Park 336
Lab: Fridays 10:00a to Noon in Room 231 (Attendance in ALL labs is required)
Office Hours: Tue 9:25a to 11:00a or by appointment.


Required Texts

Algorithms Unlocked by Thomas Cormen, MIT Press 2013. Available at the Campus Bookstore ($27.00 - new, $19.00 - used). Also at for $24.48 click here.

Nine Algorithms That Changed The Future by John MacCormick, Princeton University Press, 2013. Available at the Campus Bookstore ($15.00 - new, $10.75 - used). Also available at for $12.40 click here.


Course Description:This course examines the applications of algorithms to the accomplishments of various programming tasks. The focus will be on understanding of problem-solving methods, along with the construction of algorithms, rather than emphasizing formal proving methodologies. Topics include divide and conquer, approximations for NP-Complete problems, data mining and parallel algorithms. Prerequisites: CS206 and CS231. This is a Writing Intensive (WI) course.

Important Dates

January 17: First lecture
April 27: Last Lecture


Unless explicitly specified, all assignments are due at the beginning of the class (BY 11:30a sharp) on the date due. No credit will be awarded for any late work.

  1. Lab#1 Write-up (Due in class on Thursday, January 26): Language Standards, Reference Compilers, Programming Pitfalls
  2. Lab#2 Write-up (Due in class on Thursday, February 2): Linear Search Algorithms: Performance Comparison.
  3. Lab#3 Write-up (Due in class on Thursday, February 9): How many FLOPS?
  4. Lab#4 Write-up (Due in class on Thursday, February 23): Quicksort versus Hybrid Quicksort versus Library sort() versus Dual Pivot Quicksort.
  5. Lab#5 Answers (Due in class on Tuesday, February 21): Special Hell Week (WTF) Edition.
  6. Lab#6 Write-up (Due in class on Thusrday, March 2): Anagram search.
  7. Lab#7 (Due at the end of Lab today):
  8. Lab#8 (Due in class on Tuesday, March 21): Graph Search: The W-O-M-A-N Puzzle.
  9. Lab#9-10 (Due in classon Thursday, April 6): Soundex, Metaphone, Phonetic Anagrams, and Homophones.
  10. Lab#11: (Due on Thursday, April 13): Dijkstra's Shortest Path Algorithm
  11. Lab#12: (Due on Thursday, April 20): Implementing LZW Algorithm
  12. Lab#13: (Due on Thursday, April 27): Cryptographic Hash Functions


Course Policies


Punctual Attendance and active participation are expected in every class. Anyone arriving later than 11:25a will be considered absent for that class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments. 30% of your course grade (see below) is based on attendance & participation.

As you will discover, I am a proponent of two-way communication and I welcome feedback during the semester about the course. I am available to answer student questions, listen to concerns, and talk about any course-related topic (or otherwise!). Come to office hours! This helps me get to know you. You are welcome to stop by and chat. There are many more exciting topics to talk about that I won't have time to cover in-class.

Please stay in touch with me, particularly if you feel stuck on a topic or project and can't figure out how to proceed. Often a quick e-mail, or face-to-face conference can reveal solutions to problems and generate renewed creative and scholarly energy. It is essential that you begin assignments early.


All graded work will receive a grade, 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7, 1.3, 1.0, or 0.0. At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:

Labs & Written Work: 35%
Presentations: 35%
Class Participation & Attendance: 30%
Total: 100%

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances. Please have any instances of medical illness or dire circumstances communicated to me thorugh your Dean.

Submission, Late Policy, and Making Up Past Work

All work must be turned in either in hard-copy or electronic submission, depending on the instructions given in the assignment.  E-mail submissions, when permitted, should request a "delivery receipt" to document time and date of submission.  Extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance and supported by your Academic Dean.

No assignment will be accepted after it is past due.

No past work can be "made up" after it is due.

No regrade requests will be entertained one week after the graded work is returned in class.

Study Groups

I encourage you to discuss the material and work together to understand it. Here are some thoughts on collaborating with other students:

If you have any questions as to what types of collaborations are allowed, please feel free to ask.



Created on January 11, 2017.