CS 310 Data Structures
Spring 2014
Section 001, TR 10:30am - 11:45am, Art and Design Building 2026.
Prof. Richard Carver
email: rcarver@gmu.edu
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
http://cs.gmu.edu/~rcarver/cs310
TAs (office hours)
TA: Jitin Krishnan, jkrishn2@masonlive.gmu.edu, Tuesdays 5-6pm and Wednesdays 11am-12pm, Engineering Bldg 5321 .
TA: Jianchao Tan, tanjianchaoustc@gmail.com, Monday 2:00pm to 4:00pm, Engineering Bldg 4456.
TA: Anudeep Madamshetty, amadamsh@masonlive.gmu.edu, Thursday, 2-4pm, Engineering Bldg room 5321.
UTA: Rebecca Fischer, rfische3@masonlive.gmu.edu, Friday 12-2pm, 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 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
- 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 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%
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 -.
Percent | Grade | Percent | Grade | Percent | Grade | Percent | Grade |
>=98 | A+ | 90-88 | B+ | 80-78 | C+ | 70-60 | D |
98-92 | A | 88-82 | B | 78-72 | C | <60 | F |
92-90 | A- | 82-80 | B- | 72-70 | C- | | |
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