Course Number: CS 163
Transcript Title: Data Placement
Created: January 26, 2015
Updated: July 10, 2015
Total Credits: 4
Lecture Hours: 40
Lecture / Lab Hours: 0
Lab Hours: 0
Satisfies Cultural Literacy requirement: No
Satisfies General Education requirement: No
Grading options: A-F (default), P-NP, audit
Repeats available for credit: 0
Explores the storage of data within a computer, focusing on aspects of placement that are necessary to efficiently sort, search, traverse, and manipulate simple data structures, manage dynamic memory, and leverage the memory hierarchy. Prerequisite: CS 161. Audit available.
Upon successful completion of this course, students will be able to:
- Apply C++ to programming problems.
- Program using functions with pass by reference, arrays of structures, classes, pointers, dynamic memory, and linear linked lists.
- Program using binary search trees and doubly-linked lists.
- Select the proper sorting algorithm for a problem.
- Assess the performance impact of hardware features such as pipelining, and architectural principles such as memory locality.
- Identify performance bottlenecks in C/C++ programs.
Outcome Assessment Strategies
Homework, observation, class discussion, examination.
Course Activities and Design
Lecture, supervised laboratory instruction, in-class and out-of-class assignments, discussion and examination.
Course Content (Themes, Concepts, Issues and Skills)
- memory model
- linked lists
- heap allocation
- stack allocation
- stack frames
- call by reference
- call by value
- data structures
- spatial locality
- temporal locality