Kishwaukee College Syllabus
CIS 260 - 5H01
Java Programming II - Honors
3 Credit Hours, Spring 2017
  1. Course Description
    This is the second course in the Java language sequence. Topics include object-oriented programming, recursion, files and streams, exceptions, string handling, the graphical user interface, searching and sorting algorithms, algorithm complexity, and data structures. Data structures covered will include lists, stacks, queues, trees, and graphs. Three hours lecture/discussion a week. IAI: CS 912
    Prerequisite: CIS 160.
  2. Meeting Time and Place
    Lecture/Lab:   A-1374    
    Time:12:30 P.M. - 1:45 P.M.Tuesday, Thursday
    Dates:1/17/17 - 5/19/17 
    Withdrawal date:5/1/17 
    MLK Birthday observed:1/16/17School closed
    Faculty development:4/13/17School closed
    Good Friday:4/14/17School closed
    Spring break:3/13/17 - 3/19/17School closed
    Midterm exam:3/9/17during class
    Final exam:5/16/1712:00 P.M. - 1:50 P.M.
  3. Instructor Information
    Instructor: David G. Klick
    Office:A-1342
    Email:David.Klick@kishwaukeecollege.edu
    Phone:815-825-9337
    Website:kermit.kishwaukeecollege.edu/~dklick/
    Backup website:klickfamily.com/david/school/
    Desire2Learn:https://kish.desire2learn.com/
    Dept. Secretary:815-825-9303 (Shelley Lawson)
    Office hours:M 1:45 P.M. - 2:30 P.M., 5:00 P.M. - 6:00 P.M.
    T 1:45 P.M. - 2:30 P.M., 5:00 P.M. - 6:00 P.M.
    W 10:00 A.M. - 11:00 A.M.
    R 10:45 A.M. - 12:30 P.M.
    other times by appointment
  4. Expected Learner Outcomes
    Upon completion of this course, the student will be able to:
    1. create classes which use copy constructors
    2. create classes which use instance and static variables
    3. use access modifiers (public, private, protected, default) appropriately
    4. write programs with overloaded and overridden methods
    5. declare variables where their scope will be appropriate for the situation
    6. use file and stream input/output
    7. write code which uses inheritance and polymorphism
    8. write basic linked list, stack, queue, and binary tree classes
    9. use data structures (linked list, stack, queue, tree, graph) to solve problems
    10. create and use abstract methods and classes (including interfaces)
    11. apply recursive programming techniques
    12. use generics
    13. create multi-source file (multi-class) applications
    14. implement various search and sort algorithms
    15. analyze algorithm complexity and check for correct operation
    16. test and debug programs
  5. Required Text and Materials
    1. Internet access (this course posts material on a website and uses Brightspace for assignment submission, discussions, and an online gradebook)
    2. Deitel, P. J., & Deitel, H. M. (2012). Java: How to Program, Ninth edition. Upper Saddle River, N.J.: Pearson Prentice Hall.
  6. Breakdown of Course Requirements
    10 programs @ 50 points each   500 points
    Honors project @ 200 points200 points
    1 midterm exam @ 100 points100 points
    1 final exam @ 100 points100 points


    Total900 points
  7. Final Grade Determination
    A = 90 - 100% 810 points or more
    B = 80 - 89.9%720 - 809 points
    C = 70 - 79.9%630 - 719 points
    D = 60 - 69.9%540 - 629 points
    F = below 60%less than 540 points
    Grade reports will not be mailed out. Please check KishSOS,
    My Student Info, under Academic Profile, Grades, for grade reports.
  8. Course Procedures
    1. Students are expected to attend class sessions on time and prepared (Note: CIS 123 class sessions are optional attendance). Students should bring whatever they need to take notes to every class.
    2. Students are expected to spend time outside of class completing assignments.
    3. Food and beverages are not permitted in the classrooms or labs. See a more detailed policy at http://kermit.kishwaukeecollege.edu/~dklick/foodDrinkPolicy.html
    4. A familiarity with computers and the Windows operating system is expected.
    5. Depending on the assignment, both digital and hardcopy versions of assignments may be required for submission. The procedure for submitting digital copies of assignments will be explained in class. Make sure you always keep a copy of all of your assignments. The instructor is NOT responsible for network failures, server failures, or student mistakes.
    6. The instructor answers many questions via email. Due to the high volume of requests, submissions, and questions received via email, the instructor must prioritize responses. Most questions will be answered (or at least acknowledged) within 48 hours. If you do not get a response when you expect one, please keep in mind that your email may have failed to reach the instructor, or may have automatically been rejected by an email client or server. Please try to contact the instructor again and possibly use the phone or an in-person visit if email is failing.
  9. Make-up Policy
    1. Assignments are to be turned in on time. Assignments which are not turned in on time will not be accepted unless individual arrangements are made in advance with the instructor. In unusual cases where late assignments are accepted, the cost of being late is ten percent of the total possible points for every portion of a day late, up to a maximum of three days late. For example, an assignment received twenty-five hours past its due date will lose twenty percent of its total possible point value (because it is two days late). Assignments which are received more than three days (seventy-two hours) late will not be accepted and are not worth any points. Exceptions may be made to this rule if the student contacts the instructor before the due date and makes special arrangements in advance with the instructor. All late acceptance decisions of this nature are left solely to the discretion of the instructor. This rule does not apply once answers to an assignment have been distributed or posted. Assignments submitted after answers have been released are worth zero points even if the answers are posted one minute past the due date.
    2. Answers to assignments may be posted online, handed out in class, or sent via email by the instructor. Once an answer to an assignment has been released, no further submissions for the assignment will be allowed. This rule supersedes all other rules about when late assignments may be accepted. In general, the instructor will try to wait at least forty-eight hours before posting or distributing solutions, but there is no guarantee, so get your assignments in on time.
    3. Tests are to be taken at the day and time scheduled. Failure to take a test at the scheduled time may result in a grade of 0 for that test. In the case of an excusable absence or a genuine emergency, the instructor must be contacted as soon as possible, preferably before the scheduled test, to reschedule the makeup of that test in the Learning Skills Center on the day the student returns to campus.
  10. Attendance Policy
    Class attendance is strongly encouraged. You are responsible for whatever was covered in class, whether you are there or not. If you must miss a class, it is your responsibility to contact the instructor and make arrangements for notes, handouts, or announcements that were missed. Although attendance is not counted toward the final grade, there may be coursework which is done during class time which may count toward the final grade and may not be able to be taken outside of class time.
Tentative Weekly Schedule

Please note that this schedule and the topics covered are likely to change. Changes will be announced in class. If you are not able to attend class, it is your responsibility to find out what was covered. A more detailed schedule is provided on the course website. Assignment descriptions and due dates will also be posted on the course web site.

Week Date   Topics Reading
1 1/17, 1/19 Classes and objects
  • School closed on 1/16/17
  • accessing class members
  • compiling using multiple classes/files
  • static vs. instance variables
  • access modifiers (private, public, default)
  • accessor (get) methods
  • mutator (set) methods
  • variable scope, visibility, and lifetime
  • constructors
Syllabus
Chapter 3
2 1/24, 1/26 Classes and objects in more depth
  • default constructor
  • overloading constructors
  • throwing exceptions
  • the "this" reference variable
  • public access vs. private access with accessor and mutator methods
  • validity checking using mutator (set) methods
  • predicate methods
  • composition
  • destructor (finalize method)
  • static class members
  • creating packages
  • default access (package)
  • discuss memory concepts of stack and heap
Chapter 8
3 1/31, 2/2 Inheritance
  • superclasses (base) and subclasses (derived)
  • objects, inheritance, and software reusability
  • inheritance hierarchy
  • protected member access
  • overriding inherited methods
  • the @Override annotation
  • the Object class
Chapter 9
4 2/7, 2/9 Polymorphism
  • abstract methods and classes
  • creating and using interfaces
  • overriding inherited methods
  • instanceof operator
  • creating an array of objects
  • typecasting objects
  • demonstrating polymorphic behavior
  • final methods and classes
Chapter 10
5 2/14, 2/16 Exceptions
  • catching an exception
  • throwing an exception
  • the Exception class hierarchy
  • checked vs. unchecked exceptions
  • chained exceptions
  • creating an Exception subclass
  • assertions
  • multi-exception catches
  • try-with-resources
Chapter 11
6 2/21, 2/23 Strings and regular expressions
  • String constructors
  • String methods
  • String immutability
  • the StringBuilder class
  • the Character class
  • tokenizing a String
  • creating and using basic regular expressions
Chapter 16
7 2/28, 3/2 Files and streams
  • getting information about a file or directory
  • reading and writing a sequential access text file/stream
  • object serialization
  • catching exceptions during file and stream input/output
  • using other types of Java streams
Chapter 17
8 3/7, 3/9 Multi-dimensional arrays and midterm exam
  • declaring mutli-dimensional arrays
  • initializing multi-dimensional arrays
  • processing multi-dimensional arrays
  • midterm exam (3/9)
Chapter 7
  3/13-3/19 School closed for Spring break  
9 3/21, 3/23 Recursion
  • recursion concepts
  • recursion and the method-call stack
  • recursion vs. iteration
  • implementing recursive algorithms
Chapter 18
10 3/28, 3/30 Searching, sorting, and algorithm complexity
  • linear search
  • binary search
  • sorting algorithms (including order n^2 and n * log n)
  • algorithm complexity
  • using and adapting sorting algorithms
Chapter 19
11 4/4, 4/6 Sorting continued
  • implementing various sorting algorithms
  • deciding which algorithm to use
Chapter 19
12 4/11, 4/13 Generics and collections
  • auto-boxing and auto-unboxing
  • using Java's library classes that implement the Collection interface
  • using an iterator
  • using Java's Collections class
  • using lists, stacks, queues, sets, and maps
  • No classes 4/13 (Faculty development)
  • No classes 4/14 (Good Friday)
Chapter 20
13 4/18, 4/20 Linked lists, stacks, queues
  • using generics
  • creating generic methods and classes
  • implement generic linked-list, stack, and queue classes
Chapters 21, 22
14 4/25, 4/27 Binary trees
  • use a binary tree
  • create a generic binary tree class (delete operation optional)
Chapter 22
15 5/2, 5/4 Graphs
  • discuss graph concepts and terminology
  • walk through creating a vertex list
  • walk through creating an edge list
  • walk through creating an adjacency list
  • walk through creating an adjacency matrix
  • walk through creating a minimal spanning tree
  • walk through finding the shortest path
  • use and modify a graph class to solve a problem (such as shortest path)
Not in text
16 5/9, 5/11 Graphical user interface (not in text)
  • review GUI topics from CIS 160
  • draw graphics and text
Not in text
Finals 5/16/17 Final exam: 12:00 P.M. - 1:50 P.M., Rm. A-1374  
Kishwaukee College Policies and Resources
  1. Academic Dishonesty
  2. Assistive Resources Center/Disability Services
  3. Attendance Verification Roster
  4. Class Cancellations
  5. Class Withdrawal
  6. Community Resources
  7. Copyright
  8. Emergency Procedures/Safety
  9. Graduation Requirements for
    Transfer Degree Students
  10. Incomplete Grade
  11. Learning Skills Center
  12. Recording of Classes/Presentations
  13. Religious Observances
  14. Student E-mail
  15. Technical Support
Please see the Kishwaukee College Catalog for other policies and resources
  1. In order to evaluate student work, faculty must be able to trust that the work is original with a student and not the work of someone else. Cheating, falsifying information, forgery, plagiarism, and other dishonest actions will not be tolerated. Detailed information can be found by clicking on this link: www.kishwaukeecollege.edu/student-life-essential-student-information/student-code-conduct
  2. Any student with a documented disability or special learning need and wanting to request accommodations, should contact the Assistive Resources Center in A1317 or at (815) 825-2086 ext. 4290, (815) 825-9106 (TTY). More information can be found on the MyKC Portal: https://mykc.kishwaukeecollege.edu/collegeareas/vpss/disabilityservices/Pages/default.aspx
  3. Students who do not attend their class during the refund period will be dropped from the class roster and will be charged for the class. More information can be found on the MyKC Portal: https://mykc.kishwaukeecollege.edu/collegeareas/vpfa/bo/Pages/default.aspx
  4. Class cancellations due to inclement weather will be posted on the College Website: www.kishwaukeecollege.edu or announced by the local radio stations. You may sign up for text alerts at myKC/Student Resources/Text Alert. Students may also call the College at (815) 825-2086. Class cancellations due to instructor absence will be posted on the classroom door. Room changes will be announced in advance whenever possible and posted on the classroom door.
  5. A "W" cannot be given as a final grade. The student is responsible for officially withdrawing from the class according to procedures described in the college catalog. Refer to page 166. Kishwaukee College reserves the right to administratively withdraw students from the Attendance Verification Roster or the Midterm Roster those students who are not actively pursuing course objectives or who are in violation of standards of behavior as outlined in the Student Code of Conduct and Discipline. For a copy of the student conduct policy, contact the Vice President of Student Services Office or refer to the Kishwaukee College catalog.
  6. There are numerous community resources that are available to assist students in addressing a variety of personal needs. Resource contact information can be found on MyKC: https://mykc.kishwaukeecollege.edu/collegeareas/vpss/counseling/Pages/Documents.aspx
  7. As a Kishwaukee College Student, you may have copyrighted materials or software made available to you by the college for course use. Please understand that copyright law may prohibit copying or further distribution of these materials. Full information can be found here: www.kishwaukeecollege.edu/student-life-essential-student-information-students-right-know/copyright-law-notification
  8. Yellow and red Emergency Information flipcharts are located in each classroom. These are quick reference sheets with telephone numbers to reach emergency assistance and a brief description of the correct actions to take in the event of a tornado, fire or other emergency on campus. More information can be found in the college catalog on page 196.
  9. Guidelines and specific requirements can be found here: www.kishwaukeecollege.edu/academics-resources/graduation-requirements
  10. All course requirements must be completed by the end date for the course. In the event that extremely difficult circumstances merit granting a student more time to finish course requirements, an "Incomplete" (I) grade may be given. More information can be found in the college catalog on page 170.
  11. Tutoring, The Writing Center, make-up tests, online tests, and placement tests are available through the Learning Skills Center. For more information, go to https://mykc.kishwaukeecollege.edu/collegeareas/vpi/lsc/Pages/default.aspx
  12. Kishwaukee College prohibits students from electronically recording class lectures and presentations (either by audio, video, picture, or otherwise) unless certain qualifying conditions are met.
    1. The student requires the recording of lectures/presentations as part of his/her accommodations related to a disability that has been adequately documented with the Coordinator of the Assistive Resources Center.
    2. The instructor has given advance written permission to the student that stipulates what may be recorded and by which device(s) the lectures/presentations may be recorded.
    In either of the above cases, the following restrictions shall apply:
    1. Recordings are solely for the use of the student designated either in the disability accommodations or the instructor's written permission to record.
    2. Recordings must not be shared or reproduced for any reason.
    3. Recordings must not be posted on any public or private website or social media service.
    4. Recordings must be destroyed by the student at the end of the semester in which the recording was made.
    A student found to have committed a violation of this procedure shall be subject to one or more sanctions described in the Code of Student Conduct and Discipline. Students seeking to obtain permission to record a class must inquire with the instructor in question and, if the instructor agrees to allow recording, the student and instructor must complete a Permission to Record a Class/Lecture Presentation form.
  13. Students faced with schedule conflicts related to a religious observance should make prior arrangements with the instructor a minimum of seven (7) school days in advance of the examination or other activity involved.
  14. Your Kishwaukee College e-mail account will be the official way to receive notices from the College. If you choose to forward your e-mail to another account, please be advised that all communication from and within the college will use your Kishwaukee student e-mail. When communicating with instructors or employees of the college, you are required to use your Kishwaukee e-mail address.
  15. If you require technical support, please contact the Help Desk:
    1. helpdesk@kishwaukeecollege.edu
    2. (815) 825 2086, ext. 4357 (HELP)
    3. Visit the Helpdesk's office located in Media Services A1252
    4. http://helpdesk.kishwaukeecollege.edu