Instructor: James R. Glenn, Ph.D.
Office: AKW 013
Office Phone: TBD
Office Hours: Tue 4:00-5:30pm, Wed 1:00-3:00pm, or by appointment
e-mail: [first name][dot][last name]@yale.edu
TF and ULAs: (see Piazza for hours)
- Jim Miller (Teaching Fellow)
- Omar Ashraf
- Vishnu Murale
- Lea Sparkman
Class Meeting:
Lecture Tue, Thu 11:35am – 12:50pm in WLH 119
Prerequisites: CPSC 223
Recommended References:
- C++ in a Nutshell
by Ray Lischner
ISBN 978-0596002985
(retail price $39.95)
- Effective C++ (3rd edition)
by Scott Myers
ISBN 978-0321334879
(retail price $54.99)
Both are available as ebooks
through the Yale Library; you will need to use the Yale
VPN to access from an off-campus network.
Other Resources:
- Effective STL (2nd edition)
by Scott Myers
ISBN 978-0201749629
- Effective Modern C++
by Scott Myers
ISBN 978-1491903995
Catalog Description:
Object-oriented programming as a means to efficient, reliable, modular, reusable code.
Use of classes, derivation, templates, name-hiding, exceptions, polymorphic functions,
and other features of C++.
Course Outcomes:
Students will be able to
- design an object-oriented solutions to problems
- implement those designs using C++
- use the Standard Template Library (STL) effectively and efficiently
Academic Dishonesty:
Undergraduate students should refer to Yale College's
Undergraduate Regulations and
Definitions of Plagiarism, Cheating, and Documentation of Sources.
The corresponding policy for graduate students is given in the GRAS
Policies and Regulations section on
Personal Conduct.
- Programming Assignments: The code you submit must be the result of your understanding
of the problem. You may discuss concepts and approaches with other students, but you
may not take any written or electronic records from such discussions
(this includes discussions on Piazza; such discussions are electronic records
so you may not post code there).
Furthermore,
you must engage in a full hour of mind-numbing activity (such as watching back-to-back
episodes of Gilligan's Island) before resuming work. This no-record/"Gilligan's Island" rule
applies to code found in online or other published sources as well
(aside from the class notes and material listed on this page, which can be used
without attribution and without triggering the "Gilligan's Island"
rule).
Under no circumstances may you examine a copy of another student's code nor may you provide
a copy of your code to another student.
You may consult course staff for help writing and debugging without attribution and doing
so does not trigger the Gilligan's Island rule.
(The Gilligan's Island rule originated with
Stanley Eisenstat and I obtained it through Stephen Slade.)
- Exams: each student must work individually.
Grading:
- Programming Assignments: 60%
- In-Class Exam: 15%
- Final Exam 25%
Schedule (subject to change):
Week of |
Topics |
Reading Nut = C++ in a Nutshell; Eff = Effective C++ |
Events |
Mon |
Tue |
Wed |
Thu |
Fri |
Exams:
- Midterm Exam: Tuesday, March 5th 11:35am – 12:50pm, SCL 110
- Final Exam: Friday, May 3rd 2 – 4pm, room TBD
There will be no make-up exams. If you have a Dean's Excuse for an exam
then the other exam will be reweighted to make up the difference.