
Instructor: Chris Fischer
E-mail: cfischer@cis.udel.edu
Office hours: Before Class and by Appointment
Web: http://www.cis.udel.edu/~cfischer/
Teaching Assistant: Xiaolin Yang
E-mail: xiaolin@udel.edu
Office:
Office hours:
You can also expect that I will provide you a LOT of resources to succeed in this course. I will provide as many outside references and sample code as I can. I will also make myself available for questions as much as possible. If possible, reach me by email, during the week. I will usually get back to you very quickly. However, I do have two rules.
Other important points:
You are strongly encouraged to come to class. While I will put
some material up on the web, it will be hard to do well in this course
without coming to class. Reading the relevant chapters ahead of time is
also a good idea. Last semesters class convinced me to post the Powerpoints
ahead of time. I'll do that again, but only if people show up regularly
for class.
Special Rule: Your final grade cannot be more than one letter grade higher than your exam average. This ensures that your final grade reflects your mastery of the basic concepts of the course.
Lab/Project submission: All Labs must be submitted to the TA,
either in person on in their mailbox. All Projects must be personally handed
to the TA - if you place it in their mailbox, you will receive a zero on
it.
Homework Submission: Homeworks should be submitted to me. If the homework involves a programming assignment, it has to be done on a computer, with appropriate test runs.
All papers MUST be stapled. Unstapled papers will lose 10 points.
Coding conventions: I will go over coding conventions in the second or third lecture. Your code should generally follow it, or you will lose points. Code that can't be followed clearly by other people is far less useful (more on this later.)
Lateness: Assignments are due by the end of class on the date they are due. After that, they lose 5%/day, up to a maximum of 7 days late. Labs can be turned into my or the TA's mailbox, with the DATE and TIME of submission clearly marked on it. Any paper that doesn't have the date and time clearly marked on it on the first page (Either circled, if the printout shows a timestamp, or otherwise written) will lose 10 points.
Academic Dishonesty: DO YOUR OWN WORK. You as specifically NOT permitted to discuss solutions to problems with other students or share code.
I haven't been out of school long enough to forget how rampant cheating is. So before you think about sharing solutions, know this much going in.
Grading Policies: I'm going to grade on the standard curve (>93=A,
>90=A-, >87 B+, etc.). This is guaranteed. Depending on class performance
or other factors, I might adjust this scale down (to help everyone) I will
never adjust it up.
Also, all your grades will be posted online (via a code name) so that
you always know exactly where you are throughout the semester. Please check
online and make sure all your grades are correct.
Your grade for the semester will be based on:
| Tests: | 50% of final grade | |
| Projects: | 25% of final grade | |
| Labs + Homeworks | 25% of final grade |
Class participation can positively affect a borderline grade.

| Date | Topics | Resources | Readings | What's Due |
| August 31 | Introduction To Course | Lecture 1 | ||
| September 2 | C++ Basics | Lecture 2 | Savitch Chapter 1 | |
| September 5 | LABOR DAY - NO CLASS
Go to the beach! |
|||
| September 7 | Algorithms, Casting, Control Flow | Savitch Chapter 2
Just Enough Unix Chapter 1 |
||
| September 9 | Loops, File Processing | Coding Standards | Just Enough Unix Chapter 2 | |
| September 12 | File Processing, Functions | Lecture 3 | Savitch Chapter 3
Random Number Exploit |
Lab 1 |
| September 14 | Storage Class, More Functions | Lecture 4 | Savitch Chapter 4 | |
| September 16 | More functions | Lecture 5 | ||
| September 19 | Recursion | Lecture 6 | Lab 2 | |
| September 21 | More recursion, references | Floating Point Examples | ||
| September 23 | More references, Inline functions | Homework 1 | ||
| September 26 | Start Arrays | Lecture 7 Code from Class | Lab 3 | |
| September 28 | Review Homework 1, Review for Exam | |||
| September 30 | Exam 1 | random.cc typecast.cc | ||
| October 3 | More Arrays | Lecture 8 Bubblesort Example | Project 1 | |
| October 5 | More Arrays, Strings, Start Pointers | Lecture 9 | Chapter 9 | |
| October 7 | Pointers! | Chapter 10 | ||
| October 10 | Pointers Continued | Code from Class | Lab 4 | |
| October 12 | Even more pointers | Code from Class | ||
| October 14 | Structs, Memory Allocation | Code from Class | ||
| October 17 | Linked Lists | Lab 5 | ||
| October 19 | More Linked Lists | |||
| October 21 | Even more linked lists | Code from Class | ||
| October 24 | More Linked List Review, Start Classes | Lecture 12 | Chapter 6 | Lab 6 |
| October 26 | Classes | |||
| October 28 | Fall Break - No Class! | |||
| October 31 | Review for Exam | |||
| November 2 | Exam 2 | Project 2 | ||
| November 4 | Constructors | Lecture 13 | Chapter 7 | |
| November 7 | Review Exam, Finish Constructors | |||
| November 9 | Const correctness, this pointer | Lecture 14 | ||
| November 11 | Friend functions, Operator Overloading | Lecture 15 | ||
| November 14 | Friend functions and Operator Overloading | Lecture 16 | Lab 7 | |
| November 16 | Inheritence | |||
| November 18 | Inheritence | Lecture 17 | ||
| November 21 | START THE PROJECT | |||
| November 23 | ||||
| November 25 | Thanksgiving - No Class! | |||
| November 28 | Lab 8 | |||
| November 30 | Lecture by Dr. Conrad | |||
| December 2 | Inheritence | Lecture 18 | Project 3 | |
| December 5 | Inheritence, Virtual Functions | Lecture 19 | ||
| December 7 | Review for final | |||
| December 9 | Final Exam, 8AM, KRB 100 |