Virginia Tech®home

ECE 3514 - Data Structures and Algorithms (3C)

Course 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