CS 310 Data Structures
Prof. Richard Carver
Section 001, TR 10:30am - 11:45am, Art and Design Building 2026.
Office: 5318 Engineering Bldg.
Office Hours: T,R: 9:45-10:15am and 12:45-1:15pm, and by appointment.
Phone: (703) 993-1550
The course website is
TAs (office hours)
TA: Jitin Krishnan, email@example.com, Tuesdays 5-6pm and Wednesdays 11am-12pm, Engineering Bldg 5321 .
TA: Jianchao Tan, firstname.lastname@example.org, Monday 2:00pm to 4:00pm, Engineering Bldg 4456.
TA: Anudeep Madamshetty, email@example.com, Thursday, 2-4pm, Engineering Bldg room 5321.
UTA: Rebecca Fischer, firstname.lastname@example.org, Friday 12-2pm, Engineering Bldg 4456.
UTA: Daniel Balberchak, email@example.com, Engineering Bldg 4456.
Data Structures and Problem Solving Using Java, 4/E by Mark A. Weiss.
The textbook is on reserve in the library. The call number is QA76.73.J38 W45 2010. The book is
reserved under the name Theresa Calcagno.
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.
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
- 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.
This list is subject to change as interest evolves.
- Generic types
- Algorithms Analysis
- Computer Organization - Cache Memory
- Java Collections
- Linked lists
- Stacks and queues
- Binary trees
- Balanced binary trees
- Multi-way trees
- B-trees and B+-trees
- Priority Queues
- Spaly Trees
- Disjoint Sets
Late programs will be accepted with a 10% per day late penalty. You
are responsible for keeping backups of your work.
Read the CS Department honor
and the University honor code.
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.
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%
Final Grade Determination
Final grades will be assigned without rounding according to the
following criteria. It is a 10-point scale per letter grade, with the
upper and lower 2% of each 10% earning a + or -.
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
GMU Academic Calendar
GMU Final Exam Schedule
Calendar of Religious Holidays