CSCI 501
Programming Principles in C++

Students are expected to read and observe the rules of this syllabus as well as the Other Academic Policies specified in the Undergraduate Catalog of Northern Illinois University.

Course Description

CSCI 501 - Programming Principles in C++ Fundamental elements of the object-oriented model. Techniques for object-oriented design studied with an opportunity to synthesize these concepts and apply the methodology through the object-oriented programming language C++.

Prerequisites & Notes PRQ: Admission to the graduate program in computer science or consent of department.

Credits: 3

Required Materials

Most of the additional material for this course, including assignments, will be distributed through the course web page. Check it often. The content is constantly changing.

Some materials may also be made available through the course Blackboard site.

Grading Scheme

Your final grade will be based on the following: 20% for the programming assignments, 10% for quizzes, and 70% for exams (20% each for the two midterm exams and 30% for the final exam).

You must obtain an average of 60% on each of the programming assignment and exams portions of the class in order to pass the course.

The grading scale used for this course is:

A: 90-100%
B: 80-90%
C: 70-80%
D: 60-70%
F: 0-60%

Attendance Policy

Students are responsible for everything said and handed out in class, including any modification of assignments or course requirements. If you should miss a class, be sure to get notes from one or more of your classmates. See your instructor and/or the course web page for any handouts you may have missed. There will be no private repeat performances of lectures from your instructor or the TA. Reasonable questions, of course, will be answered.

Exams

Final

There will be a final exam administered at the date and time that will be announced on the course website and/or in blackboard at least one week prior to the test. No rescheduling of the final exam will be permitted except in accordance with University policy when a student has more than two exams on the same day. If you find yourself in such a situation, contact your instructor.

If you are unable to make an exam due to illness, you must contact the instructor before the exam. You should be prepared to verify the illness with a note from your doctor.

Programming Assignments

There will be multiple programming assignments. Programs will be submitted electronically using system commands explained on the course web site.

Your grade is based solely on the ability to run your programs on hopper.cs.niu.edu. It does not matter if it runs OK elsewhere and then you managed to break it while handing it in.

All assignments will be graded by your TA. If you have questions about how your assignment was graded, see your TA first. If you are unable to reach an agreement with your TA about the grade on an assignment, then see your instructor. The instructor reserves the right to re-grade any assignment as they sees fit. This may result in a higher, lower, or the same as the original grade. Any protest of assignment scores must be made within one week of the day that assignment grades are posted in the Blackboard Grade Center. Any protests made after that time will not be considered.

All assignments are due at the date and time specified in the course web site or assignment handout. The time a program was submitted is determined by when it is electronically received. Late assignments will be penalized by 10% per 24-hour period that the assignment is late. All assignments submitted more than 48 hours late will receive a grade of 0 for that assignment. Programming assignments that are due the final week of class may not be turned in late - any such assignment submitted after the due date and time will not be accepted.

Under no circumstances may an assignments may be turned after the solutions have been posted and/or discussed in lecture.

If you are unable to meet an assignment deadline due to illness, you must contact the instructor before the deadline. You should be prepared to verify the illness with a note from your doctor.

No agreement to accommodate a late submission on one assignment shall be considered an agreement that may apply to any other assignment.

Assignments are graded according to the following criteria:

You are required to match your instructor's referent output exactly. When matching properly, a comparison of your output and the instructor's output using the Unix diff command shows no differences (this is referred to as a "clean diff"). When in doubt, 1) ask your TA, 2) ask your instructor, 3) make it look professional.

Coding is graded for completeness, correctness, and efficiency. Proper style is important, including blank lines and consistent use of indentation.

All assignments must be documented in accordance with the documentation standards linked to on the course web site.

Your documentation for each program must contain the following information: your name, course name and section number, assignment number, and due date. Programs missing this information will automatically be reduced by 10% of the assignment points.

The following statement must be included in any file that you create or modify, it is your commitment that the work submitted is your own. Failure to include will result in a lower grade:

//***************************************************************************
//
//  Your Name
//  Your ZId
//  Your Course and Section Number
//
//  I certify that this is my own work and where appropriate an extension 
//  of the starter code provided for the assignment.
//
//***************************************************************************

Computing Account

Every student at Northern Illinois University has a computing account, generated when you first register at Northern Illinois University. It does not change. It is the letter 'z' followed by a six or seven digit number, and is usually referred to as a "z-number" or "z-ID".

If you know your z-ID from a previous semester, you can continue to use it. If you don't know your z-ID, you can call the IT Service Desk at 815-753-8100 for assistance.

If you have never used your account before, you can find the format of the initial default password posted on Blackboard.

You must have and know your z-ID by the end of the first week of classes.

A Password Reminder

All student account passwords for the NIU network are valid for only 365 days. (The z-ID remains unchanged.) If you have forgotten your password or it has expired and you have used up all of your grace logins, call the IT Service Desk at 815-753-8100.

Unix Computing Accounts

All students in this class should have a Unix computing account on one of the the machines called turing and hopper. Your login name for your Unix account is your z-ID (with a lower case 'z').

Note: The password on your Unix account is independent from the password on your standard NIU network account and must be changed separately. The default password for your Unix account can be found on Blackboard.

If you had an account in a previous semester, you should be able to log in normally. If you have not logged in before, you will need to create your Unix computing account. Details on how to do that can be found here.

If you need your password reset on your Unix (hopper.cs.niu.edu or turing.cs.niu.edu) then you must send an email request to do so to duffin@cs.niu.edu and carbon-copy your instructor.

Getting Help

Your TA(s) and the professor are here to help you understand the course concepts. If you have problems understanding an assignment, questions about grading, etc. seek help.

We expect you to try to solve your own problems. Seeking help from a TA or instructor is much more effective if you can explain what you did that didn't work. Don't expect us to give you the complete solution to your problem. Often we will only tell you where to look to solve your own problem.

One of the best ways to help yourself is to start early on the assignments. Programming is not just typing, compiling, and running. Programming involves study of the problem and planning. Some of the most important steps in programming are off-line. The sooner you begin, the better.

Your TA(s) and instructor take email inquiries. Typical response time is 24 hours, but this is not guaranteed (nights and weekends not counted). Students are encouraged to make use of scheduled office hours whenever possible and to ask questions ahead of assignment deadlines.

Accessibility Statement

If you need an accommodation for this class, please contact the Disability Resource Center as soon as possible. The DRC coordinates accommodations for students with disabilities. It is located in Suite 180 of the Campus Life Building, and can be reached at 815-753-1303 or drc@niu.edu.

Also, please contact your instructor privately as soon as possible to discuss your accommodations. Please note that you will not be required to disclose your disability, only your accommodations. The sooner you let your instructor know your needs, the sooner they can assist you in achieving your learning goals in this course. As per DRC policy, your accommodations will take effect after your instructor gets the paperwork and you have discussed your accommodations with your instructor.

A Word about Anxiety

These are extremely stressful times. You are not alone in feeling it. We are all living with unsettling uncertainty and it affects the way we perceive the world, ourselves and others. Such feelings may be persistent or may come on suddenly. Let's all promise to be patient with each other and help support a healthy learning environment. If you or somebody you know is struggling with anxiety or other issues, do not hesitate to reach out. Resources available include:

Cheating

Cheating in any form will not be tolerated.

As stated above, any homework submitted for grading must be your own work and/or, where appropriate, an extension of any starter code that may be provided for the assignment.

The Academic Regulations section of the Northern Illinois University Undergraduate Catalog states under the section entitled "Academic Integrity":

Good academic work must be based on honesty. The attempt by any student to present as their own work that which they have not produced is regarded by the faculty and administration as a serious offense. Students are considered to have cheated if they... turn in a paper or assignment written in whole or in part, by someone else... Students guilty of, or assisting others in either cheating or plagiarism on an assignment... may receive a grade of F for the course involved and may be suspended or dismissed from the university.

Any student caught cheating on a program, homework assignment or exam will receive a substantial grade penalty and an academic misconduct report will be filed. Further disciplinary action may be taken.

Willful and malicious attempts to sabotage program submission or automated grading systems will be considered academic misconduct and will be treated accordingly.

It is the student's responsibility to prevent their work from being used by others. Any/all parties submitting any work deemed substantially similar will be treated as a wilful act of exchanging and copying regardless of the circumstances involved in the giving, taking, theft, or copying of said work.

If you believe that someone has stolen your work then report it to your instructor immediately.

Some discussion of assignments and mutual assistance normally is acceptable, but the discussion or assistance should not be so detailed and extensive that it begins to resemble copying. If you feel even the slightest possibility that what you are doing might be considered cheating, do not do it! Any assistance needed should be sought from the course teaching assistant or instructor.

Last modified: 2020-08-22 09:19:29 CDT