
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: Xioafeng Han
E-mail: han@mail.eecis.udel.edu
Office: 115B Pearson
Office hours: T/Th 5-6PM
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.
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.
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.
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.
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.


Required: C++ How To Program, 4th Edition, by Deitel and Deitel ISBN: 0130384747
Required: Just Enough Unix, 4th Edition, by Anderson, ISBN: 0072463775
Required: C++ in the Lab, 4th Edition, Deitel, Deitel, and Nieto ISBN: 013038478X
| Date | Topics | Resources | Readings | What's Due |
| February 9 | Introduction To Course | Lecture 1 | ||
| February 11 | C++ Basics | Lecture 2 | Deitel Chapter 1 | |
| February 14 | Coding Standards | Coding Standards | Deitel Chapter 2 | |
| February 16 | Algorithms, Casting, Control Flow | Lecture 3 | Using Unix Chapters 1-3 | |
| February 18 | Loops, File Processing | Lecture 4 | Using Unix 6-7 | |
| February 21 | File Processing, Functions | Lecture 5 | Deitel Chapter 3, 14 Random Number Exploit |
Lab 1 |
| February 23 | Storage Class, More Functions | FP Examples | ||
| February 25 | Recursion | Lecture 6 | ||
| February 28 | Pass by Reference, Structs | Lab 2 | ||
| March 2 | Review for Exam | Homework 1 | ||
| March 4 | Work on your Project | |||
| March 7 | Exam 1 | Lab 3 | ||
| March 9 | Go over Exam 1, Start Arrays | Lecture 7 | Deitel Chapter 4 | |
| March 11 | More Arrays | Lecture 8 | Project 1 | |
| March 14 | Strings | |||
| March 16 | Pointers | Lecture 9 | Deitel Chapter 5 | |
| March 18 | More Pointers, Start Linked Lists | Lecture 10 | ||
| March 21 | Linked Lists | Linked List Tutorial | Lab 4 | |
| March 23 | More Pointers/Linked Lists | Lecture 11 | ||
| March 25 | More review on Linked Lists | Homework 2 | ||
| March 28 | Spring Break - No class! | |||
| March 30 | Spring Break - No class! | |||
| April 1 | Spring Break - No class! | |||
| April 4 | Work on Project | Lab 5 | ||
| April 6 | Optional Exam Review at 7PM | |||
| April 8 | Exam 2 | |||
| April 11 | Go Over Exam, Start Classes | Lecture 12 | Deitel Chapter 6 | |
| April 13 | Classes and OOP | Project 2 | ||
| April 15 | Constructors, Destructors | Lecture 13 | ||
| April 18 | More Classes | Lecture 14 | Deitel Chapter 7 | Homework 3 |
| April 20 | Still More Classes | |||
| April 22 | More OOP/Friend Functions | |||
| April 25 | Friend Functions | Lecture 15 | Deitel Chapter 8 | |
| April 27 | Operator Overloading | Homework 4 | ||
| April 29 | Operator Overloading | Lecture 16 | ||
| May 2 | Inheritence | Lecture 17 | Deitel Chapter 9 | Lab 6 |
| May 4 | Inheritence | Lecture 18 | ||
| May 6 | Inheritence | |||
| May 9 | Work on Projects | Lecture 19 | Deitel Chapter 10 | Lab 7 |
| May 11 | Virtual Functions, Polymorphism | Homework 5 | ||
| May 13 | Work on labs/projects | Lecture 20 | ||
| May 16 | Abstract Base Classes, Project help in class | Lab 8 | ||
| May 18 | Review for final | Project 3 | ||
| May 25 | Final Exam, MEM 111, 1-3PM |