[Note: The most recent updates, if any, highlighted]


CS 1120 – COMPUTER SCIENCE II (with Java) – Tu/Th 1:00 p.m.

Spring 2012

(prepared by Dr. L. Lilien)

Department of Computer Science

Western Michigan University






Office Hours:


Lectures :


Home page:


Dr. Leszek T. Lilien





C-224, Tu/Th 1:00 p.m. – 2:15 p.m.




Course web page:

Lecture slides, etc.:                       



Lab TAs

TA 1:

TA 2 :           

Lab Web page:

Jeremy Doornbos (lab: TBA)

Nishant Gupta (lab: TBA)


STEP/CS Tutors and Java Programming Tutors for CS1110/1120/3310

Names of STEP/CS Tutors:

Office & Office Hours (tentative):










Names of Java Programming Tutors for CS1110/1120/3310:

Office & Office Hours:

Heidi Bucholtz and Nate Shiff (CS seniors and STEP tutors)


Sunday 8 pm to midnight (French Hall)

Monday 8 pm to midnight (Bigelow Hall)

Wednesday 10 pm to midnight (Bigelow Hall)

Thursday 8 pm to 10 pm (French Hall)



Sunday 7 pm to midnight (Bigelow Hall)

Thursday 8 pm to 1am (Ackley in Valley 1)






** IMPORTANT *** Guidelines for email messages to Dr.  Lilien

Replies to messages that do not conform to the following requirements might be delayed or missing (e.g., due to automatic classification of the message as junk mail):

a)   The message should be sent from a WMU account - ending with “wmich.edu” (of course, this includes accounts ending with “cs.wmich.edu”).

b)   The message should have a descriptive subject with the indicated prefix:

CS1120-S12--<your last name>: <descriptive subject>

For example, the subject of a message sent by John Smith should be as follows (no acute brackets in the actual subject):

CS1120-S12--Smith: sick and absent

(Note that the actual subject does not include brackets; brackets are a part of a formal specification only.)

c) If any files are attached, they should be scanned with up-to-date anti-viral software, and the message including them should contain the following statement (no acute brackets in the actual subject):

I have scanned the enclosed file(s) with <name

of software and its version>, which was

last updated on <date>

where <date> should be today’s date. (You should have the habit of updating your anti-viral software daily!)


Catalog Description of CS 1120

This course is a continuation of Computer Science I with more emphasis on top-down, modular, structured design and techniques involved in the production of large computer programs. Advanced language features such as recursion, sets, pointers, records/structures will be discussed. Data structures and their various implementations are introduced. Design and analysis of various searching and sorting techniques will be presented. Elementary file processing using sequential and random access input and output will be demonstrated. A team project will be assigned.


Pre- and Co-requisites

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


By Topic: Basic concepts of high-level language programming – conditional structures; looping structures; arrays; program logic –  to solve problems. Basics of object oriented programming - be able to create and use elementary objects. Both procedural and introductory object-oriented programming. Basics of the software life cycle. Validating quality of software produced. Introductory sorting and searching algorithms. Algorithms for elementary problem solutions. Documenting programs effectively and efficiently.


Learning Outcomes/Course Objectives

Be able to write well-structured, well-documented Java programs that follow relevant phases of the software life cycle.

Be able to use recursive solutions for problems that are appropriate for the recursive strategy.

Be able to design, create and use class and object hierarchies.

Be able to use polymorphism (incl. abstract classes and methods).

Be able to design and implement complex data structures—including two-dimensional arrays, linked lists, stacks and queues.

Be able to use generics or collections to perform operations on complex data structures.

Be able to program various searching (linear, binary) and sorting (merge, quick) algorithms, and be able to analyze their efficiencies.

Be able to work in a pair or team programming environment.

Be able to utilize version control and document generation systems.


Text (required)

T. Gaddis and G. Muganda , Starting Out with Java: From Control Structures through Data Structures, Second Edition. Prentice Hall, 2010. ISBN-13: 978-0-321-54586-2




During the term there will be two in-class midterm exams and a final examination. Laboratory assignments will be given in the regularly scheduled laboratory.  Pop-quizzes may be given at anytime in lab or lecture without prior notification. Your grade will be computed from your performance on these components using the following weights:

Midterm Exam 1                                                                    15%

(Planned for: around February 15, TBA)

Midterm Exam 2                                                                    15%

(Planned for: March 15, TBA)

Final Exam                                                                             20%

(Tuesday, April 24, 12:30-2:30 pm; room TBA)

(see: http://www.wmich.edu/registrar/finalexamspring.html)

Labs                                                                                         40%

Lab quizzes & pop quizzes                                                    10%

PMT (Programming Skills Mastery Test – more below)                       0%

      (In the lab during the last week of classes: April 16 - 20)

(Last-chance PMT: tentative: F, April 20; time/room TBA)

The following basic grading scale will be used:          

A – 90; BA – 85; B – 80; CB – 75; C – 70; DC – 65; D –60.

(I may curve very tough exams to the students’ benefit in order to improve the letter grades.)


Missed Exams

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).



Students taking this course are required to register for a lab section.  Lab grades are based on student performance on programming assignments and quizzes.  Additionally, the Programming Skills Mastery Test (PMT) is given in lab.


Programming Assignments

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, 5% of the total possible points for the assignment will be deducted.  (If an assignment is more than 20 days late, it is no longer worth any points.)  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.



There will be regular quizzes given in the lab. Additionally, pop-quizzes may be given at anytime in the labs or lectures without prior notification.  If you miss a quiz for any reason, you will receive a 0 on it.


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.


Special Course Policies

Producing competent programmers is a primary goal of this course, and therefore a minimum performance in lab is required for students to pass the course.

You must pass the lab with at least 60% of the total possible lab score in order to pass the course regardless of exam scores.

In order to pass the laboratory, you may have at most two lab assignments incomplete.  Therefore, you should strive to complete all assignments.  Even if you turn in an assignment so late that the credit is 0, it can still satisfy the completeness requirement.

You must pass the PMT to pass the course.


Use of Electronic Devices

To fully benefit from lectures and labs, you are expected to stay alert and pay attention to the directions/announcements in the class. Cellphones, PDAs, and other electronic devices should NOT be used during the lecture and should be turned-off. If available, please do bring your laptop to the class. Email checking or web-surfing of non-course related material is NOT permitted during the class. You may surf the web only when specifically told to do so. In order to maintain the integrity of the classroom and if I feel it is distracting you or others, I may ask you to turn-off your laptop.


Incomplete Grades

Please note that the incomplete grade - I - is intended for the student who has missed a relatively small portion of work due to circumstances beyond his/her control.  In general, performance on work done must be at a level of C or better in order to qualify for an incomplete.  An I grade will not be given to replace an otherwise low or failing grade in the class. 


Academic Honesty

The following statement has been approved and distributed by the Western Michigan University Faculty Senate: 

You are responsible for making yourself aware of and understanding the policies and procedures in the Undergraduate and Graduate Catalogs that pertain to Academic Honesty. These policies include cheating, fabrication, falsification and forgery, multiple submission, plagiarism, complicity and computer misuse. [The policies can be found at http://catalog.wmich.edu under Academic Policies, Student Rights and Responsibilities.] 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). 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.

We also encourage you to browse http://osc.wmich.edu and www.wmich.edu/registrar to access the Code of Honor and general academic policies on such issues as diversity, religious observance, student disabilities, etc.

Unless otherwise told, you may not bring aids to exams.  Submission of another person’s work in part or whole is not permitted. Learning can certainly occur with discussion of class material and assignments with other students, and we will be doing considerable collaborative activity, but at all times take care that you don’t represent the work of another as your own. 

If you are copying another’s work in part or whole, either by hand or electronically, you are going too far. 

If two or more people are working so closely together that the outcomes, particularly on significant portions of computer programs, are essentially line-by-line the same in logical structure, they are going too far.

You should not give your completed work to someone else or accept another’s completed work to “review or look at” in either hardcopy or electronic form.  This too easily facilitates copying. 

Easy availability of information, material, source codes, lecture notes etc on the Internet may make it possible to find solutions to your assignments on the Internet or elsewhere. It is okay to refer to those, understand them and use them to enhance your solutions, generate your own ideas etc. However, you must give proper and full credit to original authors of the work, if you include their ideas and/or solutions. Failing to do so is part of academic and professional dishonesty. It will not be tolerated in this class. Do not give in to temptations.

A student found responsible for violation of academic honesty in the course, will receive a course penalty up to and including an E grade for the class. (Note that the Office of Student Conduct can impose additional penalties.)


Dates of Interest

Source: Academic Calendar 2011-2012  at: http://www.wmich.edu/~registra/calendars/AC-2011-12.html




Spring 2012

Oct 3


Spring 2011 Course Offerings available online for viewing

Oct 17


Registration begins – see time-ticketing schedule

Dec 1


Last day to apply for April 2011 graduation

Jan 3 – 6


Advising days

Jan 5 – 11


One-Stop Convenience Center open

Jan 9


Classes begin at 8 a.m.

Jan 9


Tuition and Fees Due

Jan 9


Midterm grading opens

Jan 13


Drop/add ends

Jan 13


Last day to receive 100% tuition and fees refund

Jan 16


MLK Day convocation & activities – no classes

Jan 17



Jan 18


$100 late add fee begins. Begin recording withdraws as “W” on transcript

Jan 19


Last day to receive 90% refund for complete withdrawal

Jan 23


Last day to receive 50% refund for partial withdrawal

Feb 6


Last day to receive 50% refund for complete withdrawal

Feb 13


Deadline for first work grades

Mar 2


Last day to receive 25% refund for complete withdrawal

Mar 2


Spirit Day – no classes

Mar 5


Spring break begins

Mar 12


Classes resume

Mar 11


Midterm grades due

Mar 19


Last day to withdraw from classes

Apr 23 – 27


Final Examination Week

Apr 28


Semester Ends/Commencement

May 1


Final grades due at noon – grades will be available for viewing after 5 p.m. using your GoWMU account.


Note: Calendars are subject to change. Dates and events are added or changed as information becomes available.




                                                                                                                          Last updated on  09 January 2012 (by L. Lilien)