CS 112 - Introduction to Computer Science II
Course Information

Course Overview

In Introduction to Computer Science I, one learns the basic building blocks for problem-solving using the Java programming language.  Introduction to Computer Science II continues problem-solving development with group work, deeper coverage of object-oriented programming topics, exception handling, graphical user interfaces, the Java event model, file I/O, and other advanced programming topics.  We also begin coverage of basic data structures (e.g. collections, linked lists) and algorithms (e.g. sorting, searching).  Thus we transition to the Data Structures course where one learns a collection of common, important tools for problem solving that find application in many diverse problems computer scientists solve.

Learning Objectives


Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
by Y. Daniel Liang

Text Home Page (author), (Pearson)
ISBN-13: 978-0133813463
ISBN-10: 0133813460 
(Note: 10th edition is acceptable.  MyProgrammingLab access is not required for CS112.)


Todd Neller
Section A Lecture: MWF 2:10-3:00PM, Glatfelter 112 
Office: Glatfelter 209
Office Hours: Mo 3-4PM, Tu 2:30-5PM, We 3-5PM, Th 2:30-3:45PM, Fr 3-5PM or by appointment. (I finish teaching each day just before office hours, so office hours will start when I arrive back at my office.) Note: Generally, feel free to drop in if my office door is open (i.e., most of the time beyond class).
A Video Explainer about Office Hours for Students
Phone: 337-6643

Student Assistants

In-class Assistants:



60% Assignments
15% Fourth Hour Project
15% Quizzes & Exams
5% Colloquium Attendance
5% Class Attendance / Participation

You are responsible to know the material from each lecture and reading assignment before the start of the next class.  Homework is due at the beginning of lecture on the due date.  Source code that does not compile may not receive partial credit.  (It need not be free from logic errors.)  You are required to attend 3 colloquia or approved departmental events over the course of the semester. 

Late Assignment Policy

Since graders will look in the submission system for on-time work only, it is your responsibility to notify graders of your submission of late work.  Late work will receive a flat 10% penalty (e.g. what would have received 95% would receive 85% credit, not 85.5%).  Late work will only be accepted until approximately half-way between the due date and the last day of classes:

Homework assignment: Due at the beginning of class: Last accepted late at the beginning of class:
1 3 22
2 6 24
3 9 25
4 12 27
5 15 28
6 18 30
7 21 31
8 24 33
9 27 34
10 30 36
11 33 37
12 36 39
13 39 40
14 42 42 (no lateness permitted)
n 3*n floor((3*n + 42)/2)


Class attendance and participation is required.  If you attend all classes and are willing to participate, you'll get 100% for this part of your grade.  Even if you know enough to give a particular lecture, please consider the value of helping your peers during in-class exercises.

Woody Allen is quoted as saying "80% of success is just showing up."   While our class attendance/participation grade is not 80% of the final grade, it is critical that late arrivals and unexcused absences are not excessive.  Missing more than half of class unexcused is considered being absent.  An unexcused late arrival is counted as a half absence.  If the total number of absences counted this way exceeds 20% of class meetings, i.e. 8.5 absences or more, the student will have failed the course.

Honor Code

Honesty, Integrity, Honor.  These are more important than anything we will teach in this class.  Students can and are encouraged to help each other understand course concepts, but all graded work must be done independently unless otherwise specified (e.g. group work).  Submitted work should be created by those submitting it.  Submission of plagiarized code or design work is a violation of the Honor Code, which I strictly enforce.  For detailed information about the Honor Code, see http://www.gettysburg.edu/about/offices/provost/advising/honor_code/index.dot.

What is permitted:

What is not permitted:

Put simply, students may discuss assignments at an abstract level (e.g. specifications, algorithm pseudocode), but must actually implement solutions independently or in permitted groups.  Credit should be given where credit is due.  Let your conscience be your guide.  Do not merely focus on the result; learn from the process.