CS1120 Computer Science II (Fall 2016)

Class Information

Lab Sessions


CS1110 - Computer Science I or equivalent with a grade of C or better (prerequisite); Math1220 or Math 2000 (co-requisite).


This is the standard Computer Science II course using the Java computer language. The emphasis is on designing and programming object-oriented computer solutions to problems, as well as on the data structures used for this purpose. An introduction to the analysis of algorithms is made. Students must register for both a lecture section and a laboratory section. More importantly, to demonstrate the Philosophical Principle in Computer Science, we will use one simple example of our daily life and show how object oriented concepts can be simply and absolutely reduced to this example.


The objective of this course is to introduce the basic concepts behind modern programming languages. It includes how to :

  1. Learn about various concepts about software development.
  2. Understand the concept of recursion and structured programming.
  3. Understand the concepts of classes and object oriented programming.
  4. Understand the concepts of polymorphism.
  5. Learn exception handling.
  6. Learn common complex data structures.
  7. Learn about interfaces, generics and collections.
  8. Learn about searching and sorting, and learn basic mathematical techniques for analyzing their complexity.
  9. Learn working in a pair or team-programming environment.
  10. Learn and use version control and documentation tools.


When finishing this course, students should be able to:

  1. To write well-structured, well-documented Java programs that follow relevant phases of the software life cycle.
  2. To use recursive solutions for problems that are appropriate for the recursive strategy.
  3. To design, create and use class and object hierarchies.
  4. To use polymorphism (incl. abstract classes and methods).
  5. To design complex data structuresªincluding two-dimensional arrays, linked lists, stacks and queues.
  6. To use generics or collections to perform operations on complex data structures.
  7. To program various searching (linear, binary) and sorting (e.g., insertion, selection, bubble, merge, quick) algorithms, and be able to analyze their efficiencies.
  8. To work in a pair or team programming environment.
  9. To utilize version control and document generation systems.

Programming Assignment And Late Submission

Lab assignments will be given on a regularly scheduled basis. Many of these assignments will need to be worked on outside of the regular scheduled labs.

Each assignment will have a due date/time. For each day an assignment is late, 10% of the total possible points for the assignment will be deducted. (If any submission is 7days later than the deadline, it is NOT graded and you get ZERO point.) Weekends and holidays are all counted when calculating lateness. No assignments may be submitted after 11:59 PM on the day preceding the last day of the classes (before the Final Exam Week). By this time all work should be complete and submitted.

Quiz and Exam

There will be regular quizzes given in the lab. Additionally, two in-class quizzes may be given in the lectures with prior notification. If you miss a quiz for any reason, you will receive a 0 on it.

If you miss an exam (a Midterm Exam or the Final Exam), the decision as to whether or not it is made up and how it is made up will be made on an individual basis. To be excused there must be significant circumstances beyond the student¯s control. Generally this will require documentation, such as a doctor¯s note in the case of an illness. Normally, if your absence from an exam is excused, you will have to take a make up exam. Contact the instructor asking for a make up exam as soon as it is possible (if possible inform the instructor even before the exam that you will miss).

Programming Skills Mastery Test (PMT)

During the last lab session of the semester, students will be given the Programming Skills Mastery Test (PMT). The test will consist of a short programming problem. Students must program the solution in an essentially complete and correct form in the allotted time. This problem must be solved within the allotted time to earn a passing grade in the course. Students that fail the PMT on their first attempt will be given the second, and last, chance with a different problem. You must pass the PMT to pass the course.

Grading Policy

The final grade has the following composition:

Labs 40%
Midtermn Exam I 15%
Midterm Exam II 15%
Quiz 10%
Final 20%


Useful Links

This class requires the following software systems or plugins:

  1. Eclipse Mars is installed in the Lab.
  2. WindowBuilder.

You can find more useful information about the class in the following:

  1. How to submit a programming assignment.
  2. How to include a jar file.
  3. How to import and export java projects in Eclipse.

Daily Lecture Topics

The daily schedule can be changed without prior notice. However, the change of midterm exams will be annouced at least a week ahead.

Regrading Policy

The regrade procedure is intended to correct serious errors in grading. It is not intended as a opportunity to argue about each judgment call made by the graders. If you feel that a regrade request is justified, you have 7 days AFTER a grade is released to request a regrade. After 7 days, no regrade request can be accpeted. This policy aims to have you review each grade after the grade's release and not at the end of the semester.

Academic Integrity and Dishonesty

You are responsible for making yourself aware of and understanding the policies and procedures in the Undergraduate (pp.271-272) [Graduate (pp. 24-26)] Catalog that pertain to Academic Integrity. These policies include cheating, fabrication, falsification and forgery, multiple submission, plagiarism, dishonesty, you will be referred to the Office of Student Judicial Affairs. You will be given the opportunity to review the charge(s). If you believe you are not responsible, you will have the opportunity for a hearing. You should consult with the course coordinator if you are uncertain about an issue of academic honesty prior to the submission of an assignment, report or test. Students found responsible in academic dishonesty charges may automatically receive an "E" grade in the course in addition to other punishments allowed by the university rules, procedures and policies.

The following text is recommended by the Faculty Senate for all course syllabi, and it includes links to relevant information.  Please make sure you are familiar with the university guidelines fro academic integrity.

Students are responsible for making themselves aware of and understanding the University policies and procedures that pertain to Academic Honesty. These policies include cheating, fabrication, falsification and forgery, multiple submission, plagiarism, complicity and computer misuse. The academic policies addressing Student Rights and Responsibilities can be found in the Undergraduate Catalog at http://catalog.wmich.edu/content.php?catoid=24&navoid=974 and the Graduate Catalog at http://catalog.wmich.edu/content.php?catoid=25&navoid=1030. If there is reason to believe you have been involved in academic dishonesty, you will be referred to the Office of Student Conduct. You will be given the opportunity to review the charge(s) and if you believe you are not responsible, you will have the opportunity for a hearing. You should consult with your instructor if you are uncertain about an issue of academic honesty prior to the submission of an assignment or test.
Students and instructors are responsible for making themselves aware of and abiding by the “Western Michigan University Sexual and Gender-Based Harassment and Violence, Intimate Partner Violence, and Stalking Policy and Procedures” related to prohibited sexual misconduct under Title IX, the Clery Act and the Violence Against Women Act (VAWA) and Campus Safe. Under this policy, responsible employees (including instructors) are required to report claims of sexual misconduct to the Title IX Coordinator or designee (located in the Office of Institutional Equity). Responsible employees are not confidential resources. For a complete list of resources and more information about the policy see www.wmich.edu/sexualmisconduct.
In addition, students are encouraged to access the Code of Conduct, as well as resources and general academic policies on such issues as diversity, religious observance, and student disabilities:
•    Office of Student Conduct www.wmich.edu/conduct
•    Division of Student Affairs www.wmich.edu/students/diversity
•    University Relations Office http://www.wmich.edu/policies/religious-observances-policy
•    Disability Services for Students www.wmich.edu/disabilityservices