Bryn Mawr College
CMSC 330 Algorithms: Design & Practice
Spring 2016
General Information | Syllabus and Schedule | Required Textbooks |
Course
Policies |
Reference Links |
Instructor: | David G. Cooper |
E-Mail: |
dgc@cs.brynmawr.edu
When you e-mail me, make sure you put "CS330" at the start of the subject line to ensure a quicker response. |
Lecture Hours: Tuesdays & Thursdays, 2:25pm to 3:45pm
Room: Park 337
Please note: You may be able to find electronic versions of each of these as a PDF or ebook for a lower price. These can be great as a reference, in a pinch, but to really delve into the material, having a paper copy can be very useful.
|
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: Prerequisite: CS206 and CS231.
January 19 : First lecture
April 28: Last Lecture
Week | Date | Topic |
Reading Completed |
Assignments |
Comments |
---|---|---|---|---|---|
1 |
01/19 |
Course introduction, logistics, overview. |
________________
|
slides worksheet |
01/21 |
Discussion: Algorithm
Design vs. Algorithm Practice vs. Algorithm Analysis Presentations of Worksheet 1 algorithms: Calla*, Rachel, and Claire: Anagram search Kalina*, Nora, and Neshka: Missing value search Jordan*, Hanna, and Clare: Missing value search |
Cormen: Ch 1 MacCormick: Ch 1 |
blackboard notes |
2 |
01/26 |
Discussion: Nine
algorithms that changed the future. |
Bentley: Ch 1 |
Start:
HW 1
|
blackboard notes |
01/28 |
Discussion:
Describing and Evaluating Algorithms Presentation of Worksheet 1 algorithm B: Tu: Rotation recursive algorithm. Last rotation from Pearl 2. |
Cormen: Ch 2 |
slides blackboard notes | ||
3 |
02/02 |
Presentation:
Search Engine Indexing, Sarah
|
| Submit: HW 1 Start: HW 2 |
|
02/04 |
Presentation:PageRank, Ziting and Rachel |
Bentley: Ch. 2
|
|
|
|
4 |
02/09 |
Presentation:Public Key Cryptography, Samantha and Xuan |
Bentley: Ch. 3 & 4
|
|
|
02/11 | Presentation & Discussion: HW 2, Sorting Large Files, Tu |
|
Submit: HW 2
Start: HW 3 |
|
|
5 |
02/16 |
Presentation:
Pattern Recognition (Nearest Neighbor, Decision Trees, Neural
Networks), Calla & Nora
|
MacCormick: Ch. 6
|
|
|
02/18 |
Discussion:
Plots, Bongard Classes: design for first 9 classes.
|
Bentley: Ch. 5 & 6
|
|
||
6 |
02/23 |
Community Day of Learning (no class!)
|
MacCormick: Ch. 7
|
|
|
02/25 |
Presentation:
Data Compression, Rebecca
Discussion:
Databases, Kalina & Neshka
|
MacCormick: Ch. 8
|
Submit: HW 3
|
|
|
7 |
03/01 |
Discussion:
Writing, More Bongard Problems
|
Zobel: Ch. 5, pg. 51-62 |
Start: HW 4
|
|
03/03 |
Discussion:
Writing, More Bongard Problems
|
Zobel: Ch. 13, pg. 191-196 |
|
||
|
03/08 | Spring Break |
|
|
|
03/10 | Spring Break |
|
|
||
8 |
03/15 | Discussion: Error Correcting Codes, by Jordan |
MacCormick: Ch. 5
|
|
|
03/17 | Discussion: Expectation Maximization (EM) |
| |||
9 |
03/22 |
Discussion:
K-Means Assignment Presentation, Mary & Hanna
|
Submit: HW 4
|
|
|
03/24 | Discussion: Digital Signatures, Aviva and Kara |
MacCormick: Ch. 9
| Start: HW 5 |
|
|
10 |
03/29 |
Discussion:
Sorting algorithms: Selection Sort (Calla), Insertion Sort(Kalina),
Merge Sort (Samantha), Quick
Sort (Xuan).
|
Cormen: Ch. 3 | Counting steps map (click for larger image): |
|
03/31 |
Discussion:
Counting Sort and Radix Sort (Rachel and Tu)
|
Cormen: Ch. 4 |
|
||
11 |
04/05 |
Discussion:
HW 5 Finding Names (Sarah and Clare)
|
| Submit: HW 5 |
|
04/07 |
Discussion:
Directed Acyclic Graphs and Topological sort (Nora and Hanna)
|
Cormen: Ch. 5
|
|
|
|
12 |
04/12 |
Discussion:
DAG and Naive Bayes Classification (Neshka and Kara)
|
Read:DAG |
|
|
04/14 | Discussion: Dijkstra's Shortest Paths (Jordan and Rebecca) |
Cormen: Ch. 6
| Start: Project 6 |
|
|
13 |
04/19 |
Discussion:
Bellman-Ford algorithm (Ziting and Clare)
|
Cormen: Ch. 6
|
|
|
04/21 |
Discussion:
|
Book: |
| ||
14 |
04/26 |
Discussion:Greedy Algorithms and
Interval Scheduling, Aviva and Mary
|
Book: |
Submit: Project 6 (NO LATE SUBMISSIONS WILL BE ACCEPTED!!!) |
|
04/28 |
|
|
|
||
FINALS WEEK |
05/03 |
|
|
|
|
Communication
Punctual Attendance and active participation are
expected in every class. Anyone arriving later than the start
time, 2:25pm, 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, phone call 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.
Grading
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 Assignments: | 50% |
Presentations: | 20% |
Class Participation and Attendance: | 30% |
Total: | 100% |
Incomplete grades will be given only for verifiable medical
illness or other such dire circumstances.
All graded work will receive a percentage grade between 0% and
100%. Here is how the percentage grades will map to final
letter grades:
Rounded Percentage |
Letter grade |
Rounded Percentage | Letter grade | |
97% -100% |
A+ (4.0) |
77% - 79% | C+ (2.3) | |
93% - 96% | A (4.0) | 73% - 76% | C (2.0) | |
90% - 92% | A- (3.7) | 70% - 72% | C- (1.7) | |
87% - 89% | B+ (3.3) | 67% - 69% | D+ (1.3) | |
83% - 86% | B (3.0) | 60% - 66% | D (1.0) | |
80% - 82% | B- (2.7) | 0% - 59% | F (0.0) |
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. 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.Late submissions will receive a penalty of 20% for every 0-24 hours it is past the due date and time (e.g., assignments turned in 25 hrs late will receive a penalty of 40%).
Study Groups
I encourage you to discuss the material and work together to understand it. Here are some thoughts on collaborating with other students: