The course consists of the following elements:
- Lectures: There will be a total of 30 hours of lectures.
- Reading: We will be covering most of the C++ Primer Plus text by Stephen Prata.
- Assignments: Weekly assignments will be based upon material covered in the week's lectures and will include a substantial design project for the last three weeks of the quarter.
- Exams: There will be one in class exam of two hours.
We will try to keep the workload at about fifteen to twenty hours per week outside of the lectures.
Software development often takes a lot more time than we expect. Frustration can be high as we develop things and learn the new tools; make sure to ask for help rather than spend countless hours making no progress.
Remember the old saying, We had better get the coding done quickly because we have a lot of debugging to do. This is an approach we see all too often even with professional programmers. We strongly encourage you to take the time as you start each design to think it through at the architectural level first then develop, test, and integrate the individual pieces. You will find you will have very little debugging to do.
We will discuss the weekly assignments in class the week after they are due and will make solutions available on the course web in a timely fashion.
Due Dates...
Weekly Assignments:
Will be due by the start of class on the following week
Final Project
Will be due on the last day of instruction.
Grading...
Course:
To receive credit towards the Certificate Program, you must attend at least 8 classes and perform reasonably well on the exam, homework, and project.
35% Weekly Assignments
25% Exam
40% Final Project
Weekly Assignments:
A completed assignment comprises the following
- 1. An annotated hard copy of your source code listing,
- All major procedures and functions must be annotated
- Public Interface
- Brief description
- Side effects
- 2. A set of test cases used to test the program,
- All test cases must be annotated
- Public interface
- Brief description
- What is tested
- 3. An annotated hard copy printout of the results of applying your test cases
Programs will be evaluated based upon a demonstrated working solution, documentation, test, and clarity/neatness.
Plauger, The Draft Standard C++ Library, will be used as the standard for syntax and style.
Point distribution
5 Working Design that Meets Specifications
5 Annotation
5 Test Cases
X Variable Bonus - InnovationHomework will be accepted up to one week after the due date. After that it will not be marked.
Innovation
This is hard to measure, but includes such things as a clever or unusual algorithm, very simple (this does not mean cryptic) solution to a complex problem, generality of solution including reuse of functionality, creative approach to a design, exceeding specifications.
Project:
The project will be the equivalent of 2-3 weeks of homework and will be based upon a practical problem either of the students choice or an assigned project.
Please Note:...In order to pass this class, your final project must meet all of the following requirements
- The project must be written in C++ and implemented as an object oriented design.
- A completed project must include the specification, test cases, annotated source code, annotated results from applying your test cases to your design, and the presentation. If your program and test cases are not properly annotated, it will not be marked.
- The project should incorporate most of the topics covered during the quarter.