Syllabus
Syllabus

 

CS 3114: Data Structures and Algorithms 

Section: CRN 12106: T R 11:00am in WLH (Lavery Hall) 320

Instructor:
N.D. Barnette, McBryde 632, 540-231-7350
E-Mail:
barnette<AT>cs.vt.edu
GTAs:
Karim Elish kelish<AT>vt.edu  & Seungwon Yang seungwon<AT>vt.edu
UTAs:
Michael Naper napermd<AT>vt.edu, Saurav Sharma svsharma<AT>vt.edu & Andrew Shugarts rue92<AT>vt.edu
Textbook:
Data Structures and Algorithm Analysis in Java, 3rd Edition
Mark Allen Weiss, Addison-Wesley, ©2012
ISBN 978-0-13-257627-7
Course notes:  Posted on the course website. CS 3114 Course Notes, Fall 2012 Edition
W D McQuain, ©2001-2012
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 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.

 

Computer Science 3114 Data Structures and Algorithms
D. Barnette