CS 225

CS 225 - Data Structures

Fall 2023

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Data StructuresCS225ABA65054LBD00900 - 1050 R  4025 Campus Instructional Facility Serena Trika
Aditya Sinha
Brad R Solomon
Carl Evans
Jill Patel
Data StructuresCS225ABB61264LBD00900 - 1050 R  4029 Campus Instructional Facility Uday Kanth Reddy Kakarla
Brad R Solomon
Carl Evans
Rishabh Adiga
Vivek Adrakatti
Data StructuresCS225ABC35926LBD01100 - 1250 R  4025 Campus Instructional Facility Abhilash Chander Potluri
Aditya Sinha
Brad R Solomon
Carl Evans
Jill Patel
Data StructuresCS225ABD35923LBD01100 - 1250 R  4029 Campus Instructional Facility Mona Chen
Brad R Solomon
Carl Evans
Rishabh Adiga
Vivek Adrakatti
Data StructuresCS225ABE35944LBD01300 - 1450 R  4025 Campus Instructional Facility Yicheng Lu
Arthur Huang
Brad R Solomon
Carl Evans
Mrinmoy Roddur
Data StructuresCS225ABF58757LBD01300 - 1450 R  4029 Campus Instructional Facility Mona Chen
Abhilash Chander Potluri
Brad R Solomon
Carl Evans
Mayank Shrivastava
Data StructuresCS225ABG62137LBD01500 - 1650 R  4025 Campus Instructional Facility Blaine Hill
Arthur Huang
Brad R Solomon
Carl Evans
Mrinmoy Roddur
Data StructuresCS225ABH58758LBD01500 - 1650 R  4029 Campus Instructional Facility Yicheng Lu
Brad R Solomon
Carl Evans
Data StructuresCS225ABI35947LBD01700 - 1850 R  4025 Campus Instructional Facility Blaine Hill
Brad R Solomon
Carl Evans
Mayank Shrivastava
Tom Tian
Data StructuresCS225ABJ35954LBD01700 - 1850 R  4029 Campus Instructional Facility Serena Trika
Ashna Rakhi Arya
Brad R Solomon
Carl Evans
Data StructuresCS225AL135917LEC41100 - 1150 M W F  AUD Foellinger Auditorium Brad R Solomon
Carl Evans
Data StructuresCS225AL272271LEC41100 - 1150 M W F  AUD Foellinger Auditorium Brad R Solomon
Carl Evans

Official Description

Data abstractions: elementary data structures (lists, stacks, queues, and trees) and their implementation using an object-oriented programming language. Solutions to a variety of computational problems such as search on graphs and trees. Elementary analysis of algorithms. Course Information: Credit is not given for CS 277 if credit for CS 225 has been earned. Prerequisite: CS 126 or CS 128 or ECE 220; One of CS 173, CS 413, MATH 213, MATH 347, MATH 412, or MATH 413. Class Schedule Information: Students must register for one lecture-discussion and one lecture section.

Learning Goals

Implement classic and adapted data structures and algorithms (1), (2), (6)
Navigate, organize, compile C++ projects of moderate complexity (many objects and dependencies) in Linux. (1), (2), (6)
Use basic editing and debugging tools such as GDB and Valgrind. (1), (2), (6)
Analyze the efficiency of implementation choices. (1), (2), (6)
Decompose a problem into its supporting data structures such as lists, stacks, queues, trees, etc. (1), (2), (6)
Diagnose appropriate approaches or algorithms to solve problems involving graph search, tree traversal, optimization, data organization, etc. (1), (2) , (6)

Topic List

C++ programming (compilation, classes, pointers, parameters, dynamic memory, memory management, inheritance, templates, generic programming)
Data structures - ADTS - (lists, stacks, queues, trees, dictionaries, priority queues, disjoint sets, graphs).
Data structures - implementation (linked memory, BST/AVL, B-tree, hash table, kd-tree, quad-tree, heap, union-find (up-trees), adjaceny list / arrays).
Algorithms (tree traversal, nearest neighbor, buildHeap, heapsort, BFS, DFS, MST, shortest paths)

Required, Elective, or Selected Elective

Required.

Last updated

3/10/2019