Syllabus for CS111C Data Structures and Algorithms with Java
Fall 2012 Schedule - tech-enhanced
|
Review of Interfaces |
Lab A Interfaces |
|
Lists |
Homework #1 |
|
Array-based lists |
Homework #2 |
| Linked lists | Homework #3 |
|
Test #1 |
|
Lab B Implementation |
|
Timing of Algorithms |
Homework #4 |
|
Recursion |
Homework #5 |
|
Sorting |
Homework #6 |
| Test #2 | Lab C Recursion | |
|
Searching and Hashing |
Homework #7 |
|
Stacks & Queues |
Homework #8 |
| Test #3 | Lab D Stacks / Queues | |
|
Trees |
Homework #9 |
| Graphs | Extra Credit | |
Final |
|
Fri Dec 14 10:30 - 12:30 |
Instructor: Charles Metzler
Phone: (415) 239-3367
Email: cmetzler@ccsf.edu
Office: Batmale Hall Room 466 MW 9:30-10 and 12:30-1
Prerequisite: CS111B Programming Fundamentals: Java
Required Text: You can use either of the following:
Data Structures and Abstractions with Java Custom Edition by Cerrano
Data Structures and Abstractions with Java 2nd Edition by Cerrano [used]
Do NOT get the 3rd edition.
Grading
Tests and assignments that
are not completed will be counted as zeros.
Late assignments will be penalized:
10% up to 1 week late
20% up to 2 weeks late
30% for 3 or more weeks
Missing Labs will be penalized:
1 missing: -5 from final average
2 missing: -10
3 missing: -15
4 or 5 missing: Final grade is F
Extra credit adds one point to the final average.
Final grades are
determined as follows:
50% Average of the highest two of the three tests
25% Homework Average
25% Final Exam
Standard grading is used:
90 - 100 A
80 - 89 B
70 - 79 C
60 - 69 D
0 - 59 F
Course Objectives
1. Distinguish between the perspectives of conceptual interfaces and implementations.
2. Compare and contrast the timing of algorithms including sorting and searching.
3. Design and predict iterative and recursive algorithms that implement lists, stacks, queues, trees, hashing, heaps and graphs using arrays and linked lists.
4. Analyze and evaluate appropriate data structures and algorithms for a given problem.