CS 219 Advanced Data Structures

Catalog Description: 

Intensive introduction to object-oriented programming and advanced data structures. Topics include heaps, priority queues, hash tables, B+, B* trees and graphs. Emphasizing advantages and disadvantages of design and implementation choices, and the way these choices affect software quality. Instruction will be in the C++ programming language.

Prerequisite: 
Prerequisite: CS 202 and MATH 207.
Credits: 
3
Offered: 
Both semesters
Required or Elective: 
Required for the BS in CS
Level: 
Foundation
Coordinator: 
Xinlian Liu
Current Textbook: 
Absolute C++, 5th Ed., W. Savitch, Addison Wesley, 2013
Topics covered: 
  • Linux Programming Environment, Between JAVA and C++
  • Classes and Structures
  • Separate Compilation and Namespace
  • Operator Overloading, Friends, and References
  • Strings, Streams and File I/O
  • Pointers, Dynamic Memory Allocations and Linked List
  • Coding issues
  • Inheritance and Polymorphism
  • Templates
  • Coding issues
  • STL
  • STL Algorithm, C++11
Student Learning Outcomes: 

On completing this course, the student will be able to:

  1. Effectively program in C++ on Unix/Linux platform;
  2. Classify generally stated problems and implement programming solutions with proper data structure ;
  3. Describe space and time complexity of STL containers and algorithms;
  4. Define and use containers, iterators, and other common library components.
Relation of Course Outcomes to Program Outcomes: 

 

CS 219 Student Outcomes (SOs)
Course Learning Outcomes a b c d e f g h i j k
1. Effectively program in C++ on Unix/Linux platform;  ✔                    
2. Classify generally stated problems and implement programming solutions with proper data structure ;    ✔                  
3. Describe space and time complexity of STL containers and algorithms;                    ✔  
4. Define and use containers, iterators, and other common library components.                  ✔    
Role in Assessment: 

See the pages "BSCS Course Matrix" and "BSCS Courses for Assessment"

This course contributes to the assessment of the following SOs and PIs.

SO PI Strategy
a a.1

Students will be given a source code with bugs implemented.  Students will perform troubleshooting and apply corrections within a limited amount of time.

b b.1

Students will discuss essential features and data structures using prior knowledge.

j j.1

Students will write a summary about compromise and design decision made in the process of writing a multi-stage programming assignment

 


 

Go to top