
CS 3114: Data Structures and Algorithms
Section: CRN 82557: T R 12:30pm in Torg 3100
Instructor: N.D. Barnette, McBryde 632,
540-231-7350
E-Mail: barnette<AT>cs.vt.edu
Textbook: Data Structures and Algorithm
Analysis in Java, 3rd Edition Mark Allen Weiss,
Addison-Wesley, ©2012 ISBN 978-0-13-257627-7
OpenDSA (free online Data Structures and algorithms
textbook)
Course notes: Posted on the course website.
CS 3114 Course Notes, W D
McQuain, ©2001-2012, ND Barnette
©2015
Course Website:
http://courses.cs.vt.edu/cs3114/
Description:
Advanced data structures and analysis of data structure
and algorithm performance. Sorting, searching, hashing,
and advanced tree structures and algorithms. File system
organization and access methods.
Having successfully completed this course, the student
will be able to:
- Choose the data structures that effectively model
the information in a problem.
Judge efficiency
trade-offs among alternative data structure
implementations or combinations.
- Apply algorithm analysis techniques to evaluate the
performance of an algorithm and
to compare data
structures.
- Implement and know when to apply standard algorithms
for searching and sorting.
- Recognize and apply design patterns, and make
judgments about when a particular
pattern will
improve a design.
- Design, implement, test, and debug programs using a
variety of data structures
including buffer pools,
hash tables, binary and general tree structures, search
trees, tries, heaps, graphs, and B-trees.
- Select appropriate methods for organizing data files
and implement file-based data
structures.
- Apply object-oriented design principles to data
structures in medium-scale software
systems.
- Apply design guidelines to evaluate alternative
software designs.
Prerequisites: CS: 2104, 2114 & 2505. MATH
2534. All students must have completed each of the CS
prerequisites with a grade of C or higher (C- is not
acceptable). There will be absolutely NO
exceptions to these requirements.
Honor Code: The Virginia Tech Honor Code
applies to this course and will be strictly
enforced.
Assignments:
All programming assignments are individual work.
Groups of two or more people
working together on an assignment are strictly forbidden
and will be treated as
an honor code violation.
All assignment submissions
MUST contain the following VT honor code pledge statement:
"I have not received unauthorized aid on this assignment.
I understand the
answers that I have submitted. The answers submitted have
not been directly
copied from another source, but instead are written in my
own words."
Attendance Policy:
Educational studies consistently show a strong correlation
between class attendance and
class grade. Attendance
to every class is NOT mandatory.Students electing to
miss a lecure are solely responsibile for learning the
covered material on their own. Lecture summaries and topic
coverage will not be provided. When skip a lecture
they elect to become their own teacher.
Electronic Information:
Information such as copies of the syllabus and assignments,
assignment solutions, and
class grades, will be made available through the class web
site. Notice of homework dead-
lines, test dates, etc., will be posted at the course
website. The course instructor accepts no responsibility or
obligation for making such announcements in class. The
course
website is the official source for all course notifications.
Students With Disabilities:
If you need adaptations or accommodations because of a
disability (learning disability, attention deficit disorder,
psychological, or physical), if you have emergency medical
information to share with the instructor, or if you need
special arrangements in case the building must be evacuated,
please meet with the instructor as soon as possible.
|