Data Structures
CSCI-UA 0102-001 (Honors), 002
Monday and Wednesday 11:00-12:15
Room WWH 109
Professor Ernest Davis
Reaching Me
- phone: (212) 998-3123
- office: 329 Warren Weaver Hall
- Office hours: Tuesday 10-12, Thursday 3-4, or by appointment.
- Email:
Registration
Students who are taking this course for honors should register for section
001. Students who are not should register for section 002.
Recitation
The recitation section is section 003 of this course: CSCI-UA.0102-003.
It will meet Monday, 3:30-4:45, WWH 109.
Be sure to register
for this section in addition to 001/002.
The recitation instructor is Marianna Constantinou.
Marianna will hold office hours Thursday 5:30-6:30 in WWH 412
Monish Vachhani will hold office hours Wednesdays 4:00-5:00 in WWH 412.
Prerequisites: CSCI-UA 0101, Introduction to Computer Science
Required Textbook:
Object-Oriented Data Structures Using Java,
Nell Dale, Daniel Joyce, Chip Weems
Topics
- Object oriented features in Java
- Abstract methods, interfaces, and generics
- Recursion
- Worst case asymptotic running time analysis
- Abstract Data Types
- Linked lists.
- Iterators
- Stacks
- FIFO Queues
- Trees
- Hashing and hash tables
- Priority Queues
- Sorting
- Graphs
Requirements
Weekly homeworks (10%)
Programming assignments (30%)
Midterm exam (20%)
Final exam (40%)
Submitting Assignments
All assignments should be emailed to the designated grader.
The subject header should be:
- For non-honors homework assigments: hwk#-lastname-firstname, where
# is replaced by the actual numberm and the names are in lower case.
For instance, if I were submitting
Problem set 5, the subject would be hwk5-davis-ernest.
- For honors homework assigments: honprob#-lastname-firstname.
- For non-honors programming assignments: prog#-lastname-firstname
- For honors programming assignments: honprog#-lastname-firstname
Homeworks should be either be in a plain-text file or
typeset in PDF or Word. Handwritten homeworks, or homeworks that are
handwritten and then scanned will not be accepted. You should include
your name on the homework itself and as a comment at the top of the programming
assignment, not just as the sender of the email message.
Due date and late policy: Homeworks and programming assignments
are due at the beginning of class the
day they are due. They will be accepted up to 1 week late with a penalty of 1 point out of 10. They will not be accepted later than that, because the
solutions will be posted.
Grading of Programming Assignments
In general, the programming assignments will be graded on the following basis:
- Compiling, running correctly on the specified examples,
and following the specifications: 60%.
Zero credit will be given for a submission that does not compile; does
not give the correct answer for the example specified in the assignment;
or does not follow the assignment specifications (e.g. you submit an
iterative program for an assignment that specifies a recursive program.)
- Running correctly on the grader's test examples: 25%.
- Well-structured, well-written, commented code: 15%.
Individual assignments may specify further, or different, grading criteria.
Honors
Students taking the course for honors will be required to complete
additional problems on the homeworks and more
challenging forms of the programming assignments.
Java Notes
Additional help with Java, by Fred Swartz.
Class email list
You should be automatically subscribed to
the class email web page.
Assignments
Mid-term exam
The mid-term exam will be Wednesday March 13, in class.
Outline of mid-term exam
Sample mid-term
Solutions to sample mid-terms
Final exam
The final exam will be given Monday May 20, 10:00-11:50 in room 109.
Outline of final exam
Objects, References, etc.
Sample questions from the second half of the course.
Solutions to sample questions from the
second half of the course.
Cheating
You may discuss any of the assignments with your classmates (or anyone else)
but all work for all assignments must be
entirely your own. Any sharing or copying of assignments will be
considered cheating. By the rules of the College of Arts and Science,
I am required to report any incidents of cheating to the department.
My policy is that the first incident of cheating will result in the
student getting a grade of F for the course.
The second incident, by CAS rules, will result in a one-semester suspension
from the College.