|When:||Wednesdays 3:00-4:30pm, January 21st to April 1st|
|Office Hours:||Mondays and Tuesdays 4:00-5:00pm, in the new ENS Intel lab (located in the basement of the ENS building, right across from the elevators, room 1), or by appointment|
|Prerequisites:||CS307, CS313E, or EE322C with a grade of at least C, or permission of the instructor|
(recommended, not required)
|Mailing List:||Class Mailing List|
This is an ambitious schedule -- we may have to shift some content around as the semester progresses.
|1/21||1, 4||Introduction, history of C++, basic syntax|
|1/28||5, 6||Data types, bit-twiddling, casting||Assignment #1: How Big is Big?|
|2/4||3, 9, 10||Defining types||Assignment #2: Defining BigInt|
|2/11||7, 8||References, const and a few pointers||Assignment #3: On Being Correct|
|2/18||15, 17, 18||Stream I/O||Assignment #4: File I/O|
|2/25||11||Overloading, friends||Assignment #5: Hello, operator|
|3/4||8||Pointers||Assignment #6: Adding (and displaying)|
|3/11||10||Memory management||Assignment #7: Memory Management|
|3/25||14, 22||Templates and the STL||Assignment #8: Super Freqs|
|4/1||12, 13||Inheritance & Polymorphism|
vncserveron a department linux machine and then use this client to connect to that machine from your windows host.
This purpose of this course is to provide some exposure to the C++ programming language. We'll attempt to cover basic syntax, defining classes, I/O, overloading, pointers, references, and arrays, memory management, templates and the Standard Template Library (STL), inheritance and polymorphism...and anything else that we have time for.
The course prerequisites are listed above. If you're unsure if you've programmed enough to take this course, talk to me after class or via email.
The only work that you'll have to do for this course consists of 8 assignments. Each assignment will be worth 1/8th of your grade. There will be no tests or quizzes.
You should work on the assignments by yourself, i.e. no pair programming.
Your assignments will be evaluated on correctness, clarity, and style.
Assignments are typically due on Tuesday nights before class at 11:59pm. If you miss this midnight deadline, but can still get something turned in before class at 3:00pm the next day (Wednesday), you can get half credit. Anything turned in after 3:00pm on Wednesday will receive no credit.
Don't copy code. It's okay to talk about coding and the concepts involving coding, but don't blindly use someone else's code.
It's impossible to completely define what constitutes cheating, so let's just say that if you wouldn't feel comfortable telling me what you're doing, don't do it.
Think about it -- it's a 1-credit class. Any cheating that I catch I have to report to the university. It's totally not worth it for a tiny little class like this. If you find yourself in a bind, email me and we'll work something out.
Parts of this course were adapted from or inspired by the CS105 courses of Kurt Dresner, Maria Jump, Shimon Whiteson, and Greg Kuhlmann.