Spring 2006 - Syllabus & Schedule
http://csserver.evansville.edu/~hwang
http://csserver.evansville.edu/~hwang/s06-courses/cs215.html
Programming projects will be graded using the following criteria
with the weights as shown.
| 65% | Correct results, including command line arguments and file I/O | ||
| 10% | Error checking, including proper use of exceptions | ||
| 25% | Style, observed coding guidelines, originality |
In addition, there will be an up to 3-point penalty if an
appropriate Makefile is not submitted when required.
Programming projects should be submitted both on-line by email
and in hard-copy printout as explained in the handout Submission
Instructions for CS 215.
There will be two in-class written exams and a comprehensive final written exam. The in-class exams are tentatively scheduled for February 15 and April 1. In addition, there is an evening lab programming practical exam that will be scheduled for 6pm-8pm the week before spring break (tentatively February 27, 6-8pm). The purpose of the practical exam is to demonstrate mastery in using the C++ programming language and the UNIX environment. Therefore, it is necessary to score a minimum of 60% on the practical exam to pass the course (grade of C- or better). Students who fail to do so and are otherwise passing the course will be given a second opportunity to pass the practical exam at the end of the term with a 10% penalty. Final grades will be based on the following weighted distribution:
| 20% | Comprehensive final exam | ||
| 20% | Two in-class exams (10% each) | ||
| 15% | Lab programming practical exam | ||
| 5% | Homework (weighted as indicated in assignment) | ||
| 40% | Programming projects (weighted as indicated in assignment) |
Final grades are based on the final weighted percentage with
some adjustments depending on class distribution. Historically, the
A/B line falls around 88% +/- 2% with subsequent grade levels
every 10%.
Homework and project assignments are due at the instructor's office and/or submitted on-line by 5pm on the date specified. Any assignments arriving after 5pm are considered late. Automatic extensions of up to three days are allowed with the following late penalties:
| 10% | if handed in by 5pm, one day late | ||
| 20% | if handed in by 5pm, two days late | ||
| 30% | if handed in by 5pm, three days late |
Unexcused late work will not be accepted for credit after
three days after the due date without prior arrangements. For the
purposes of counting days, Friday 5pm to Monday 5pm is considered one
day. Please note that the purpose of the automatic late extension is
to allow students leeway when needed. It is usually better to hand in
something late and completed than on-time and incorrect. However,
chronically handing in late submissions will lower your final grade.
Valid excuses for missing exams and handing assignments in
late include illness, family emergencies, religious observances,
official UE events such as varsity games and concerts, etc. They do
not include (most) work conflicts, studying for other classes, staying
home an extra day over the weekend, etc. In general, an excused
absence is one caused by circumstances beyond your control.
The instructor will rely on your integrity on getting work
excused. If you have a valid excuse, put it in writing, sign your
name to it, and give it to the instructor. For religious observances
and official UE events, you must inform the instructor that you will be
absent before the absence occurs, otherwise it will be
considered an unexcused absence.
Excused work must be made up within one calendar week from
the original due date. The late penalty will be applied if this is
not done. Exceptions will be made for serious or prolonged illness,
or other serious problems. Please note: It is your
responsibility to take care of missed or late work.
Asking another person for assistance on specific items in your own code also is permitted, but you may not observe another person's code or solution in its entirety for the purposes of studying or copying it, with or without that person's permission. For example, asking, ``What does this compiler error mean?'' or ``Do I have the correct class syntax here?'' is acceptable. Whereas asking ``Can I see how you coded your stack?'' is not acceptable.
In particular, since UNIX systems tend to be open by default, it is absolutely forbidden to ``rummage'' around the csserver file system looking at anyone else's work even if they have not set the file permissions to prevent such observation. (For those that would rather not rely on the integrity of others, it is suggested that all work for this class be put into a subdirectory that has its permissions set to owner only.)
| Week of | Monday | Tues | Wednesday | Thur | Friday |
| 1/09 |
|
Introduction UNIX, g++, make |
C string tutorial argc, argv |
||
| 1/16 | MLK, Jr. Day No classes |
File streams |
Chapter 1.1-1.5 ADTs & Classes |
||
| 1/23 | Chapter 1.7-1.8 C++ strings |
Chapter 2.1-2.3 Exception handling String streams |
Chapter 2.4 Overloading |
||
| 1/30 | Chapter 3.1-3.2 Selection sort Search |
Chapter 3.3-3.4 Algorithm analysis |
Chapter 3.6 Recursion |
||
| 2/06 | Chapter 3.7 Recursion |
Chapter 3.5, 4.1-4.3 Templates Vectors |
Chapter 4.3-4.4 Using vectors Insertion sort |
||
| 2/13 | Exam 1 Review |
Exam 1 Material to 2/13 |
Chapter 5.1-5.2 Pointers Dynamic arrays |
||
| 2/20 | Chapter 5.1-5.2 Multi-dimensional dynamic arrays |
Chapter 5.3-5.4 Dynamic classes |
Chapter 5.5-5.6 Dynamic classes |
||
| 2/27 | Debugging, gdb 6pm-8pm Practical Exam, KC-267 |
Class canceled Instructor out of town |
Class canceled Instructor out of town |
||
| 3/06 | Spring Break No class |
Spring Break No class |
Spring Break No class |
||
| 3/13 | Chapter 6.1-6.2 Lists, Iterators |
Chapter 6.3-6.4 List operations |
Chapter 7.1-7.5 Stack ADT |
||
| 3/20 | Chapter 7.4-7.5, 8.1-8.3 Stacks, Queue ADT |
Chapter 8.4-8.5 Queues |
Chapter 9.1-9.3 Linked lists |
||
| 3/27 | Chapter 9.4 Using linked lists |
Exam 2 Review |
Exam 2 Material from 2/17 to 3/29 |
||
| 4/03 | Chapter 9.5-9.6 Doubly-linked lists |
Chapter 10.1-10.3 Binary trees |
Chapter 10.3-10.4 Traversing binary trees |
||
| 4/10 | Chapter 10.5 Binary search trees BST ADT |
Chapter 10.6-10.7 Using BSTs BST class |
Easter break No class |
||
| 4/17 | Easter break No class |
Chapter 14.1-14.2 Heapsort |
Chapter 8.6, 14.3 Priority queue ADT |
||
| 4/24 | Chapter 15.1 Quicksort |
Chapter 15.1 Mergesort |
Chapter 15.1 Comparing sorting algorithms |
||
| 5/01 | Last day of class Course review |
|
|
||
| 5/08 | Final Exam 2:45pm |