CS 225

CS 225 - Data Structures

Spring 2020

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Data StructuresCS225AL131208LEC41100 - 1150 M W F  1002 Electrical & Computer Eng Bldg Carl Evans
Jing Jiang
Data StructuresCS225AL231213LEC41400 - 1450 M W F  1002 Electrical & Computer Eng Bldg Carl Evans
Jing Jiang
Data StructuresCS225ALP59777LEC41100 - 1150 M W F  1002 Electrical & Computer Eng Bldg Carl Evans
Jing Jiang
Data StructuresCS225ALR70578LEC41400 - 1450 M W F  1002 Electrical & Computer Eng Bldg Carl Evans
Jing Jiang
Data StructuresCS225AYB31218LBD01900 - 2050 R  1111 Siebel Center for Comp Sci Rishabh Chhabra
Data StructuresCS225AYC31222LBD01500 - 1650 W  0224 Siebel Center for Comp Sci Shan Bai
Data StructuresCS225AYD31225LBD01700 - 1850 W  0224 Siebel Center for Comp Sci - Rajgopal
Data StructuresCS225AYE31227LBD01900 - 2050 W  0224 Siebel Center for Comp Sci - Rajgopal
Data StructuresCS225AYF31229LBD00900 - 1050 R  0224 Siebel Center for Comp Sci Jing Jiang
Carl Evans
Data StructuresCS225AYG31231LBD01100 - 1250 R  0224 Siebel Center for Comp Sci Yubin Ge
Data StructuresCS225AYH31234LBD01300 - 1450 R  0224 Siebel Center for Comp Sci Yubin Ge
Data StructuresCS225AYI31236LBD01500 - 1650 R  0224 Siebel Center for Comp Sci Sayantani Basu
Data StructuresCS225AYJ31239LBD01700 - 1850 R  0224 Siebel Center for Comp Sci Hao Wu
Data StructuresCS225AYK56809LBD01900 - 2050 R  0224 Siebel Center for Comp Sci Hao Wu
Data StructuresCS225AYL56810LBD00900 - 1050 R  1105 Siebel Center for Comp Sci Sayantani Basu
Data StructuresCS225AYM56811LBD00900 - 1050 F  0224 Siebel Center for Comp Sci Yash Suresh Saboo
Data StructuresCS225AYN60535LBD01500 - 1650 W  1111 Siebel Center for Comp Sci Patrick Alexander Cole
Data StructuresCS225AYO31216LBD01700 - 1850 W  1111 Siebel Center for Comp Sci Patrick Alexander Cole
Data StructuresCS225AYP60536LBD01900 - 2050 W  1111 Siebel Center for Comp Sci Jing Jiang
Carl Evans
Data StructuresCS225AYQ60537LBD00900 - 1050 F  0218 Siebel Center for Comp Sci Ruhana N Azam
Data StructuresCS225AYR61000LBD01700 - 1850 R  0218 Siebel Center for Comp Sci Rishabh Chhabra
Data StructuresCS225AYS61001LBD01100 - 1250 F  0224 Siebel Center for Comp Sci Ruhana N Azam
Data StructuresCS225AYT66120LBD01300 - 1450 F  0224 Siebel Center for Comp Sci Xin Tong
Data StructuresCS225AYU59778LBD01500 - 1650 F  0224 Siebel Center for Comp Sci Xin Tong
Data StructuresCS225AYX70848LBD01100 - 1250 F  0218 Siebel Center for Comp Sci Sebastian Samuel Rodriguez
Data StructuresCS225AYY70849LBD01300 - 1450 F  0218 Siebel Center for Comp Sci Sebastian Samuel Rodriguez
Data StructuresCS225AYZ70850LBD01500 - 1650 F  0218 Siebel Center for Comp Sci Sayantani Basu
Data StructuresCS225PRO41985LCD0 -    

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: Prerequisite: CS 125 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