cs202 Outline 2016
cs202 Outline 2016
Course Basics
Credit Hours 3 credit hours
Lecture(s) 2 Per Week Duration 75 mins
Tutorial (per week) 1 Per Week Duration 60 mins
Course Distribution
Core CS Majors, EE Majors, and CS Minors
Elective All
Open for Student Category All
Close for Student Category None
COURSE DESCRIPTION
Data structures are essential building blocks for designing efficient algorithms. Thus, they play a central role in computer science
and are important in many areas of electrical engineering, computational biology, computational finance, etc. They are used in a
variety of applications today including search engines (e.g., Google, Bing), social networking applications (e.g., Facebook,
Twitter), embedded systems (e.g., cell phones, robots), and DNA analysis. This course will introduce the fundamentals of data
structures and will provide a thorough understanding of how to systematically organize data in a computer system. In addition, this
course will introduce students to analytical tools for comparing data structures in terms of their time and space complexities.
Moreover, students will appreciate the importance of programming structures, abstractions, and algorithms for improving the
efficiency of computer programs.
COURSE PREREQUISITE
• CS 200 Introduction to Programming
COURSE OBJECTIVES
• To understand the design of fundamental data structures as well as algorithms that operate on them
• To understand the fundamental tradeoffs in the design of the data structures
• To introduce tools for analyzing the time and space complexity of data structures
To provide rigorous ‘hands-on’ experience with implementing different data structures in a programming language
Learning Outcomes
• Students will be able to understand basic data structures
• Students will become aware of how data structures are used in real-world applications
• Students will understand the fundamental tradeoffs that exist in the design of data structures
• Students will be able to compare the time and space efficiency of different data structures
• Students will be able to appreciate how changing application requirements can lead to new data structures
• Students will be able to write programs to efficiently manipulate, store, and retrieve data
Examination Detail
Yes/No: Yes
Midterm Duration: 3 hours
Exam Preferred Date: TBA
Exam Specifications: TBA
Yes/No: Yes
Final Exam Duration: 3 hours
Exam Specifications: TBA
Textbook(s)/Supplementary Readings
Required Textbooks
• (GTM) Data Structures and Algorithms in C++ by Michael T. Goodrich, Roberto Tamassia, and David Mount (2nd Edition)
• (Weiss) Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss (2nd Edition)