Instructor: Rob Hasker (414-277-7326)
Office hours: See my home page: https://faculty-web.msoe.edu/hasker/
Textbooks: | A Tour of C++, 2nd Ed., Bjarne Stroustrup, Addison Wesley, 2018, ISBN 978-0134997834 |
Programming Ruby - The Pragmatic Programmer's Guide, Dave Thomas and Andy Hunt, 2001; available at http://ruby-doc.com/docs/ProgrammingRuby/ |
Course Description:
This course introduces students to additional scripted, procedural, and
object-oriented programming languages including C and C++. Students are
introduced to the concepts of compilation, memory management, linking,
low-level types, efficient implementation of objects, and the Standard
Template Library.
Prereq: CS 2852
Format: 3 lecture hours, 2 lab hours, 4 credits
Course Outcomes: On successful completion of this course, the student will be able to
Grading:
Percentage | |||
---|---|---|---|
Labs | 35% | ||
Quizzes/homework: | 20% | ||
Midterm: | 20% | ||
Final Exam: | 25% | ||
Total: | 100% |
The MSOE grading scale will be used, though I reserve the right to award higher grades to individual students if it increases fairness. In addition, successfully demonstrating mastery of course outcomes is a prerequisite for a passing grade. This includes being successful on the final exam and, in some cases, completing assignments even if worth zero points.
Unless otherwise announced, late lab solutions will be penalized 5% if submitted up to three days late and 15% if submitted between four and seven days late. Solutions submitted more than one week late will be worth zero points unless there is advance arrangement for extenuating circumstances. Other assignments (such as homeworks) are worth zero points if late.
All assignments must be submitted by the Saturday after week 10. Assignments will not be accepted after that unless there is advance, written approval.
Assignments are individual unless we explicitly state otherwise. It is OK to look at another student's code with them to help them fix an error, but it is not OK to have a copy of another student's code at any time or in any form. Electronic tools will be used to identify plagiarism, and students guilty of either copying or "loaning" out their code will be penalized. If you store your code in a repository, do not make it public.
Code will be graded for both correctness and meeting standards. The most frequent mistake is in using (hard) tab characters in source files - this is a practice that is strongly discouraged in industry, and it makes your code harder to grade. Configure your IDE to insert spaces instead of tabs.
Students are expected to use standard tools such as Eclipse and the specified version of C++. There may be assignments for which you must demonstrate using these tools. Learning new tools is an important part of this class.
Note: you cannot push build files for the unsupported IDEs to code repositories, especially VisualStudio and CLion. These tools generate large build products and have special requirements.
Missed quizzes cannot be made up, but at least one of the lowest quiz or homework scores will be dropped.
Using phones and laptops during class to check social media, write papers, etc. is a form of missing class!
Strongly consider taking hand-written notes for this class. The slides omit many details on purpose. Do not try to type your notes; research shows hand-written notes are the most effective way to capture key material. Note the campus printers will easily scan documents so you can organize your notes electronically.
Do not record video or audio of lectures without my permission.
Failing to submit more than two labs is considered strong evidence of not attending class and may result in being administratively dropped from the course.
When an exam is missed, I will determine whether to give you a make-up exam or increase the weight of the other exams. All students must take the final exam to receive a passing grade in the course unless the student has been excused in advance.
For students with documented disabilities, chronic medication conditions and mental health concerns: MSOE provides services to make reasonable accommodations available. If you are a student who requires or anticipates the need for accommodations, please contact Student Accessibility Services Office at 414-277-7281, by email at moureau@msoe.edu, or in person at K250 to discuss appropriate accommodations and eligibility requirements.