Gettysburg College

CS112 Intro to Computer Science II


Syllabus

** Course Staff
Instructor: Sunghee Sunny Kim
Email: skim @ gettysburg.edu (subject must start with "cs112: ....")
Phone: (717) 337-6631
Office: Glatfelter 211 (feel free to come in if the door is open)
Office hours:
  • Mon 10:00 - 10:50, 2:00 - 3:45 p.m.,
  • Wed 10:00 - 10:50, 2:00 - 5:00 p.m.,
  • and by appointment

Teaching Assistant: Andry Rakotonjanabelo
Email: rakoan02 @ gettysburg . edu
Office: Glatfelter 207 (cs/math student lounge)
Office hours: TBD 7-9pm

Teaching Assistant: Lorenzo Zullo
Email: zulllo01 @ gettysburg . edu
Office: Glatfelter 207 (cs/math student lounge)
Office hours: TBD 7-9pm
** Class Hours
Lecture: A: Mon, Wed, Fri 11:00 - 11:50 am
B: Mon, Wed, Fri 12:00 - 12:50 pm

** Text

textbook
Introduction to Java Programming (and Data Structures)
by Y Daniel Liang, 12th edition (11th edition is also fine)

** Grading

1%Colloquium Attendance (1+ needed)
2%Attendance and Active Engagement
41%Assignments
34%Exams (2 @ 17% each)
22%Final Exam (comprehensive)

Note that your final letter grade will not be higher than one letter grade (3 grade brackets) above the exam average. For example, if your exam average is a C+, your final letter grade will be no higher than a B+.

** Class Webpage
All future handouts, assignments, announcements, and any additional material will be available through the class web page at

http://www.cs.gettysburg.edu/~skim/cs112/

Be sure to check the course webpage at least once a day for possible updates.

** Learning Goals

CS112 is the second course in the core sequence for Computer Science majors and will introduce object oriented programming concepts and graphical user interface design and implementation.

CS112 is a required course for Computer Science majors, and is a prerequisite for most of the higher-numbered Computer Science courses. Passing with at least a C- in CS111 or CS107 is the only pre-requisite for CS112. Students should have solid experience in analytical thinking and problem solving.

This course is designed mainly for the students who are interested in majoring or minoring in Computer Science. It satisfies Gettysburg College quantitative, inductive, and deductive reasoning goal.

Upon successful completion of the course, students should be able to

1.explain what object oriented programming is
1.explain the core concepts of inheritance
2.describe graphical user interface components
3.solve moderately complex real-world problems in an object-oriented fashion
4.design and implement Java FX applications with graphical user interface
5.verify the performance and correctness of their solutions
6.debug the software they have written

** Curricular Goals

This course satisfies the Quantitative, Inductive, and Deductive Reasoning (QIDR) goal of the Gettysburg College curriculum.

** Fourth Credit Hour

Professional style documentation is required in all assignments and will satisfy the fourth credit hour for this course. All classes and methods are to be documented thoroughly and in the style expected by the JavaDoc tool. To do proper documentation, you need to use the JavaDoc tool to generate HTML files and verify that the generated documentation is in the same style as the Java API documents. You may NOT copy and paste part of the assignment write-up as your comment. You must write your comment in your own words displaying your understanding of the requirements.

** Assignments

You are required to use the JavaTM programming language, which is available on the Glatfelter 112 computers. You may install it on your own computer but the course staff will not be able to assist you with managing your personal system. It is your responsibility to make sure your programs work on the Glatfelter 112 machines on which your programs will be graded.

Assignments will be devoted to hands-on programming and related activities. Assignments may span one or two-weeks and will be due by 11:59pm of the due dates indicated in the schedule. Late assignments are not accepted.

The experience gained from the assignments will be very helpful for the exams and future assignments may build on previous ones, so put in the effort needed to fully understand the solutions.

Programming assignments will be graded on correctness, completeness, and style. Correctness and completeness refer to how well the program works. Style includes good design, readability (indentations, descriptive names for variables and procedures, and appropriate use of blank spaces), and useful comments. You are expected to comment (include input, output, assumptions, etc. -- will be discussed in lecture) each of your function. Testing your program for correctness is very important and you are expected to show your own test cases along with the results when you submit your programs.

The programs you write and submit must follow the specific instructions given.

** Attendance
You are expected to attend all classes. What is discussed in lectures will be essential in completing assignments and exams. If your absence is excused, it is your responsibility to ensure that all work is made up in a timely manner. If you have an emergency, please contact the instructor to make arrangements as soon as possible. Missing more than three classes (excused or unexcused) may result in a lower final letter grade. Being late for three classes would count as one unexcused miss. Any absence right before/after a recess or reading days will count as triple absences.

** Honor Code (Scholastic Conduct)

All Gettysburg College students are expected to abide by the Honor Code.

Exams are closed book/note and are to be completed individually.

Cheating on assignments or exams is a serious offense, and will be dealt with as such. Copying answers or letting another person copy your answers is a serious offense and can result in failing the course. Copying code from any source (classmates, friends, books, websites, past courses, etc.) is considered cheating.

In general, you are free to discuss the assignment with others verbally, but the solution and the code you write must be written only by you and should not be seen or heard by anyone else (except for the teaching staff). You may NOT be 'tutored' by anyone other than the teaching staff unless explicitly permitted by the instructor in advance.

You should always include proper credit if you received any help or used references (friends, books, articles, or websites) and are solely responsible for the material you submit. You are expected to be able to explain the reasoning behind your solution and every part of your solution.

Use of ceullar phones or any other electronic devices are explicitly forbidden during class and exams.

You must write the honor pledge and sign each exam.

If you have any questions about what is and is not allowable in this class, please ask the course instructor.

** Accommodation
If you have IEAPs (Individual Education Accommodation Plans), please discuss with the instructor during the first two weeks of the semester.

If you need any accommodation for a documented cause and do not have IEAPs, take all appropriate documentation and the self-disclosure form (available from Academic Advising) to the Office of Academic Advising as soon as possible.
** Incompletes
Incompletes will be given only in very rare instances when an unforeseeable event causes a student who has completed all the coursework to date to be unable to complete a small portion of the work (typically the final assignment or exam). Incompletes will not be awarded for foreseeable events including a heavy course load or a poorer-than-expected performance. Verifiable documentation must be provided for the incomplete to be granted, and arrangements for the incomplete should be made as soon as such an event is apparent.

Other general information will be given in class and posed on the web.