CS 225

CS 225 - Data Structures

Fall 2022

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Data StructuresCS225ABA65054LBD00900 - 1050 R  4029 Campus Instructional Facility Seemandhar Jain
Avi Porath
Brad R Solomon
Carl Evans
Data StructuresCS225ABB61264LBD00900 - 1050 R  4025 Campus Instructional Facility Gabriella Xue
Brad R Solomon
Carl Evans
Namrata Vajrala
Data StructuresCS225ABC35926LBD01100 - 1250 R  3101 Sidney Lu Mech Engr Bldg Mat Farley
Brad R Solomon
Carl Evans
Shaurya Gomber
Data StructuresCS225ABD35923LBD01100 - 1250 R  2100 Sidney Lu Mech Engr Bldg Yubin Ge
Brad R Solomon
Carl Evans
Xin Jin
Data StructuresCS225ABE35944LBD01300 - 1450 R  4029 Campus Instructional Facility William Wang
Brad R Solomon
Carl Evans
Sahil Agrawal
Data StructuresCS225ABF58757LBD01300 - 1450 R  3031 Campus Instructional Facility Abhilash Chander Potluri
Brad R Solomon
Carl Evans
Mona Chen
Data StructuresCS225ABG62137LBD01500 - 1650 R  4029 Campus Instructional Facility Zexiang Chen
Brad R Solomon
Carl Evans
Uday Kanth Reddy Kakarla
Data StructuresCS225ABH58758LBD01500 - 1650 R  3031 Campus Instructional Facility Savya Khosla
Brad R Solomon
Carl Evans
Kyle McNamara
Data StructuresCS225ABI35947LBD01700 - 1850 R  3031 Campus Instructional Facility Sai Chinthakindi
Amanda Mengting Wang
Brad R Solomon
Carl Evans
Data StructuresCS225AL135917LEC41100 - 1150 M W F  AUD Foellinger Auditorium Carl Evans
Brad R Solomon
Data StructuresCS225ALP72271LEC41100 - 1150 M W F  AUD Foellinger Auditorium Carl Evans
Brad R Solomon

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, 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)

Assessment and Revisions

Revisions in last 6 years Approximately when revision was done Reason for revision Data or documentation available?
Incremental changes to MPs 3/4 sp11 increase connections to surrounding curriculum (i.e. sorting, graph traversal) Informal discussion with CS125 Instructor (Angrave)
Lab exercises redesigned to be a) coupled tightly with lecture content, and b) tested and graded for credit. sp10 Success of labs depended on varied teaching skills of course staff, and they were optional, and thus poorly attended. Student feedback, ICES 08-10.
Grading policy changed to include credit for early submission of MPs, and also to provide nightly grading feedback. sp09 Motivate students to organize the assignment window more carefully. Informal discussion with CS225 course staff.
Addition of Parallel Lab Exercises (6 instructional hours) sp11 Parallel computing is pervasive. NSF/IEEE-TCPP Curriculum Initiative http://www.cs.gsu.edu/~tcpp/curriculum/?q=home
Developed CoMoTo - the collaboration monitoring toolkit. sp09 ongoing Observed increase in plagiarism. We wanted to increase the advising and counseling component of instruction while also maintaining the integrity of the course. GATE08
Increased discussion of applications of data structures. sp09 Broaden applicability of newly learned skills. Informal discussion with course owner Chekuri
Deployed a new educational software testing framework. fa11 Reduce the burden for understanding our given test code, allowing students to focus on the actual test cases. Informal discussion with CS225 course staff.

Required, Elective, or Selected Elective

Required.

Last updated

3/10/2019