CSCI 205 Data Structures and Abstraction
Instructor: Dr. Ray Schneider
Office Hours: posted on my office door, McK-231 or by appointment.
1. ADTs, Data Structures and Problem Solving with C++ by Larry Nyhoff, Prentice Hall © 2005 ISBN 0-13-140909-3
2. C++ without
fear by Brian Overland, Prentice Hall © 2005 ISBN 0-321-2469-0 (optional)
SAMS Teach Yourself Data Structures and Algorithms in 24 Hours by Robert Lafore, SAMS © 1999, ISBN 0-672-31633-1
Recommendations: Students should acquire an
introductory book on C++ some examples are:
C++ for Dummies 5ed by Stephen Randy Davis, Wiley © 2004
C++ Programming in easy steps by Mike McGrath, Barnes and Noble © 2005
The course is designed to cover the CS2 curriculum recommendations of the ACM (Association of Computing Machinery). The major objectives are: 1) To continue developing a disciplined approach to the design, coding, and testing of programs written in a high level language. 2) To teach the use of data abstraction using as examples data structures other than those normally provided as basic types in current programming languages; for example linked lists, stacks, queues, and trees. 3) To provide an understanding of the different implementations of these data structures. 4) To introduce searching and sorting algorithms and their analysis, and 5) To provide an introduction to the various areas of computer science and thereby provide a foundation for further studies in computer science. Students will be expected to keep and maintain a programming journal and this will be among the items graded.
Attendance is required and will be checked each period and excessive lateness and absenteeism may result in grade reduction or failure.
Assignments — There will be weekly assignments due. Each assignment will be associated with a Work Unit Plan (WUP) and the assignment will involve research, acquisition of a critical skill, and demonstration of the skill by preparation of applicable deliverables that constitute the output of the assignment. Some assignments are expected to take multiple weeks and may have variously scheduled deliverables. The details will be provided as part of the assignment's WUP. Students are expected to maintain progress logs describing their progress and performance on the assignments and may be asked to give an oral or brief written progress report at any time.
Grading of Assignments — Assignments will be graded on a five point scale described briefly below:
5 — an outstanding assignment, sustained 4 and 5 grades is an A.
4 — a good assignment, sustained performance at this level constitutes a B.
3 — a satisfactory result, but not distinguished. Work at this level is a C.
2 — somewhat unsatisfactory in one or more dimensions. Work at this level will lead to a D for the course.
1 — unsatisfactory work, but turned in. Sustained work at this level will lead to failing the course.
0 — the assignment is not turned in.
Course Grading — the course is graded based on the assignments performed by the student using a grading method termed contract grading. The terms of the contract involve satisfactory completion of the weekly assignments. The term milestones will be used interchangeably to refer to the observable deliverables associated with the WUPs.
A — a course grade of A will be assigned for sustained performance at the level of 4 and 5 weighted more heavily at the level of 5.
B — a course grade of B will be assigned for sustained performance at the level of 3 and 4 weighted more heavily at the level of 4.
C — a course grade of C will be assigned for sustained performance at the level of 2 and 3 weighted more heavily at the level of 3.
D — a course grade of D will be assigned for sustained performance that only rarely attains the 3 level and is predominantly at the 2 or even 1 level.
Penalty for Late Work — Late work may be declined for no grade or it may be accepted for a reduced grade at the discretion of the instructor. It is important to note that repeated failure to do work on time and on schedule is grounds for dismissal in the workplace. Responsibility, reliability and accountability are important values which need to be acquired and should become second nature.