This is a course on object-oriented programming comparing C++ to Java. It is also strongly focused on using tools to improve the quality of software development, including source control with git and GitHub, unit testing with Google Test, coverage with gcov, continuos integration with Travis CI, and documentation with Doxygen.
Estimates of the required effort to do well are:
% g++ --version g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
% gcov --version gcov (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
% gprof --version GNU gprof (GNU Binutils for Ubuntu) 2.24
% git --version git version 2.5.0
% doxygen --version 1.8.6
% dpkg -l libgtest-dev ||/ Name Version Architecture Description +++-===========================-==================-==================-=========================================================== ii libgtest-dev:amd64 1.7.0-3utcs~2 amd64 Google's framework for writing C++ tests - header files
The following coursework with a grade of at least C- in each: Computer Science 311, 311H, 313H, or 313K; Computer Science 307, 314, 314H, 315, or 315H; Computer Science 310, 310H, 429, or 429H; and Mathematics 408C, 408K, or 408N.
Any student with a documented disability who requires academic accommodations should contact Services for Students with Disabilities at 471-6259 (voice) or 1-866-329-3986 (Video Phone) as soon as possible to request an official letter outlining authorized accommodations.
You must provide this letter to me by the 12th class day. Project deadlines will not be extended for special-needs students.
To be eligible for an incomplete you must have a letter grade of C or better and a written, verifiable excuse for missing the last test. This is a necessary but insufficient condition for receiving an incomplete.
Students who violate University rules on academic dishonesty are subject to disciplinary penalties, including the possibility of failure in the course and/or dismissal from the University. Since such dishonesty harms the individual, all students, and the integrity of the University, policies on academic dishonesty will be strictly enforced. For further information please visit the Student Judicial Services Web site: Student Judicial Services.
Programming assignments will be compared using Moss. You may share design ideas with your fellow students. You may not share code in any way with your fellow students.
The penalty for academic dishonesty will be a course grade of F and a referral of the case to the Dean of Students. Further penalties, including suspension or expulsion from the university may be imposed by that office.