CS 014 - Introduction to Data Structures and Algorithms

Time: Tuesday & Thursday - 2:10 PM to 3:30 PM

Location: MSE 104

Instructor: Ahmed Eldawy - - Office Hours: 357 WCH - Tuesday & Thursday 1:00 PM - 2:00 PM

TA: Saheli Ghosh - Office Hours: 110 WCH - Thursday 11:00 AM - 12:00 PM
TA: Tin Vu - Office Hours: 110 WCH - Tuesday 4:00 PM - 5:00 PM & Wednesday 4:30 - 5:30 PM

TA: Zacharias Chasparis - Office Hours: 110 WCH - Wednesday 5:30-6:30 PM

Textbook: Data Structures and Algorithm Analysis in C++ (Fourth Edition) by Mark Allen Weiss Purchase and rent options

Syllabus

CS 014 provides the basic background for a computer scientist in the area of data structures and algorithms. During this course, students will learn about fundamental data structures and algorithms and how to apply them in real problems. The topics that will be covered by the course include:

  • Analysis of algorithms
  • Abstract Data Types (ADT)
  • Lists, stacks, and queues
  • Search trees (BST, AVL, and B-trees)
  • Priority queues (heaps)
  • Sorting algorithms
  • Hash data structures
  • Graphs

Schedule

Date Topic Book chapters Material
Thu 09/28Introduction Sections 1.3-1.5 
Tue 10/03Growth of Functions Chapter 2  
Thu 10/05ADT & Lists Chapter 3  
Tue 10/10Stacks & Queues Chapter 3  
Thu 10/12Trees Chapter 4  
Tue 10/17BST Chapter 4  
Thu 10/19AVL Trees Chapter 4  
Tue 10/24Heaps Chapter 6  
Thu 10/26Sorting Chapter 7  
Tue 10/31Heap sort - Merge sortChapter 7  
Thu 11/02Quick sort Chapter 7  
Tue 11/14Hashing Chapter 6  
Thu 11/16Hashing Chapter 6  
Tue 11/21Hashing Chapter 6  
Tue 11/28Graphs Chapter 9  
Thu 11/30Graph Traversals Chapter 9  

Assignments

PDF
#1
#2
#3
#4
#5

Labs

Files
#1    
#2    
#3    
#4    
#5    
#6    
#7      
#8    
#9