CS 310 Data Structures
Spring 2014
Sections 002 and -003
Prof. John Otten
email: jotten2@gmu.edu
Office: 5335 Engineering Bldg.
Office Hours: Mon. 10:30-11:45 a.m., Wed. 1:30-2:45 p.m., or by appt.
Phone: TBD
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
http://cs.gmu.edu/~rcarver/cs310
TAs (office hours)
TA: Anudeep Madamshetty, Engineering Bldg 4456.
TA: Jianchao Tan, Engineering Bldg 4456.
TA: Jitin Krishnan, Engineering Bldg 4456.
UTA: Rebecca Fischer, rfische3@masonlive.gmu.edu, Engineering Bldg 4456.
UTA: Daniel Balberchak, dbalberc@masonlive.gmu.edu, Engineering Bldg 4456.
Textbook
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.
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 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
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
- Algorithms Analysis
- Computer Organization - Cache Memory
- Java Collections
- Linked lists
- Stacks and queues
- Binary trees
- Recursion
- Balanced binary trees
- Multi-way trees
- B-trees and B+-trees
- Priority Queues
- Spaly Trees
- Hashing
- Disjoint Sets
This list is subject to change as interest evolves.
Programs
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
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.
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