Teaching Assistant:
Teli Yin: tyin1@stevens.edu
(Please feel free to ask Teli homework questions by emailing him.)
Data structures and computer algorithms are the building blocks in computer programming. This course will give students a comprehensive introduction of common data structures, and algorithm design and analysis.
E115 Introduction to Programming
or
Knowledge
of C++ programming
Data Structures and Algorithm Analysis in C++, Mark Allen Weiss, 3rd Edition, Published by Addison-Wesley, 2006.
Students are expected to attend all lectures and perform all reading assignments in the textbook. Students will be evaluated according to their performance on class attendance, homework, quiz, midterm and final exam.
Cheating on homework and exams will not be tolerated. We want to protect the fairness and integrity of the class, so we run code similarity detectors on the homework and scrutinize exams for copying. Both parties in the exchange are liable; e.g. if you give away solutions to friends, you're putting yourself at risk too. If you get caught, it's a nasty process---just don't go there! You're better off dropping the course and trying it again.
That said, we do encourage you to talk to your classmates, provided you follow the Gilligan's Island Rule. After a joint discussion of an assignment or problem, each student should discard all written material and then go do something mind-numbing for half an hour. For example, go watch an episode of Gilligan's Island (or Reality TV in modern terms), and then recreate the solutions. The idea of this policy is to ensure that you fully understand the solutions or ideas that the group came up with.
[4/13/2010] Quiz 3 is on 4/20 (Tuesday). Quiz 3 will test on heaps and sorting algorithms (selection sort, insertion sort, and bubble sort, and heatsort). No Make up exam. Homework 4 is due on 4/20 (Tuesday).
[3/16/2010] Homework 3 is posted and due on 3/30 (Tuesday).
[3/11/2010] Midterm is on 3/23 (Tuesday). Midterm will test on algorithm analysis, ADT, and trees. No make up exam.
[03/08/2010] Quiz 2 is on 3/11 (Thursday). Quiz 2 will test on algorithm analysis and ADT. No make up exam.
[02/03/2010] Homework 1 is due on 2/11 (Thursday). Please email your homework 1 to tyin1@stevens.edu. Quiz 1 is on 2/11 (Thursday). Quiz 1 will be focused on C++ programming review. No make up exam.
[02/14/2010] Homework 2 is due on 2/25 (Thursday).
Dates | Theme | Topics | Readings | Assignments |
Week 01 (1/19 - 1/22) |
Review | - C++ programming | Chapter 1 | Nothing yet, enjoy ... |
Week 02 (1/25 - 1/29) |
Review | - C++ programming - Useful mathematics |
Chapter 1 | Homework 1 posted |
Week 03 (2/1 - 2/5) |
Algorithm Analysis | - Algorithm Analysis | Chapter 2 | |
Week 04 (2/8 - 2/12) |
Algorithm Analysis | - Notations - Modeling methods |
Chapter 2 | Homework 1 due on 2/11
Quiz 1 on 2/11 Homework 2 posted |
Week 05 (2/15 - 2/19) |
ADT | - Concepts and Implementation - List, Stack and Queue |
Chapter 3 3.1 - 3.7 |
|
Week 06 (2/22 - 2/26) |
Recurrences |
- Master Method - Master Theorem |
Cormen book 4.1, 4.3 |
Homework 2 due on 2/25 |
Week 07 (3/1 - 3/5) |
Trees | - Binary Trees | Chapter 4 4.1 - 4.2 |
|
Week 08 (3/8 - 3/12) |
Trees | - Binary Search Trees | Chapter 4 4.3 |
Quiz 2 on 3/11 |
Week 09 (3/15 - 3/19) |
Spring break | |||
Week 10 (3/22 - 3/26) |
Hashing |
- Hash Function |
Chapter 5 5.1 - 5.4 |
|
Week 11 (3/29 - 4/2) |
Priority Queues |
- Binary Heaps - Heap Property |
Chapter 6 6.1- 6.3 |
Homework 3 due on 3/30 |
Week 12 (4/5 - 4/9) |
Priority Queues Sorting |
- Heap Construction - Overview of Sorting - Selection Sort |
Chapter 7 7.1 |
|
Week 13 (4/12 - 4/16) |
Sorting |
- Insertion Sort, Bubble Sort - Heapsort, |
Chapter 7 7.2, 7.3 |
|
Week 14 (4/19 - 4/23) |
Quiz 3 on 4/20 Homework 4 due on 4/20 |
|||
Week 15 (4/26 - 4/30) |
||||
Week 16 (5/3 - 5/5) |
|