CS352 Data Structures

for FA 2011

Printer Friendly

Mission Statement: Park University provides access to a quality higher education experience that prepares a diverse community of learners to think critically, communicate effectively, demonstrate a global perspective and engage in lifelong learning and service to others.

Vision Statement: Park University, a pioneering institution of higher learning since 1875, will provide leadership in quality, innovative education for a diversity of learners who will excel in their professional and personal service to the global community.


CS 352 Data Structures


FA 2011 HO


Dean, John S.


Assistant Professor of Information and Computer Science


B.S. in Electrical Engineering
M.S. in Computer Science

Office Location

Science Hall 016B

Office Hours

Tue 8:30-10:00, 12:55-1:25, 3:45-5:15, Thu 9:30-10:00, 12:55-1:25, 3:45-5:15

Daytime Phone




Web Page


Semester Dates

August 18 -- December 12

Class Days


Class Time

2:25 - 3:40


CS 208, a grade of C or better in CS 225

Credit Hours


Ford, W., Data Structures with C++ using STL, 2nd Edition, Prentice Hall, 2002, ISBN 0-13-085850-1

Textbooks can be purchased through the Parkville Bookstore

Additional Resources:
Purchase a USB flash drive storage device.

Optional acquisitions: Microsoft Visual Studio 2010 for home use. Refer to my “C++ Using Visual Studio 2008 Tutorial” document for details.

McAfee Memorial Library - Online information, links, electronic databases and the Online catalog. Contact the library for further assistance via email or at 800-270-4347.
Career Counseling - The Career Development Center (CDC) provides services for all stages of career development.  The mission of the CDC is to provide the career planning tools to ensure a lifetime of career success.
Park Helpdesk - If you have forgotten your OPEN ID or Password, or need assistance with your PirateMail account, please email helpdesk@park.edu or call 800-927-3024
Resources for Current Students - A great place to look for all kinds of information http://www.park.edu/Current/.

Course Description:

This course introduces the student to various data structures and advanced

algorithmic concepts. These concepts will be put into practice by using C++ for programming projects. These data structures will be covered: stacks, queues, trees, graphs, linked lists. These concepts will be covered: recursion, sorting, searching, hashing. Space and time complexities of algorithms will be analyzed.

Educational Philosophy:
I attempt to present lectures that are understandable, interesting, and thought provoking. I actively encourage class participation. While much of my lecture comes from concepts covered in the assigned reading, I also incorporate material from other sources in order to provide a different perspective and to provide more up-to-date information. I feel that, particularly in the field of computer science, good homework assignments are crucial. Students must learn to think with precision and creativity. In order to ensure the development of these skills, I assign a significant number of hands-on computer projects for homework. My primary objective as a teacher is to help students. I return graded material (homework, tests, and projects) in a timely manner. I encourage students to ask questions during lectures, after lectures, or during office hours. I encourage students to call me at home whenever they need help.

Learning Outcomes:
  Core Learning Outcomes

  1. Evaluate and analyze these data structures concepts: *recursion *the Standard Template Library *stacks *queues (including priority queues) *trees (including binary search trees)
  2. Demonstrate creativity and problem-solving skills.
  3. Analyze the efficiency of an algorithm using the Big-O notation.
  4. Appraise C++ programs to ensure that they use proper coding conventions and documentation.
  5. Compare and utilize various sorting algorithms (e.g., selection sort, insertion sort, bubble sort).
  6. Construct various data structures using: *function templates and class templates *pointers *dynamic memory allocation *linked lists (including doubly-linked lists)
  7. Formulate C++ programs that use: *recursion *templates *pointers *dynamic memory allocation *linked lists *stacks *queues *trees
  8. 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.

Core Assessment:

All Park University courses must include a core assessment tool that measures the degree to which students learn the course's learning outcomes. School policy dictates that a student's performance on the core assessment tool must count for at least 20% of the student's total course grade. School policy also dictates that the core assessment tool must cover at least 75% of a course's learning outcomes.

For this course, the core assessment tool is a final exam. Teachers must create their own final exam and pattern it after the CS352 example exam found in the password-protected my.park ICS faculty area, https://my.park.edu/ICS/Offices/Information_and_Computer_Science/.  To avoid collaboration between students in different sections, teachers should not use the example exam's questions verbatim. But teachers are required to cover its same content, and they are strongly encouraged to follow its format closely.

In the final exam, there are two broad categories of questions that we evaluate separately – concepts and problem solving:

Concepts (terminology and concepts that should be memorized): relevant learning outcomes – 1, 3, 5

Multiple-choice and true/false questions that ask the student about CS 352 concepts.

Short answer questions that ask the student to explain various concepts and trace and debug code fragments and/or programs.
For example questions, teachers should refer to the CS352 example exam, questions 1-22.

Problem solving (technical skills, critical thinking, and communication):

relevant learning outcomes –  2, 4, 6, 7

Given a problem description, produce a solution in the form of a short program or a method(s).
For example questions, teachers should refer to the CS352 example exam, questions 23-24.

Recommended guideline for evaluating the core assessment final exam:

Exceeds expectations

Meets expectations

Does not meet expectations

No evidence


≥ 85%

65% to 84%

< 65%

no exam graded

Problem solving

≥ 75%

50% to 74%

< 50%

no exam graded

Comprehensive Exam

All Park degree programs are required to have an assessment tool that measures the success of the degree program as a whole. The Information and Computer Science (ICS) degree program uses a comprehensive exam embedded in senior-level courses. CS352 is one of those courses, and, as such, all CS352 students are required to take the ICS comprehensive exam. To ensure student motivation, teachers are required to weight the comprehensive exam by at least 3% of the course’s total grade. The recommended weight is 5%.


Grading weights are as follows:


               homework                       23%

               quizzes                              1%

               exam 1                            22%

               exam 2                            22%

               exam 3                            29%

               comprehensive exam         3%


Your overall score is determined as follows:


               (your_total_hw_pts / max_hw_pts) * 23 +

               (your_total_quiz_pts / max_quiz_pts) * 1 +

               (your_exam1_pts / max_exam1_pts) * 22 +

               (your_exam2_pts / max_exam2_pts) * 22 +

               (your_exam3_pts / max_exam3_pts) * 29 +

               (your_comp_core_exam_pts / max_comp_core_exam_pts) * 1.75 +

               (your_comp_area_exam_pts / max_comp_area_exam_pts) * 1.25


Letter grades are assigned (based on your overall score) as follows:


               90 – 100            A

               80 -  89             B

               70 -  79             C

               60 -  69             D

               less than 60        F


All Park departments are required to have an assessment tool that measures the success of the department as a whole. Our department has chosen to use a comprehensive exam embedded in senior-level courses, such as this course. Your comprehensive exam will have questions based on material from 9 different courses. Here are the courses and their weights towards your course grade:


Core courses:

CS140                                        .25%

CS151                                        .25%

CS208                                        .25%

CS219                                        .25%

CS300                                        .25%

IS361                                         .25%

CS365                                        .25%


Specialty area courses:

CS225 & CS352 combined        1.25%

Late Submission of Course Materials:
See rules of conduct section below.

Classroom Rules of Conduct:



Do not submit homework answers by hand. Instead, for each homework assignment, you must upload your work to the appropriate drop box on the course's web site. To upload to the appropriate drop box on the course's web site, go to the course web site and click on the Dropbox tab. Select the appropriate homework from the Basket menu and then click Go. Follow the prompts on the screen.


In the document that contains your exercise answers, you must ensure that all answers are in the proper order. The proper order is the order that the questions appear on the homework assignment.


Homework must be done independently. You may ask procedural or conceptual questions to other people. However, you may not obtain answers from a classmate, from someone outside of class, or from the Internet. You must be the sole author of the work that you submit. If you copy part of someone else's work, if someone else copies part of your work, or if you do not work independently, you will receive zeros on the current and previous homework assignments. With this rather severe policy in mind, I strongly suggest that you refrain from discarding your answers in a public place. If someone obtains your work (even without your knowledge), you will incur the penalty!


For programming assignments where you are required to submit output, if you don't get your program to work properly, you might be tempted to fake your output by editing it slightly. Don't do it! If you edit/falsify your output in any way, you will receive a zero on the entire current homework.


I reserve the right to modify previously assigned homework. For example, if I assign homework two class periods in advance of when it is due, I may update the homework via an e-mail or in an intervening class period. Consequently, if you miss a class, it is your responsibility to contact me (or a classmate) to find out what you missed


Upload your homework to the drop box no later than midnight of the day on which the homework is due. Normally, if you upload a homework assignment later than that, then that homework's score will be reduced by one-third for each intervening class period before the homework is turned in. For instance, if homework is due on Tue, Sep 21 and you turn it in on Tue, Sep 28 (two class periods late), then that homework's score will be reduced by two-thirds.


There are two ways to avoid the late-homework penalty:


1.       When you submit your late homework to the drop box, write a note in the drop box message area that says you have a late excuse. Hand me the late-excuse note either in class or in my office. A late excuse is acceptable only if it is signed by a doctor, a sports coach, or a funeral director, and the signer's phone number is on the note.


2.       When you submit your late homework to the drop box, write a note in the drop box message area that says you want to use one (or two) of your virtual no-penalty coupons. Include one virtual no-penalty coupon for each class period that the homework is late. Send me an e-mail that tells me to look in your drop box for your late homework. (Sending an e-mail is important. If you don't send an e-mail, I probably won't see your drop box message.)


You are given two virtual no-penalty coupons at the beginning of the term. They are intended to be used for lateness due to family problems, sickness, computer problems, USB flash drive problems, Internet problems, etc.


When virtual no-penalty coupons are used, I record them in my online grade book. At the end of the semester, your overall percentage will be increased by half of a percentage point for each of your unused coupons. The number of unused coupons is taken from my grade book (this overrides any student claims of coupon usage).


Towards the end of the semester, a student may notice that a homework score has not been recorded in the grade book. This unfortunate occurrence may be caused by student error, teacher error, or the whim of the computer gods. To avoid receiving a zero on the missing homework, the student must provide evidence that the homework was done on time.


Please do not ask for exceptions to the homework policies.





You will be allowed to take a make-up test only if you give me a note that is signed by a doctor, sports coach, or funeral director, and the signer's phone number is on the note. Make-up tests will tend to be harder than the original tests. All make-up tests must be taken within one week of the original test's date.


Pop quizzes will be given within the first three minutes of the scheduled class time. Quizzes are intended to encourage: 1) prompt arrival, and 2) reading the assigned material before class. You may be excused from a missed quiz by providing an acceptable excuse. An excuse is acceptable only if it is signed by a doctor, a sports coach, a funeral director, or a teacher and the signer's phone number is on the note.







For this course, you are required to have Internet access. To obtain lecture slides, homework assignments, and other documents, you'll need to print them from my course web site. I've set up my course web site within the Park University Online system. To learn the basics of the Park University Online system, follow the instructions on the eCompanion Access Instructions document found at http://captain.park.edu/ecompanion.


Note that I created my course web site with the help of eCompanion, a web site creation tool used by the Park University Online system. The eCompanion tool allows teachers to create web sites with lots of different features. In the interest of keeping things simple and only using what I need, I've chosen to ignore some of those features. For example, I'm not using the chat room. You'll use my web site for 1) submitting your homework, 2) getting course documents, and 3) viewing your scores and overall grade.


1.       Submitting your homework:


Upload your homework document to the appropriate drop box on the course's web site.


2.       Getting course documents:


To find a posted item (a set of lecture slides, a tutorial, etc.) on my course web site, first look under the Doc Links menu at the left. If the item is not there, then look in the Doc Sharing page. In the Doc Sharing page, you'll first need to choose a Select View item and then click Go.


After opening a set of lecture slides, to print them, select PowerPoint Lecture Slides from the Select View drop-down menu. Click on the appropriate lecture-slides file link. In the opened file, perform a File / Print command. In the Print what: text box, select Handouts. Select an appropriate number in the Slides per page box. Click OK.


How do you know what to print from my course web site? The course schedule at the bottom of the syllabus tells you what's covered in each class period. That material is accompanied by a document(s) that's posted on my web site. Usually, you'll only have to print a PowerPoint lecture-slides document, but sometimes you'll have to print other documents such as a tutorial or a style guidelines document.


How do you know when to print from my course web site? I wish that I could post everything for the whole semester on the first day of class. Alas, I update things as I go, and that prevents me from posting early. Nonetheless, I'll make every effort to have documents posted by 11 PM the night before the material is shown on the schedule. If I don't get them posted by 11 PM, I'll e-mail you to tell you the status. Bottom line – check the schedule before every class period and print the appropriate document(s) from my web site. It's particularly important that you print my lecture notes prior to the lecture. That way, you'll be able to take supplemental notes directly on top of your hardcopy version of my lecture notes.





I will need to e-mail you on a regular basis throughout the semester for various reasons. It's up to you to ensure that I'm able to do so. If I'm not able to do so, then you'll miss out on important correspondences and your grade might suffer.


Every Park University student automatically has an e-mail account on Park's e-mail server. Your e-mail address is first.last@park.edu where "first" is your formal first name and "last" is your last name. For example, Bob Smith's e-mail address would be robert.smith@park.edu. To use your Park e-mail account (retrieve and send e-mail), go to http://gmail.park.edu and follow the web site's instructions in order to log in.


I recommend that you abandon any other e-mail addresses that you have and that you start using your Park account. If you do not want to do that, then I require that you contact ITS (helpdesk@park.edu or 816-584-6768) and ask them how to set up the forwarding feature for your Park e-mail account. With forwarding on, I'll be able to e-mail your Park account and it will automatically be forwarded to your chosen account.

Course Topic/Dates/Assignments:
See attached.

Academic Honesty:
Academic integrity is the foundation of the academic community. Because each student has the primary responsibility for being academically honest, students are advised to read and understand all sections of this policy relating to standards of conduct and academic life. Park University students and faculty members are encouraged to take advantage of the University resources available for learning about academic honesty (www.park.edu/current or http://www.park.edu/faculty/).from Park University 2011-2012 Undergraduate Catalog Page 93

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. from Park University 2011-2012 Undergraduate Catalog Page 93

Attendance Policy:
Instructors are required to maintain attendance records and to report absences via the online attendance reporting system.

  1. The instructor may excuse absences for valid reasons, but missed work must be made up within the semester/term of enrollment.
  2. Work missed through unexcused absences must also be made up within the semester/term of enrollment, but unexcused absences may carry further penalties.
  3. In the event of two consecutive weeks of unexcused absences in a semester/term of enrollment, the student will be administratively withdrawn, resulting in a grade of "F".
  4. A "Contract for Incomplete" will not be issued to a student who has unexcused or excessive absences recorded for a course.
  5. Students receiving Military Tuition Assistance or Veterans Administration educational benefits must not exceed three unexcused absences in the semester/term of enrollment. Excessive absences will be reported to the appropriate agency and may result in a monetary penalty to the student.
  6. Report of a "F" grade (attendance or academic) resulting from excessive absence for those students who are receiving financial assistance from agencies not mentioned in item 5 above will be reported to the appropriate agency.

Park University 2011-2012 Undergraduate Catalog Page 96

Disability Guidelines:
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. 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 .


CS352 Schedule

CS352 schedule


This material is copyright and can not be reused without author permission.

Last Updated:8/6/2011 10:00:37 AM