Spring 2017 CSC Software Development in C++

Course Description

Object-oriented design and implementation of large scale software using C++. Topics include inheritance, polymorphism, virtual functions, operator overloading and the STL. Extensive programming required.

Instructor Accessibility

My office is in STEM 150. You can stop by in person, or call my office at 630-637-5174. You can email me at gcmuganda@noctrl.edu. Spring term office hours are Mondays and Wednesdays 2:00-3:00 pm; Fridays 12-1:00pm; Tuesdays and Thursdays 2:50-3:50 pm. I am also available by appointment.

Course Textbook

The class text is Tony Gaddis, Judy Walters, and Godfrey Muganda, Starting Out With C++: Early Objects, Pearson, 2016.

Schedule of Topics

Here is a tentative schedule for textbook coverage. Read ahead so you will get more out of the lectures.

Week of Term Chapters in Class Text Topics Covered
Week 1 Chapters 2-8 Introduction to Programming in C and C++
Week 2 Sections 13.1-13.3; 12.3; 16.2, 16.5 File I0; String numeric conversions; STL
Week 3 Chapter 10 and 11 Pointers, Object Oriented Concepts in C++
Week 4 Chapter 15 Polymorphism and Virtual Member Functions
Week 5
Week 6
Week 7
Week 8
Week 9
Week 10

Course Grading

There will be one quiz, lots programming assignments, and tests. These elements will be used to compute your grade using the following weights:

Quiz 5 %
Lab Assignments / Homework 40 %
2 Tests 30 % at 15% each
Final Exam 25 %

The quiz will be on Thursday of Week 3, and tests will be will be on Thursday of Weeks 5 and Thursday of Week 8, and the final exam will be in Week 11, following the College schedule of exams.

Policy on Missed Quizzes

In-class tests missed without a legitimate excuse cannot be made up. If you have to miss a test (for some legitimate reason) please let me know at least a week before the test and I will make arrangements for a make up. In the event some unexpected reason beyond your control prevents you from being in class on the day of a test, contact me as soon as possible by phone or email to arrange a make up.

Policy on Late Assignments

Homework must be submitted electronically by email by midnight on the due date. Late homework is penalized at 10 %. In reality, this penalty is usually not imposed if the homework is submitted before I have completed grading homework submitted on time. Late homework will not be graded after I have completed grading the following assignment : For example, I will not grade late submissions of homework 3 if they are submitted after I am finished grading homework 2. The last assignment must be submitted on time.

Quality of Written Assignments

All work on homework will be graded for correctness first, and secondly, for quality of documentation and presentation, and efficiency. Make sure your code is readable and neatly formatted. Be sure to consult the standard for code documentation posted on the course website.

Ethics Statement

All work on the in-class tests must be done without any assistance from anybody, and you may not use cell phones or any electronic devices on the closed book part of the tests. If there are online tests, you may use lab computers, or your own laptop if you prefer. You may not email, use a cell phone, or otherwise communicate with anybody else during a test.

You may seek help from the instructor, other students, and other individuals on home work and programming assignments. You may not copy other people's code, or otherwise submit as your own work code that you do not understand. The goal of seeking help is to get to the place where you can do the work yourself. If you submit any work for grading: you should be prepared to explain it to me. Submission of any work that you do not understand or cannot explain will be considered plagiarism.

While it is OK to seek help from another student in the class when working on your programming projects, you must still write your own code. It is important that collaboration not be at the level of writing code, unless it is a group project. Help you get must be at the level of exchanging ideas, not at the level of writing code. Programs that differ only in the names of variables will be considered to plagiarized. In that case, both students will receive a 0 on the assignment and they will be reported to the dean.