CS 310 Data Structures
Fall 2012
Section 001, TR 9:00 am - 10:30 am, Enterprise Hall 276.
Prof. Richard Carver
email: rcarver@gmu.edu
Office: 5318 Engineering Bldg.
Office Hours: Tuesday, Thursday before class; Thursday 3:45-4:15pm, and by appointment
Phone: (703) 993-1550
The course website is
http://cs.gmu.edu/~rcarver/cs310
TAs (office hours)
TA: An Wang (awang10@masonlive.gmu.edu), M 4:30-6:30pm, W 1:30-3:30pm, Engineering Bldg Room 4456.
TA: GuiLin Liu (gliu2@masonlive.gmu.edu). M 4:30-6:30pm, W 1:30-3:30pm, Engineering Bldg Room 4456.
UTA: Vinh Han Nguyen (vnguyec@gmu.edu), R 1:30 pm-4:30 pm, Engineering Bldg Room 4456.
UTA: Barak Stout (bstout1@gmu.edu), T 10:00-11:30, F 16:00-18:00, Engineering Bldg Room 4456.
Textbook
Data Structures and Other Objects Using Java, 4/E, by Main.
Prerequisite
The prerequisite for this course is C or
better in CS 211. Students are expected to have a significant degree of skill in
programming (program organization, coding, documenting, testing and
debugging). Students should be acquainted with basic complexity analysis ("big
O") and be able to build abstract data types using Java classes.
Course Description
CS 310 continues the study of data structures from CS 211.
Students will learn how to approach larger and more challenging programming projects
than the projectsin CS 211. Programming is a significant part of this course
and students should expect to spend a good deal of time on the programming
projects.
Course Outcomes
- Reinforce what students learned about elementary data structures from CS 211
- Extend student knowledge of data structures to more sophisticated data structures. This
includes balanced binary search trees, B-trees and B+-trees, hashing, and basic graphs.
- Use generic types in their data structures.
- Do more demanding programming than they did in CS 211. All programming is done
in Java. This involves more program design and debugging techniques.
Topics
- Generic types
- Linked lists
- Stacks and queues
- Binary trees
- Balanced binary trees
- Multi-way trees
- B-trees and B+-trees
- File organization
- Set and Map representations
- Hashing
This list is subject to change as interest evolves.
Programs
There will be several programming assignments.
Programming assignments will be posted on the course website.
You can only turn in a program once. No revisions or additions
can be made to your program after it has been submitted. Late
programs will be accepted with a 10% per day late penalty. You
are responsible for keeping backups of your work.
Honor Code
Read the CS Department honor
code:
http://cs.gmu.edu/wiki/pmwiki.php/HonorCode/CSHonorCodePolicies
and the University honor code:
http://honorcode.gmu.edu. You are bound by these honor codes.
Any submitted work
which shows too much commonality with others' work to be completely
original, or any plagiarized work, will receive a grade of 0. Any
code which is presented in class or provided to you as part of the
project may be included in your programs.
Grading
There will be a midterm exam and a final. There
will be no makeups on exams except under exceptional circumstances, and any such
makeup must be arranged in advanced. Grades will
computed from a weighted average computed with the following weights:
- programs + homework: 40%
- midterm exam: 30%
- final exam: 30%
If you are a student with a disability and you need academic
accommodations, please see me and contact the Office of Disability Services
(ODS) at 993-2474. All academic accommodations must be arranged through the
ODS.
Calendars
GMU Academic Calendar
|
GMU Final Exam Schedule
|
Calendar of Religious Holidays