The BRADLEY DEPARTMENT of ELECTRICAL and COMPUTER ENGINEERING

ECE 3514 Data Structures and Algorithms | ECE | Virginia Tech

Undergraduate PROGRAMS

Course Information

Description

Introduction of fundamental data structures, algorithms, and abstract data types. Data structures, arrays, linked lists, stacks, queues, and trees. Algorithms for manipulation, sorting, searching. Tree traversals. Implementation of data structures and algorithms in C++ using good design practices.

Why take 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). The course covers the fundamentals of computer programming including data structures and algorithms, and provides a foundation for CpE students in computer programming. It provides the foundation for other courses in the CpE curriculum such as Software Design, Machine Learning, Computer Vision, and Senior Design.

Learning Objectives

  • 1. Design, implement, and test abstract data types using classes
  • 2. Write programs that require management of limited resources such as memory using good design practices
  • 3. Write programs to solve problems using linear data structures such as vectors, stacks, and queues, and associated algorithms
  • 4. Write programs to solve problems using tree based data structures and associated algorithms
  • 5. Compare the running time and memory usage of programs using algorithm analysis

Course Topics

Topic

Percentage of Course

Class Design, Implementation, and Testing 20%
Pointers and Dynamic Memory Management 20%
Linear Data Structures 20%
Tree-based Data Structures 10%
Algorithms for Sorting and Searching 20%
Algorithm Analysis 10%