| Instructor | Jaymie Strecker |
| Lectures | 10:00-10:50am MWF in Taylor 200 |
| Labs | 1:00-3:50pm Th in Taylor 200 |
Textbooks:
Programming Language: We will use C++. Documentation to help answer your questions about C++ can be found in Appendices C-E of the textbook and at websites such as www.cppreference.com and www.cplusplus.com.
IDE (integrated development environment): In labs and lectures, we will use Xcode. It comes bundled with Mac OS X or can be downloaded here. Documentation to help you learn Xcode is here.
Schedule, lecture slides, labs, homeworks, announcements, etc.: On Woodle.
| Two midterm exams | 20% |
| Final exam | 15% |
| Labs | 30% |
| Homework | 25% |
| Class participation | 10% |
Participation: You will get more out of this course if you come to class prepared, speak up during discussions, and complete in-class exercises---and you will get a better grade. Please ask questions if you don't understand something! If you miss a lecture, you are responsible for getting the notes from a classmate.
Homework: This may include written exercise sets and programming assignments (large and small). Each homework will be assigned with a due date and time. Late homework will not be accepted. Start early in case you have questions---or in case you get sick the day before the assignment is due.
Labs: Each lab assignment is due at the end of lab (3:50pm). Late labs will not be accepted. To finish the lab on time, you will need to read the assignment and think through the problems beforehand. You may begin the lab early to make sure you finish on time. During the lab, ask questions as soon as you run into problems. If you miss a lab session, you will get a 0 on the lab assignment unless you have a very valid excuse AND you have notified me in advance.
Special notes on programming assignments (homework and labs): Programs will be graded on compilation, correctness (logic), documentation, readability of source code (indentation, mnemonic names, etc.), readability of output, and following directions for submission. For labs, programs must be submitted as a zipped Xcode project folder. For homeworks, programs may be submitted either as a zipped Xcode project folder or as a zip file containing source code (.cpp and .h files). The latter option is provided so you can use an alternate IDE, such as Visual C++ for Windows, if you prefer. If the submitted program does not compile in Xcode, or if I cannot import it just by dragging and dropping files into the Source folder, then you lose 50% of points for the program. (Hint: If using Visual C++, remove references to stdafx.h.)
Exams: Any material covered in class, homeworks, labs, or the assigned reading is fair game for exams. You are responsible for being in class during exams.
Extra credit: Extra credit will be awarded for programming assignments (homework and labs) that impress me while adhering to the requirements. Things that impress me include exceptional documentation, a clever/efficient (but readable) solution, or an elegant user interface. Other opportunities for extra credit may be announced during the semester. All extra-credit opportunities will be available to all students.
The College's understanding and expectations in regard to issues of academic honesty are fully articulated in the Code of Academic Integrity as published in The Scot's Key and form an essential part of the implicit contract between the student and the College. The Code provides a framework at Wooster to help students develop their own personal integrity.
While you are a student at this college, you will be treated as an adult. You are expected to know and abide by the rules of the institution as described in The Scot's Key and the Handbook of Selected College Policies. Particular attention should be directed to the appropriate use of materials available online through the Internet. It is important that you read and understand the ethical use of information. Whether intentional or not, improper use of materials can be considered a violation of academic honesty.
Cheating in any of your academic work is a serious breach of the Code of Academic Integrity and is grounds for an F in the entire course. Such violations include turning in another person's work as your own, copying from and source without proper citation, crossing the boundary of what is allowed in a group project, and lying in connection with your academic work. You will be held responsible for your actions. If you are unsure as to what is permissible, please contact your course instructor.
Learning disabilities: The Learning Center offers a variety of services and accomodations to students with learning disabilities based on appropriate documentation, nature of disability, and academic need. In order to initiate services, students should meet with Pam Rose, Director of the Learning Center, at the start of the semester to discuss reasonable accomodations. If a student does not request accomodations or does not provide documentation, the faculty member is under no obligation to provide accomodations. You may contact the Learning Center at ext. 2595 or through email at prose@wooster.edu.
Chronic medical/psychological conditions: The Longbrake Student Wellness Center (LSWC, ext. 2319) is available to help students handle chronic medical/psychological conditions (such as mono or depression). If you have a condition that may significantly affect your ability to succeed in this class, and if you are comfortable in signing a release to allow LSWC to talk to me about your care, I am willing to work with LSWC to determine what accomodations would be appropriate in your situation.
| Week | Topic |
|---|---|
| 1 (1/12-1/16) | Introduction to C++ |
| 2 (1/19-1/23) | Software development |
| 3 (1/26-1/30) | ADTs |
| 4 (2/2-2/6) | Data structures |
| 5 (2/9-2/13) | Classes |
| 6 (2/16-2/20) | Classes |
| 7 (2/23-2/27) | I/O and strings |
| 8 (3/2-3/6) | Lists |
| - (3/9-3/13) | (Spring break) |
| - (3/16-3/20) | (Spring break) |
| 9 (3/23-3/27) | Stacks |
| 10 (3/30-4/3) | Queues |
| 11 (4/6-4/10) | Templates & standard containers |
| 12 (4/13-4/17) | Recursion |
| 13 (4/20-4/24) | Recursion, algorithm analysis (No class Fri. 4/24: IS Showcase) |
| 14 (4/27-5/1) | Searching |
| 5/6/09 | Final exam (Wed. 9:00am) |