Diablo Valley College

Computer Science Department
Comsc 210: Program Design & Data Structures, Spring 2011, Section 8093
 


COURSE DESCRIPTION:
Techniques relevant to program design and selection of data structures for larger programs. Topics covered include design techniques, effective use of recursion, algorithmic efficiency and O-notation, linked lists, binary trees, B-trees, graphs, sorting, and searching techniques. Extensive programming of a variety of data structures is required. CAN CSCI 24, CSU, UC Prerequisite: Comsc 265 or equivalent. Expected student learning outcomes: www.dvc.edu/slos?comsc-210

INSTRUCTOR:
Prof. Robert Burns, rburns@dvc.edu
Burns office hours: M 4-6pm, FO-227, MW 6-7pm, ATC-115
TOPICS COVERED:
Arrays and linked lists
Stacks, queues, priority queues
Hash tables and hashing techniques
Tree structures and heaps
Seaching and sorting records
Abstract data types (ADTs)
Efficiency considerations and big oh
Graphs and digraphs
Recursion using stacks and queues
Traversal and iteration
The C++ Standard Template Library
MEETING DATES AND TIMES:
M Jan 24th at 7:00pm - Th May 26th at noon
MW 7:00-9:50pm, ATC-115
Last Day To Add: F Feb 4th
Last Day To Drop with refund: F Feb 4th
Last Day To Drop without "W": Th Feb 17th
Last Day To Drop with "W": F Apr 29th
Holidays: Feb 21, Apr 18 and 20
Midterm exam: W Mar 23rd
Final exam: M May 23rd, 7-9pm
GRADING: Lab Exercises (15):  750 points
Midterm Exam: 50 points
Final Exam: 50 points
Term Project:  50 points
Online Quizzes (16): 100 points

FINAL GRADE: Strictly applied
A 900-1000 points      B 800-899 points
C 700-799 points      D 600-699 points
F 0-599 points        no extra credit

TEXT, REFERENCES, AND SUPPLIES:
C++: Classes and Data Structures by Childs (required)
Introduction To Programming, Using C++ by Burns (recommended)
Class website: http://cs.dvc.edu/
Command-line compiler: Visual C++ (avail. in computer lab)
Free editors: Pad (Windows) and JNotePad (also avail. in computer lab)
Free Windows compiler: Visual C++ 2010 Express
Additional supported compilers: UNIX/Linux/MacOSx g++; VC++ 2005, 2008
CLASS POLICY:
Expect to spend about 12 hours per week on this course listening to lectures, doing labs, and reading.
Lab assignments are posted on the class website.
Lab assignments are due at midnight of the evening of the due date  indicated on the course outline. Completed lab work must be posted to the class website for credit.
For questions on lab assignments, anytime and anywhere, use the online discussion group (accessible via links on the class website: http://cs.dvc.edu/). Students may post and reply to questions in order to help eachother. The instructor monitors the discussions and answers questions when appropriate. Use this method so that all students benefit from questions, answers, and clarifications.
One point per day will be deducted for each late assignment. Late work will be accepted until noon on Th May 26th. No credit will be awarded for any late work after that time.
Contact the instructor by email or visit during office hours.
The final exam and the midterm exam are both open book and open note. Ref: http://cs.dvc.edu/HowTo_PrepareForExams.html
Arrangements for missed exams must be made with the instructor in advance. Make-up exams can only be scheduled for a time period in which the instructor is conducting another exam.
Quizzes are conducted prior the first lecture of a topic, and may be online or in-class, per the instructor's direction. No make-ups for missed quizzes. Quizzes cover the material for the indicated chapter's reading assignment in the course outline, and the corresponding lecture notes. Online quizzes are accessible on the class website via the internet, and require that Javascript be enabled in order to run in your browser. All quizzes are timed, each allowing a few minutes for 5 or fewer multiple-choice questions.
Students are expected to follow the DVC Student Code of Conduct. Accordingly, no credit will be given for work that is not original. Students MUST type their own code, and NOT share code with other students. Points awarded for lab work that is later found to be not original will be withdrawn. Points awarded for work that is deleted from the Student File Area before grades are assigned at the end of the semester will be withdrawn.
Classes start at 7:00pm sharp. Do not trust classroom clocks -- check the time on the class website home page (http://cs.dvc.edu/) which is synchronized to the atomic clock.

EXPECTED STUDENT LEARNING OUTCOMES:
Students completing the course will be able to:
create C++ templates for custom data structures, with the standard operations of insert, replace, retrieve, and remove.
understand the differences among the various search techniques (linear, binary, and binary trees) and can implement all of them.
understand the difference among various O(n log n) sorting algorithms and can implement quick sort, merge sort, Shell sort, and heap sort.
On the first day of class, and then again on finals day, take the survey at www.surveymonkey.com/s/sp2011comsc