C++ and Program Design
4003-703
Fall 2011
http://www.cs.rit.edu/~jmk/cplus703
Announcements
Instructor
Class Meeting
- Room: GOL-1445
- Time: MW 4-5:50pm
Course Goals
This is a bridge course to enhance new graduate students' abilities in C++ and design.
Prerequisites
Outcomes
- Students will describe common design techniques such as problem decomposition,
abstraction, and reuse. Assessment: exams and laboratory assignments.
- Students will implement software designs in a programming language.
Assessment: exams and homework assignments.
- Students will describe the use of design patterns. Assessment: exams and final exam.
- Students will describe the phases of the software development life cycle. Assessment:
exams and final exam.
- Students will distinguish between an imperative style of programming and an object-oriented
style of programming, as well as apply a style as needed. Assessment: exams and final exam.
- Students will identify sources of failure in software systems and apply testing and
debugging strategies to remove them. Assessment: exams, homework assignments, and final
exam.
References
- Teach Yourself C++, Al Stevens
- C++: How To Program, Deitel and Deitel
- Introduction to Programming with C++, Y. Daniel Liang
- The C++ Programming Language, Bjarne Stroustrup
- Accelerated C++, Koenig and Moo
Lecture Notes
Click here for the lecture notes.
Grading
| Exam #1 |
20% |
| Exam #2 |
20% |
| Exam #3 |
20% |
| Homework |
40% |
I will use the following percentage-based grading scale to determine your
final letter grade. This grading scale is subject to change based
on overall class performance.
| 90%<=A<=100% |
| 80%<=B<90% |
| 70%<=C<80% |
| 60%<=D<70% |
| 0%<=F<60% |
Exams
There will be three exams during the quarter. Each will take about 100 minutes
of lecture time. If you miss an exam , you will receive zero for it. Exam 3 will
be given during the finals week. The exam grade is computed by averaging the
percentage scores on your best three exams. There will be no makeups on exams,
nor be exams ever given early.
- Exam 1: Monday, Sep. 26, 2011 (in class) 
- Exam 2: Monday, Oct. 24, 2011 (in class) 
- Exam 3: Monday, Nov. 14, 2011, 10:15am-12:15pm, in GOL-1400 
Homework
The homework assignments will be done in a team of two. Every week a team will meet with
a grader and give a demo for assigned homework problems. Each team member should
be able to explain the solution to the grader. Each student will be graded based
on correctness, your explanation, and the quality of code. Each student may receive
a different grade. Each student must turnin a solution to be graded. The instructor
will distribute signup sheets for the grading during lecture.
Final Exam Week
Exam 3 will be given during the finals week.
General Policies
Any missed exams, projects, or homework assignments will get zero.
Class attendance is very important. I will keep a record of attendance.
This attendance will be considered when a grading difficulty arises.
If you miss a class, it is your responsibility to acquire any missed
materials.
Note that questions about grading must be brought to my attention within
one week after the graded material has been handed back. After that time,
the grade will become permanent.
No extra work will be given to help students to raise grades due to fairness
concerns.
I expect students to respect their instructor, teaching assistants, and
other students in class. Disrespectful behavior will NOT be tolerated.
Do NOT come to class late, leave early, or talk to other students, etc.
However, class participation and discussion are strongly encouraged.
Students are not allowed to use laptops in class unless there is a medical reason.
Your e-mail questions will not be answered over the weekends or out of work
hours. Use the office hours or e-mail me during work hours.
Schedule
Class Schedule and Readings
| Week |
Lecture Topics
| Homeworks
| Special Events
|
| 1
| C++ Basics
| HW1
|   |
| 2
| C++ Basics
| HW2
| Drop/Add deadline |
| 3
| Classes and Objects
| HW3
|   |
| 4
| Inheritance, Polymorphism
| HW4
| Exam #1 |
| 5
| Polymorphism, Exception Handling
| HW5
|   |
| 6
| C++ STL
| HW6
|   |
| 7
| Templates
| HW7
|   |
| 8
| Operator Overloading
| HW8
| Exam #2, Withdrawal deadline |
| 9
| I/O Streams
| HW9
|   |
| 10
| UML and OO Design
|   |
  |
| 11
|   |
  |
Exam #3 |
This is a tentative schedule (subject to change as the quarter progresses).
Academic Honesty
Any form of academic dishonesty is strictly prohibited. I will handle any such
incident according to the
DCS Policy on Academic
Dishonesty. Violations of the
Code of Conduct for the Use of Department of Computer Science Facilities
can also result in suspension, expulsion and even criminal charges.
Please refer to the following statements excerpted from the
1998-99 RIT Students Rights & Responsibilities handbook:
Any act of improperly representing another person's work as one's own is construed
as an act of academic dishonesty. These acts include, but are not limited to,
plagiarism in any form, or use of information and materials not authorized by
the instructor during an examination.
If a faculty member judges a student to be guilty of some form of academic
dishonesty, the student may be given a failing grade for that piece of work or
for the course, depending upon the severity of the misconduct.
For the record, I have adopted the following standard policy on academic honesty.
-
You may discuss general issues with other students, or use other reference
materials. Here, the general discussion precludes the detailed techniques
or algorithms for solutions. In this case, any help you receive from someone
or the references must be acknowledged. Failure to acknowledge the
source of a significant idea or approach will be considered cheating or
plagiarism.
-
Note that this does not mean that someone else can do your work.
Unless otherwise explicitly specified, all programming projects and written
assignments you submit must be done independently. You are not allowed to
to look at another student's code/solutions or use the code that others
have submitted in the past.
-
The corollary is that you may not do someone else's work for them either.
A willing supplier of the material is as guilty of academic dishonesty as
the receiver. Students are responsible for securing their work -- printed
copies are not left in public places, and file/directory permissions are
set to be unreadable.
Policy on W and I Grades
RIT policy allows you to withdraw from a course with a grade of W
on or before the Friday of the sixth week in the quarter. After this date,
your instructor cannot give you a W, but must assign you a grade based
on your work.
This course has been designed so that you can complete all the work in one
quarter. Thus incomplete grades will be given only in the most exceptional
circumstances, and then only by prior arrangement with the
instructor who has the final say in this matter.
Disclaimer
Any part of this page is subject to change any time in the quarter. In that case,
you will be informed in advance. Be alert to the announcements.
Last updated 09/05/11