CS 311 Data Structure
Home Policies Schedule Dr. Ouyang

Class Time: 11:30 - 12:45 Tuesday and Thursday
Classroom: Science II 242
Midterm Exam: 1
1:30 - 12:45 Thursday, October 16
Final Exam: 11:30 - 13:30 Tuesday, December 16
Office hours: 9:00 - 10:00 Wednesdays, 10:00 - 11:00 Tuesdays & Thursdays
Office: Science II 219 (760-750-8047, ouyang@csusm.edu)

 

 

Catalog description of CS 311:

A thorough understanding of several advanced methods for implementing the abstract data types and the time used by each method. Includes abstract data types such as dictionary, priority queues, matrices, and relations, foundation of recursive algorithms, complexity analysis, complexity classes, sorting and searching, computability and undecidability, problem-solving strategies, heuristic search, modeling and components of database systems, and graphics software systems.

Pre-requisite for CS 311

A passing grade for CS 211 or equivalent.

Co-requisite or Pre-requisite for CS 311

Math 370 or equivalent.

Programming Language:

ANSI C++ is the official programming language for this class. However, you're not allowed to use the data structures provided by the Standard TEMPLATE Library. The xlC compiler on AIX has been used in both CS111 and CS211. Therefore, efforts have been made by the instructor to make sure that all examples given in handouts and lectures will work with the xlC compiler.

Submission of programming assignments:

Again, ANSI C++ is the official programming language for this class. In addition, you need to make sure that the executable can be run on the san-marcos server or Windows 2000/XP. If you're using any other programming language, please discuss your situation with the instructor before you start working on your assignment.

bulletGrading Criteria for Programming Assignments (PDF format)
bulletA Coding Convention for C++ Code, By Dan Wallach (This is FYI, not required.)

 

Data Structures and Algorithms with Object-Oriented Design Patterns in C++ 

By Bruno R. Preiss

Publisher: John Wiley & Sons, Inc.

ISBN: 0-471-24134-2

Author's web site: http://www.brpreiss.com/books/opus4/

References:

bulletHomework assignments and their keys for Fall 2002
bulletHomework assignments and their keys for Spring 2003
bulletBasic editing features provided by vi.
bulletMastering the vi editor.
bulletC++: Effective Object-Oriented Software Construction: Concepts, Practices, Industrial Strategies and Practices, By Kayshav Dattatri and Erich Gamma, 2nd ed. Prentice Hall
bulletNational Institute of Standards and Technology's index of data structures and algorithms.
bulletC++ How To Program: Introducing Object-Oriented Design with UML, By Deitel & Deitel, 4th ed. Prentice Hall
bulletDraft ANSI C++ Standard - November 1996 Working Paper
bullet Operators and their associativity in C++
bulletBecoming Bit Wise by Gene Myers (linked updated)
bulletANSI C++ Standard Header Files
bulletThe String class
bulletThe C++ Resources Network: http://www.cplusplus.com/main.html
bulletThe Dinkum® C++ Library Reference: http://www.dinkumware.com/refcpp.html
 
This web site is maintained by Dr. Youwen Ouyang and was last modified on Tuesday, September 23, 2003 .