Computer Science Department Comsc 210: Program Design & Data Structures, Spring 2012, 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. Burns, rburns@dvc.edu Burns office hours:
9-9:30am TTh ATC-115, by visit and email 12:30-1pm TTh FO-227, by visit and phone, x2610 6:30-7pm MW ATC-115, by visit and email 5:30-6:30pm MW by online discussion group and emailTOPICS 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
CLASS DATES AND TIMES: M Jan 23rd at 7pm - Th May 24th at noon
MW 7-9:50pm class meetings, ATC-115
Last Day To Add: Feb 3rd
Last Day To Drop with refund: Feb 3th
Last Day To Drop without "W": Feb 16th
Last Day To Drop with "W": Apr 27th
Holidays: M Feb 20, M Apr 2, W Apr 4
Midterm exam: W Mar 14th
Final exam: M May 21st
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 writeups may have accompanying YouTube videos that require Adobe Flash.
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,
into the correct folder, with correctly spelled and cased filenames.
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 each other.
The instructor monitors the discussions and answers questions
when appropriate. Use this method so that all students benefit
from questions, answers, and clarifications.
Lab work will be sent back for redo if not fully correct, with a 2 point penalty each time it is sent back for any of the reasons listed in the lab writeups.
Labs that are not made fully correct by one month after their due date will receive zero points.
Each lab must be completed correctly before the next lab is considered for grading.
Late lab assignments and projects will be accepted with a 10 point penalty, except that work submitted one month after its due date, or after noon on Th May 24th, will receive zero points.
Contact the instructor by email or visit during their office hours (if any).
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 files that subsequently get deleted 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:
1. create C++ templates for custom data structures, with the standard operations of insert, replace, retrieve, and remove.
2. understand the differences among the various search techniques (linear, binary, and binary trees) and can implement all of them.
3. 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, take the survey at www.surveymonkey.com/s/sp2012comscPre On or before finals day, retake the survey at www.surveymonkey.com/s/sp2012comscPost