CS241: Data Structures and Algorithms II
Room 8-345
M/W, 9:00am - 12:50pm
Summer 2017
Instructor: Dr. Fang Tang
- Office: 8-49
- Email: ftang AT cpp.edu
- Phone: (909) 869-2157
- Office Hours: T/Th: 1:30pm -- 2:30pm (8-49).
Class Email List: cs24101@cpp.edu
Course Description: Trees, priority queues, graphs, sets, and maps. Sorting algorithms. Random access, indexed and direct files. Indexing techniques.
Prerequisites: CS 240 with a grade C or better, or consent of instructor.
Required Textbook:
Data Structures and Abstractions with Java (4th Edition) by Frank M. Carrano, 2014.
Reference:
Data Structures & Other Objects Using JAVA, 4th Edition, by Michael Main, Addison Wesley, 2011.
Data Structures & Algorithms in JAVA, 4th Edition, by Michael T. Goodrich and Roberto Tamassia, Wiley, 2006.
Course Syllabus [pdf]
Class Goals:
- To understand basic data structures. There are a few fundamental data structures that you will encounter through a lifetime of programming. All the rest are variations of the basic ones. By the end of the class, you should be able to understand the underlying principles of the few fundamental data structures, learn to use the proper data structure given different problem setting, and maybe be able to tweak them when necessary.
- To perform basic algorithm analysis. In addition to using the proper data structures, you should understand how fast your program should run. At the end of this class, you should understand the basics of algorithm analysis.
- To practice your Java programming skills. You have learned CS 140 and 141, all the basics of Java programming. Now it is time for you to use them to solve more advanced problems.
Last updated: Aug. 2017