Following Stevens' guidelines on the coronavirus emergency (COVID-19), all course materials will be offered online, starting Mar 11.
Instructor | Susan (Xueqing) Liu (xueqing.liu AT stevens DOT edu) |
Meeting |
|
Susan's Office Hour |
|
CAs |
|
Recitations |
|
This course is an introductory-level course for preparing undergraduate students at Stevens with the fundamental knowledge on data structures. Data structures are ways to organize information in the computer memory, making it more efficient to store, update and retrieve information. Upon finishing the course work, students are expected to achieve a good understanding on data structure, object-oriented programming, algorithm efficiency, etc; they should be capable of implementing basic data structures including lists, stacks, queues, binary trees, as well as fundamental algorithms including sorting, Hashing, and self-balancing trees. We will use the Java programming language throughout the course. The students are expected to be practice a significant amount of coding, in both computer and paper. This course has a prerequisite course CS 115 (Introduction to CS) and a co-requisite course CS 135 (Discrete Structures).
Learning Goals: Upon successful completion of this course, students should be able to:
Textbook: Objects, abstraction, data structures and design using Java. Elliot B. Koffman and Paul A.T. Wolfgang.
Date | Slides/Readings | Code | Recitation | Homework/Exams |
---|---|---|---|---|
Week of Jan 21 | Eclipse installation:
|
Quiz 1 | ||
Week of Jan 27 | Java OOP:
|
|
||
Week of Feb 3 |
|
|
Algorithmic efficiency:
|
|
Week of Feb 10 | More on two sum, list:
|
|
||
Week of Feb 17 |
|
Ordered-linked lists:
|
|
|
Week of Feb 24 | Quiz 4 retake (on laptop):
|
|
||
Week of Mar 2 |
|
Review for midterm:
|
|
|
Week of Mar 9 |
|
|
Feedback for Midterm Part 2:
|
|
Week of Mar 23 |
|
Optimality of Huffman Tree:
|
|
|
Week of Mar 30 | Quiz 5:
|
|
||
Week of April 6 |
|
|
||
Week of April 13 | Merge sort:
|
|
||
Week of April 20 | Bloom filter:
|
|
||
Week of April 27 |
|
|
|
|
Week of May 4 |
|
|
|
|
Week of May 11 |
|
|
|
|
Homework | 30% |
In-class quizzes | 10% |
Midterm | 20% |
Endterm | 20% |
Final | 20% |
Late Policy: submit within 24 hours of deadline - 90%, within 48 hours - 70%, over 48 hours - 0 point, 0 if code not compile
Academic Integrity: Students must follow the instructions from the (Stevens Honor system). This course will have a zero-tolerance policy regarding plagiarism. You should complete all the assignments and quizzes on your own. You can help your classmates with questions such as how to use the programming language, what the library classes or methods do, what the errors mean, and how to interpret the assignment instructions. You are encouraged to come to both the instructor and the CAs' office hours regarding any questions you have, or email your questions to both the instructors or the CAs. However, you may not give or receive help from others (except the CA) with the actual implementation or answers for any of the assignments or tests. Do not show or share your code with others, and do not view or copy source code from others. For the same reason, you are not allowed to copy and paste a code snippet you found online in the assignments. All electronic work submitted for this course will be archived and subjected to automatic plagiarism detection. Whenever in doubt, please seek clarifications from the instructor. Students who violate the academic intergrity principle of Stevens will be immediately reported to the department and the school (which could leave a permanent mark on the transcript).
If you need special accommodations because of a disability, please contact the instructor through emails.