Fall 2016 textbook list
The Fall 2016 ECE textbook list is available online for students.
Current Prerequisites & Course Offering
For current prerequisites for a particular course, and to view course offerings for a particular semester, see the Virginia Tech Course Timetables.
ECE 2574 Introduction to Data Structures and Algorithms (3C)
Introduces fundamental data structures, algorithms, and abstract data types. Main topics include data structures such as arrays, linked lists, stacks, queues, graphs, and trees, and algorithms such as those that are used for list manipulation, graph searches, sorting, searching, and tree traversals. Implementation of data structures and algorithms in C++.
What is the reason for this course?
This is the second course in computer programming for Computer Engineering (CpE) majors and is based on the recommended curriculum of the Association for Computing Machinery (ACM). It provides the foundation for other courses in the CpE curriculum such as ObjectOriented Design, Data Structures and File Management, and Operating Systems. The course covers the fundamentals of computer programming including data structures such as arrays, lists, stacks, queues, and trees, and algorithms such as list manipulation, sorting, graph searches, and tree traversals. The course thus provides a foundation for CpE students in computer programming.
Required for all CPE majors. Typically offered: Fall, Spring. Program Area: Computers.
Prerequisites: C or better in 1574.
Why are these prerequisites or corequisites required?
This course presupposes the ability to program in the beginning language C++; completion of prerequisites would suffice.
Department Syllabus Information:
Major Measurable Learning Objectives: design algorithms for solving problems that use data structures such as arrays, linked lists, stacks, queues, graphs, and trees, and algorithms such as those that are used for list manipulation, graph manipulation (e.g., depthfirst search), sorting, searching, and tree traversals
 implement algorithms in C++ using good programming style.
Course Topics  

Topic  Percentage 
Algorithm Design Methodology

5% 
Abstract Data Types

20% 
Recursion in Programming and Problem Solving

10% 
Stacks

10% 
Queues

10% 
Searching Techniques

5% 
Sorting Algorithms

15% 
Introduction to Algorithm Analysis

10% 
Trees

15% 