EECS 381 - Object-Oriented and Advanced Programming - Fall 2013
Lecture: TTh 3:00 - 5:00, 1014 DOW
(Starting this semester, there is no scheduled "Discussion" section, only a "lecture" section).
- David Kieras
- 3641 Beyster Building
eecs381help at the usual umich and edu address
kieras at the usual umich and edu address
Time, Place, and Logistics
- The Final Exam will be held Friday, December 13, starting at 1:30 PM, ending at 3:30 PM.
- We have two rooms. If your last name starts with A-K, go to DOW 1010 (near the regular classroom); if L-Z go to DOW 1014 (the regular classroom).
- Please leave at least one seat between you and each other person.
- Please move into the middle of the rows so that those arriving later can find seats easily.
- Please place all backpacks, books, etc on the floor before the exam starts.
- Use of computational or data-access devices of any sort will be neither necessary nor allowed during the exam.
All required paper will be provided.
The only equipment you need to bring is a pen or pencil and your hopefully rested and well-loaded brain.
Coverage and Question Style
- The exam will be closed-book, closed-notes. It will be short enough that time pressure will probably not be an issue for most people.
- Coverage will be everything in the course, but by far the final will emphasize the material since the midterm,
starting with inheritance.
- The final exam will be very similar in style to the midterm, so reviewing your midterm and studying the sample questions will give you
the best idea about what the exam will be like in terms of style.
- While some questions may be about low-level coding issues, by far the emphasis will be on concepts and
understanding the "why" and "how does it work."
How to Prepare
- Since my posted lecture notes and assigned handouts cover what I think is most important, using them as a study guide would be a good idea.
- Another guideline for study is to make sure you understand the "why" of what you were supposed to do in the projects.
Reviewing the conceptual discussion in the Project docs would be useful.
- If you haven't already, studying your midterm and understanding why answers are correct and incorrect would be a good preparation as well.
- Good programmers know how to talk about this stuff! So if you have a friend in the course,
a good way to prepare for the exam would be to practice explaining the concepts to each other.
For example, what order of constructor calls happen when you create an object of a leaf class in an inheritance tree? What's the principle?
Another example: when and why do you have to define a destructor function for a class in a hierarchy?
Sample Exam Questions These illustrate the style of questions likely to be on
the exams. These questions are drawn from previous midterms and finals. This is not intended as a study guide because the questions
do not correspond with any particular exam's coverage. Do not ask for answers to these questions or additional sample questions;
this is not a study guide; it is just an illustration of the kinds of questions likely to be on an exam.
Course Resource Materials
Project Grading and Evaluation
General Project Help
Individual Project Information
Links to Project documents and materials are listed here when ready.
Programming Environments for this Course - using C and C++11
General Programming Environment Information and FAQs
Useful Links to C/C++ Information and Resources
- comp.lang.c's C Programming FAQs - excellent!
- Stroustrup's C++11 FAQ. Quick overview of C++11 features.
- Sutter's Mill Herb Sutter on software, hardware, and concurrency. One of the great Gurus.
- Andrzej's C++ blog. Another one of the great Gurus.
- Standard C++. (isocpp.org) News, Status, & Discussion about Standard C++. A good resource, but not introductory level.
- C++ FAQs Lite - excellent, but not yet fully updated for C++11.
- cppreference - A relatively new C and C++ reference site. Looks pretty good, but accuracy not yet clear.
- Bjarne Stroustrup's home page - fun to read, and with lots of good information.
- Association of C and C++ Users. Good links, huge collection of book reviews.
- Boost - a collection of C++ libraries, including those likely to become part of the Standard Library in the future
Examples of other Coding Standards (Not usable for this course)
Interesting and Fun Links