CSC 125 – Computer Science II (Programming in C++)


Course Instructor
David Bock
Office: B129b, Parkland College

Course Information



C++ object-oriented programming, advanced topics in computer science, introduction to data structures; development of large-scale programs and software projects.



Section 251W on-line

Information regarding the class including instructor, syllabus, schedules, lecture notes, and assignments can be accessed from the class web site using Parkland’s online class system or directly at



All course study material and assignments are listed in the course schedule. This can also be accessed through Parkland's online class system under the “Schedule” heading or at the class site above. Classes are organized as two sessions per week according to this schedule. Work is assigned and due according to these sessions as listed in the schedule. Assignments must be completed on time or result in a zero, see Grading section below for more information.


Webpage links

The instructor has designed and written material for this class as webpage links organized by topic within the class schedule. It is expected that students read, study, and practice the examples in the webpage links as a necessary requirement for learning the course material. The webpage links are to be considered the official “textbook” for the course while the book listed below can be used as supplemental reference and optional readings.

Problem Solving with C++, 7th edition
by Walter Savitch
ISBN 0-321-53134-5


Email Correspondence

The instructor is available to assist students having difficulty with the material after they have completed or attempted their assignments and readings. The instructor will be available through email during the week before 5pm and occasionally on weekends and scheduled holidays. For this reason, it is important for students to plan their studies early enough before due dates if they anticipate needing assistance from the instructor. Use Parkland's student email system for all correspondence. The instructor will help students debug their code through email only after the student has worked to identify where they believe the problem areas exist. Sending the entire program to the instructor with a message similar to "fix my code" is not sufficient.


Expectations (on-line)
Students accept an increased amount of organization and responsibility when enrolling in on-line courses. Students are expected to access the learning resources provided by the instructor and course web-site on their own according to the schedule throughout the semester. Without dedication to such an organized routine, students will have a difficult time succeeding in a course presented in an on-line format. It is expected that students diligently study lecture notes and reading assignments, and complete all programming assignments. If you are requiring extra help other than through email and are in the area, I'm also available during the office hours listed above.


Development Environment
Computer science students must be well-versed writing software using a variety of different operating systems, development environments, and software development tools. This course is taught within a Unix operating system using standard command-line software development tools. Students are required to work on
all programming assignments (labs and projects) within this Unix software development environment in the Unix lab (remotely) at Parkland College. Compilers and environments differ. Programs that compile and work under Windows, for example, may not compile and operate on the Unix lab machine. For this reason, to receive full credit, all programming assignments must correctly compile and operate on the Unix lab machine at Parkland College. Grading will be based on the program’s ability to compile and operate under the Unix lab machine at Parkland College only. Each student will be given an account on the Unix lab machine at Parkland College from which to work on all lab and project assignments. Unix accounts will be activated after classes officially start at the beginning of the semester. All assignments must compile, operate, and be submitted on the Unix lab machine for full credit (see Grading section below). Machines can be accessed remotely using ssh or with terminal emulation programs. If you are accessing the lab machines from a Windows machine, it is highly recommended you download a terminal emulator program (such as putty). If you are using a Mac, you can use the program named Terminal included with your system and simply type in the following to login remotely to our Unix machine:



(where username is your email name only)


These programs (ssh, putty, Terminal) allow you to access a remote machine in an efficient and easy-to-use manner. More information on accessing the Unix lab machine is included in the “Course Introduction” notes in the schedule. Files can also be transferred securely between your home machine and the lab machines using programs such as winscp. Detailed information on remote connection and transferring files is available CSIT lab home page.








Final Exam





90 - 100% will receive A
80 - 89%   will receive B
70 - 79%   will receive C
60 - 69%   will receive D
0   - 59%   will receive F
The instructor reserves the right to lower these criterion, but will never raise them.


A number of programming labs (typically 9) and quizzes (typically 4) will be graded to test the student's understanding of software design and programming skills. All lab assignments and quizzes must be completed by the assigned date and time. Since unforeseen circumstances may arise preventing a student from completing a lab or quiz, 1 lowest quiz grade and 1 lowest lab grade will be dropped from the final grade determination. No make-up labs or quizzes will be given.


A number of large-scale programming projects (typically 4-5) will be assigned throughout the semester. Since a goal of this course is to learn and apply hands-on programming experience, these projects constitute a large majority of the final grade (see above). Due dates are included on the class schedule. Projects will need to be submitted on or before the assigned due date. Project grading will be based upon the program's ability to meet the assigned input and design criteria and correct program operation. Partial credit will be given. If a student has not submitted the project before or on the assigned due date, the project will be considered late and no points will be given. Once a project grade has been recorded by the instructor the grade is considered final and cannot be changed. You are responsible to maintain backups of your work. Storage devices often fail. You need to keep enough copies so that your work is not lost. “My storage device with all my work broke” is not an excuse!


A comprehensive final will be given to test the student's understanding of material presented in lecture notes and assignments. If a student anticipates missing an exam and thus an exam grade, it is the student's responsibility to notify the instructor at least a week beforehand and arrange a convenient time for a make-up exam, otherwise no points will be given.


On the assigned due dates, all lab and project assignments are to be copied to the instructor’s directory on the Unix machine for grading using the following procedure. Assignments not adhering to this procedure will not be graded and result in no points given.


-          Create a directory (anywhere under your home directory) named using your Unix login name

-          Copy all source files used in the assignment to this directory

-          Copy this entire directory to the instructor’s designated submission directory. Submission directories are designated for each programming assignment on the class schedule. Note that students have write and not read permission for submission directories. This allows directories to be copied and not read by other students after submission.


A student may resubmit after an assignment has already been submitted (and it is still before the due date), by copying a new submission directory using the student’s Unix login name with an added underscore (_) and number extension. For example, if a student’s (jdoe) initial submission was named jdoe, copy a new directory named jdoe_1.


Submission Example
Lab3 consisting of a source and header file (lab3.C and lab3.h) currently in directory:




is to be submitted to the directory:




Print the directory you are currently with the command pwd as shown below:

[jdoe@shaula1:~]$ pwd



List the contents of the directory you are currently in with the command ls as shown below:

[jdoe@shaula1:~]$ ls

lab3.C  lab3.h


Create a directory named using your Unix login name with the command mkdir as shown below:

[jdoe@shaula1:~]$ mkdir jdoe


Copy each file used in the assignment to this directory with the command cp as shown below:

[jdoe@shaula1:~]$ cp lab3.C jdoe

[jdoe@shaula1:~]$ cp lab3.h jdoe


List the contents of the directory you are currently in using the command ls as shown below:

[jdoe@shaula1:~]$ ls

jdoe/  lab3.C  lab3.h


Copy the directory to the designated submission directory (from the schedule) with the command cp as shown below:

[jdoe@shaula1:~]$ cp -r jdoe /home/staff/dbock/csc125/students/lab3


After submission, students can check to see their submission was successful. The link below shows the actual contents of the submission directory. The script that generates this listing is updated every 20 minutes so you may not see your directory displayed immediately after your submission. Please wait 20 minutes or more before checking after you've submitted your assignment.



Academic Honesty
Parkland College’s values include honesty, integrity, and responsibility. Students, faculty, and  staff  are  all  expected  to  maintain  academic  integrity  in  their  work  and  take collective responsibility for preventing violations of intellectual ownership. Academic dishonesty is unacceptable, and the institution is committed to helping students learn these values through development and growth. Personal commitment, honest work, and honest achievement are necessary characteristics for an educated person. The process  of  determining  the  consequences  of  academic  dishonesty  begins  with  the faculty member and may proceed to include the department chair and/or the Office of the Vice President for Academic Services. All Incidents of academic dishonesty, including developmental or punitive action, should be referred in writing to the Office of the Vice President for Academic Services. Academic Honesty can be broadly defined as performing academic work without cheating, fabrication, or plagiarism:


a. Cheating: Using or attempting to use unauthorized materials, information, or study aids in any academic activity.  Submitting as one’s own work term papers, homework, and examinations that are not one’s own work or for which a student received unauthorized help. Copying  the  work  of  another,  or  allowing  another  to  copy  one’s  own  work, without proper acknowledgment.

b. Fabrication: Falsifying or inventing any information or citation in an academic activity.


c. Plagiarism:  External information borrowed and directly quoted must be indicated by use of quotation marks, and any changes, omissions, or addition to the direct quotation must be shown in bracket, and the source documented. All cited external information that has been paraphrased and summarized must also be documented.


d. Collaboration: Students at Parkland College are encouraged to work together on group projects, study, and other activities. However, work submitted to fulfill an assignment not specifically identified as a group activity must be substantially the work of the author.  Instructors should provide guidelines to students to maintain the academic integrity of these collaborative activities.  Collaboration beyond this constitutes academic misconduct.


Unethical conduct during examinations of in preparation of assignments designated by the instructor will not be tolerated and may result in disciplinary action. All material handed in with your name on it is to be your work. If it is not you will fail that assignment and will be faced with disciplinary action. The first instance of cheating will result in a 0 for the assignment or exam. The second instance will result in failure for the course. Since this is a programming class, and the programming assignments make up a large portion of the overall grade, it is important to define what is acceptable and unacceptable with respect to projects:

It is legitimate for students to discuss the interpretations of the assignment description. However, once algorithm or program development has begun, all collaboration must cease.  Identical or nearly identical programs will be considered proof of excessive collaboration. Do not sit down and write code or pseudo-code together. Do not give your code to another student! The student who gives out his or her code is just as guilty as the student who copies.

Do not give your code to another student! The student who gives out his or her code is just as guilty as the student who copies. Usually, both students will receive the same penalty.

Be careful about not storing your solution in public spaces where others may find it.

Independently developed solutions really are unique. To you it may seem like there's only one way to write each piece of code. But there really are almost always many ways to write a piece of code, and for a larger program it's not likely that two students will make the same choices every time. Independently developed solutions are as unique as fingerprints.  With this in mind, all material handed in with your name on it is to be your work. Cheating includes:

- turning in code found on the web as yours
- giving your code to someone else
- turning in code someone else wrote.

Instructor Withdrawal
A census of class attendance is taken at the end of the first week of instruction for the session regardless of class session length and the day(s) and frequency of scheduled class meetings. At the census date for each class section, faculty are required to assess your attendance. If you have not attended up to that point, you will be withdrawn with no refund of tuition and fees and a grade of “W” will be recorded on your academic transcript. After this census date, if you cease to attend, the faculty member has the right to withdraw you at or before midterm. However, if you decide not to complete the class, you should not assume an instructor withdrawal. You are ultimately responsible for your own withdrawal by the withdrawal deadline. Non-withdrawn classes where the student has stopped attending will be graded. You should also be aware of the midterm date for each class you are taking. Check for the date on or ask your instructor.



Students with Disabilities

If you believe you have a disability for which you may need an academic accommodation (e.g. an alternate testing environment, use of assistive technology or other classroom assistance), please contact: Contact Michael Trame, Vice President, Student Services (U-334) at 217 351-2551 or or James Albrecht, Coordinator, Accessibility Services (U-265) at 217 351-2588 or



Disability Services

The Office of Disability Services (DS) facilitates equal access for students with disabilities by coordinating accommodations and support services, and cultivating a campus culture that is sensitive and responsive to the needs of students. Students seeking reasonable accommodations under the Americans with Disabilities Act, or Section 504 of the Rehabilitation Act of 1973, are required to register with the Office of Disability Services.


Registration with the DS office must be initiated by the student in a timely manner, whenever possible, to ensure that accommodations coincide with the start of the semester. Services received in high school or at other colleges/universities, or identified through a recent diagnosis do not automatically transfer to Parkland College. You must provide documentation of disability. This can include: a letter from a physician, an IEP, 504 plan, psychological evaluation or similar documents. NOTE: ACCOMMODATION LETTERS FROM OTHER COLLEGES OR UNIVERSITIES ARE NOT ACCEPTABLE FORMS OF DOCUMENTATION.


If you have questions about getting registered with the DS office, contact Kristen Murray, Department Secretary at 217-353-2338 or via email at 



Center for Academic Success (CAS)
If you find yourself needing assistance of any kind to complete assignments, stay on top of readings, study for tests, or just to stay in school, please contact the Center for Academic Success in D120 at 353-2005 or 351-2441. You may also email the CAS at