CS 291 SV Introduction to Data Structures

advertisement
Fall 2009
York College, CUNY
CS 291 SV Introduction to Data Structures
4 hrs, 4 credits, Prerequisite: CS 172; Pre-coreq: MATH 141.
Not open to students with credit in MATH 291.
Danyang (Dan) Zhang, Ph.D.
Office: 4G04C
Office hours: M 1:30pm-3:30pm
Phone: (718)262-2749
E-mail: dzhang@york.cuny.edu
Time: M, W 6:00—7:50pm
Place: CL-206
Class Website: http://faculty.york.cuny.edu/dzhang/cs291.htm
Course Description
This course will give you an introduction to data structures in computer programming. Besides
learning the basics of the programming language C++ and various data structures such as linked
lists, stacks and queues, this course has a heavy focus on problem solving. You will learn and
practice to analyze and understand given problems and then design, implement and test solutions
for them. This course will introduce you to a methodology of systematic problems solving used
in computer science and related fields. This approach to problems will be useful in many
different areas beyond computing or computer science.
Required Textbook
C++ Plus Data Structures, 4th Edition, by Nell Dale
Publisher: Jones and Bartlett Publishers, ISBN 0-7637-4158-2
Course Objectives
By the end of the semester, students will be able to:
(1) The students will understand the concepts of the following data structures and know how to
implement them in the programming language C++:
• Unsorted List
• Sorted List
• Stack
• Queue
• Linked List
(2) The students will understand how recursion works and know how to design recursive
programs;
(3) The students will know the basic sorting and searching algorithms.
Grading Policy
Homeworks (written and programming) 10%
Lab and Projects 30%
Midterm 20%
Final Exam 30%
Attendance, Class Participation and Quizzes 10%
1
Fall 2009
York College, CUNY
Class Requirements
1. Attendance is MANDATORY. Students are required to attend each class. For absence
due to emergency reasons, related documentation needs to be submitted to the instructor.
2. Projects are usually group projects. Report to the instructor if any group member does not
contribute to the completion of the projects. No contribution, no credits.
3. Late submissions will be deducted by 10% of the total points for each day late except
a college verified excuse.
4. Quiz can not be made up.
5. Other academic policies. Refer to “Academic Integrity Policy” below.
Class Schedule
Week
Lecture topic
1
Review structured programming concepts
2
Objects and classes: using objects, data members and functions
3
Objects and classes: constructors, data access (public and private)
4
Pointers: Dynamic Memory Allocation
5
Pointers: pointers to objects
6
Pointers and Arrays: Dynamically allocated arrays
7
Review and Midterm
8
Abstract Data Type, Unsorted List
9
Sorted List: concepts and implementation
10
Stack and Queue: concepts and implementation
11
Linked List: concepts and implementation
12
Recursion
13
Sorting and Searching
14
Class wrap-up and review
Final Exam
C++ IDE (Integrated Development Environment)
1. Microsoft Visual Studio: commercial software, installed in the lab, runs on Windows.
2. Bloodshed http://www.bloodshed.net/ freeware, runs on Windows and Linux.
Academic Integrity Policy
Academic dishonesty is prohibited. Penalties include failing grade, suspension, and expulsion:
http://web.cuny.edu/academics/info-central/policies/academic-integrity.pdf
No use of cell phone or any communications device during class and exam hours; No cheating,
no act of plagiarism in any forms or media. Students are required to follow the CUNY policy on
academic integrity, which is available on the CUNY site above. A brief description of the policy
is also included in the Schedule of Classes booklet.
Accommodations for Learning Disabled
Special arrangement can be made for students with verification letter from the Office in 1G02.
2
Download