CS 310 Data Structures
Prof. John Otten
Sections 002 and -003
Office: 5335 Engineering Bldg.
Office Hours: Mon. 10:30-11:45 a.m., Wed. 1:30-2:45 p.m., or by appt.
Section -002 meets Mon/Wed Noon-1:15 p.m., AB Room 2026
Section -003 meets Mon/Wed 3-4:15 p.m., AB Room 2026
The course website is
TAs (office hours)
TA: Anudeep Madamshetty, Engineering Bldg 4456.
TA: Jianchao Tan, Engineering Bldg 4456.
TA: Jitin Krishnan, Engineering Bldg 4456.
UTA: Rebecca Fischer, firstname.lastname@example.org, 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 projects in 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 be submitted to the honor committee as an honor code violation. 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:
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
- programs + homework: 40%
- midterm exam: 30%
- final exam: 30%
GMU Academic Calendar
GMU Final Exam Schedule
Calendar of Religious Holidays