The NINC Programming Language
NINC Scanner Project
Scanner Test Files
NINC Parser Project
Parser Test Files
Internal Representation Project
Internal Representation Project Support Files
NINC Interpreter Final Project (4)
Project 4 Support Files
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.
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 email@example.com. 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.
The class text is Tony Gaddis, Judy Walters, and Godfrey Muganda, Starting Out With C++: Early Objects, Pearson, 2016.
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|
There will be one quiz, lots programming assignments, and tests. These elements will be used to compute your grade using the following weights:
|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.
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.
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.
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.
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.