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 AddisonWesley, 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 processjust 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 mindnumbing 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) 
