Table of Contents

Overview

Course Number EN.601.226
Course Title Data Structures
Term Fall 2023
Instructors Section 01: Dr. Ali Madooei, (email: [email protected])
Section 02: Dr. Patricio Simari, (email: [email protected])
Department Computer Science
Level Lower Level Undergraduate
Credit $4$
Homepage: https://cs226fa23.github.io/

Course Description

This course covers the design and implementation of fundamental data structures, including arrays, stacks, queues, linked lists, binary trees, heaps, balanced trees, hash tables, and graphs. Other topics include basic algorithms (sorting, balancing search trees, graph search algorithms), asymptotic analysis, and programming in Java (object-oriented programming, generics, unit testing). Coursework involves both written exams and programming assignments.

<aside> 📌 Prerequisites [official]

$C+$ or better in EN.600.120 OR EN.601.220 OR EN.600.107 OR EN.601.107 OR EN.500.112 OR (EN.500.113 AND EN.500.132) OR (EN.500.114 AND EN.500.132) OR by permission of instructor.

</aside>

<aside> 💡 Prerequisites [in plain English]

Object-Oriented programming in Java!

</aside>

Course Learning Outcomes

Upon successfully completing this course, you should be able to:

  1. Understand the operation of common data structures and algorithms.
  2. Use analysis techniques to choose the data structure/implementation appropriate for a given problem.
  3. Write advanced object-oriented solutions in Java to significant problems by implementing appropriate data structures and algorithms.
  4. Evaluate and compare the time complexity of functions using mathematical techniques.
  5. Design an algorithm that produces the correct results according to specified inputs and time or space complexity constraints.

This course will address the following Computer Science BS Program Student Outcomes:

Lectures

The lecture meetings will be held in person at Homewood Campus.

<aside> 📌 All students are expected to attend all course meetings and actively participate in all class activities.

</aside>

Meetings

<aside> ⚠️ Lectures will be not be recorded.

</aside>

Readings