This course introduces the student to various data structures and advanced algorithmic concepts. Students will put what they learn into practice by using C++ for programming projects. These data structures will be covered: linked lists, stacks, queues, and trees. These concepts will be covered: recursion, searching, sorting, and time-complexity analysis. Prerequisites: CS 208, a grade of C or better in CS 225. 3:0:3.
To provide the students with an in-depth understanding of programming data structures and how they are implemented in the C++ programming language. Students will be assigned projects to enforce the learning objectives of topics presented. Students must read all chapters prior to each scheduled class meeting. Students are expected to be well-prepared to discuss examples and assignments provided at the end of each chapter or handed out by the instructor. Discussion of these examples and assignments will be part of the basis of the class participation grade. Students will also complete five programming assignments outside of class.
Upon completion of this course, the student should be able to:
1. Explain what an abstract data type is.
2. Analyze the efficiency of an algorithm using the Big-O notation.
3. Compare and utilize various sorting algorithms (e.g., selection sort, insertion sort, bubble sort).
4. Understand recursion - how it works, how to program it, when to use it.
5. Explain the organization of the Standard Template Library.
6. Demonstrate proper use of function templates and class templates.
7. Implement various data structures using:
dynamic memory allocation
linked lists (including doubly-linked lists)
8. Explain and utilize:
queues (including priority queues)
trees (including binary search trees)
9. Demonstrate creativity and problem-solving skills.
10. Write C++ programs that use proper style and documentation.
10. Write C++ programs that use:
dynamic memory allocation
11. Optional - upon completion of this course the student should be able to write C++ programs that use one or more of these data structures:
heaps, b-trees, graphs, hash tables
Projects 30% (6% each project)
Final Examination 35%
100-90 = A (4.0 honor points)
89-80 = B (3.0 honor points)
79-70 = C (2.0 honor points)
69-60 = D (1.0 honor point)
Below 60 = F (no honor points)
Late Submission of Course Materials:
Homework must be turned in at the beginning of class on the day it is due. Late homework will be accepted up to the start of the next class meeting but will incur a 10 point (out of 100) reduction in score each day it is late. Late homework will not be accepted after the start of the next class meeting and will receive an automatic zero for a grade.
Classroom Rules of Conduct:
DO NOT SURF THE INTERNET OR RUN OTHER APPLICATIONS WHICH ARE NOT ASSOCIATED WITH THE DISCUSSIONS IN CLASS. TYPING ON THE KEYBOARD AND CLICKING THE MOUSE IS DISTRACTING AND DISRESPECTFUL TOWARD OTHER STUDENTS TRY TO LEARN. Students must be responsible for planning ahead and meeting deadlines and not rely on the computers in the lab. Be sure to save copies of your work and have printed copies of projects when they're due before coming to class.
Plagiarism involves the use of quotations without quotation marks, the use of quotations without indication of the source, the use of another's idea without acknowledging the source, the submission of a paper, laboratory report, project, or class assignment (any portion of such) prepared by another person, or incorrect paraphrasing.
Park University 2004-2005 Undergraduate Catalog Page 101
Instructors are required to maintain attendance records and to report absences via the online attendance reporting system.
Park University 2004-2005 Undergraduate Catalog Page 100
Park University is committed to meeting the needs of all students that meet the criteria for special assistance. These guidelines are designed to supply directions to students concerning the information necessary to accomplish this goal. It is Park University's policy to comply fully with federal and state law, including Section 504 of the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990, regarding students with disabilities. In the case of any inconsistency between these guidelines and federal and/or state law, the provisions of the law will apply. Park University is committed to meeting the needs of all learners that meet the criteria for special assistance. These guidelines are designed to supply directions to learners concerning the information necessary to accomplish this goal. It is Park University's policy to comply fully with federal and state law, including Section 504 of the Rehabilitation Act of 1973 and the American with Disabilities Act of 1990, regarding learners with disabilities and, to the extent of any inconsistency between these guidelines and federal and/or state law, the provisions of the law will apply. Additional information concerning Park University's policies and procedures related to disability can be found on the Park University web page: http://www.park.edu/disability .
This material is copyright and can not be reused without author permission.