CIS 255 • Java Programming

Jefferson State Community College • Shelby-Hoover Campus • Summer 2016

Instructor Information: Mr. Tommy Battles
Office Health Sciences Building Room 427
Office Hours See Weekly Schedule
E-mail tbattles (at mark) @jeffersonstate.edu

Catalog Course Description This course is an introduction to the Java programming language. Topics in this course include object-oriented programming constructs, Web page applet development, class definitions, threads, events and exceptions. Upon completion, the student will be able to demonstrate knowledge of the topics through the completion of programming projects and appropriate tests.

Prerequisite CIS 110 (prior to Fall 2009) or CIS 150 (Fall 2009 or later). Students with prior programming experience, especially those who are not pursuing an Associate in Applied Science degree, may enroll in CIS 255 without this prerequisite. A student currently enrolled in CIS 150 may be able to master a single programming language course during the same semester. Students without prior programming experience, especially those requiring MTH 090 or MTH 098, are advised not to take this or any other programming course without first completing or enrolling in CIS 150.

Textbook You are advised to bring your textbook to each class meeting, as your instructor may refer to examples that are present in the textbook.

Starting Out with Java: From Control Structures through Objects, third edition or newer, by Tony Gaddis. ISBN-10: 0-13-395705-5 (sixth edition), 0-13-285583-6 (fifth edition), 0-13-608020-0 (fourth edition), 0-321-47927-0 (third edition). Note: the chapter order and the content of some sections will differ between editions.

This textbook may be available in different bindings and / or with different ISBNs. Please consult with your instructor should you wish to buy such a variation on the textbook.

Software The classroom and the open computer laboratory (HSB 451) provide TextPad; it is a simple text editor that ties into Sun's Java Development Kit (JDK) tools to compile and run Java programs. There are several free Java development environments available; as long as your code conforms to Java language standards, you may use any environment to write, compile, and run your programs. Note that some development environments involve the creation of packages; you must make sure that your program will compile and run without being in a specific package. Students enrolled in CIS courses at Jefferson State may also obtain Microsoft software free-of-charge through DreamSpark; be looking for an e-mail message in your Pipeline account with your login information.

Course Content The majority of class meetings will be evenly divided between lectures on Java syntax constructs and laboratory assignments in which students apply Java syntax to a particular scenario. The order of these components varies depending on the material on which the assignment is based. In either mode, students will connect the syntax with general programming concepts and real-world problems.

Schedule The following is a tentative schedule of lectures (see the calendar for other dates, including deadlines):

Grades Refer to the following table for the contribution of each course item to your grade.

Item Number / Points Total Pts.
Lab Work 12 @ 20 pts. each (2 bonus) 200
Projects 3 @ 50 to 75 pts. each 200
Exams 4 @ 150 pts. each 600
Total Points 1000

Laboratory Assignments For each laboratory assignment, you will be given detailed instructions on how to create a complete Java program that relates to material recently covered in the lectures. You are expected not only to complete the code, but also to ensure that the code compiles and executes properly. Grades will be weighted more for effort than for accuracy, but you should aim for as functional a solution as time permits.

The instructions for each laboratory assignment will usually be made available at the end of the lecture prior to the time dedicated to the assignment. You are encouraged to read the instructions and begin work on your code prior to class so that your time on campus is focused on overcoming any difficulties encountered in the programming process. The deadline for each laboratory assignment may be as early as the end of the time designated for the assignment; check Blackboard for each assignment's deadline. Your instructor reserves the right to limit the availability of the laboratory assignment submission tool to students who are in attendance on the designated laboratory assignment day. Because there are two bonus laboratory assignments in the schedule, no late laboratory assignment submissions will be accepted. Your submission must be received in Blackboard prior to the deadline.

Projects As the semester progresses, you will be required to create complete Java programs to specifications that test your knowledge of the material covered to date. A portion of your grade will be based on proper use of the required code elements, but a larger part of your grade will be based on how well the program performs. Individuality is encouraged provided that the added elements do not detract from the required functionality; your program must follow the guidelines in the project description.

Project instructions are posted on Blackboard at least six days in advance of the deadline, so you should be able to submit an assignment on time even if you miss the day it was announced. Students with extenuating circumstances affecting their abilities to meet a project deadline should notify the instructor well in advance of the deadline to arrange for an extension. Credit for late project submissions is rare and may be reduced.

Assignment Guidelines For each assignment, you must include special lines called comments at the top of your code identifying yourself, the course, and the assignment. Additionally, the instructions will indicate the number of comments required within the code that describe different portions of the program in your own words to help you and other programmers understand the code in the future. Comments must be your own work; do not copy excessive amounts of material from lecture notes, instructions, or other sources. You will lose up to ten percent of the assignment grade if you do not provide comments that are relevant to the assignment.

Although there may be a variety of ways to code an assignment solution in Java, your code should include only the syntax discussed in the lectures and in the textbook unless you receive prior permission from your instructor.

Examinations After every two to three chapters covered in the lectures there will be an examination. These examinations will test both your understanding of underlying concepts and your knowledge of Java syntax. Examinations will feature a mixture of multiple-choice questions, a problem in which you write the output of a Java program included in the exam, and an exercise in which you must provide a complete Java program as a solution to a problem. Your instructor may allow you access to selected resources during the examination. Examinations are administered on paper; you must bring your own writing utensil (pencil, blue ink, or black ink) for each exam. Because of the cumulative nature of computer programming, you are advised to maintain a thorough understanding of topics covered early in the semester so as not to hinder your performance on examinations covering later chapters.

These are the tentative examination dates:

In the event of an excused absence, you may make up one exam provided that the make-up occurs within one week of the scheduled exam date. If logistics prevent the scheduling of a make-up within one week, your instructor may choose to substitute your final exam grade in place of that exam grade. If you miss more than one examination, you must contact your instructor to determine if, and how, you will be able to recover the points for the other missed examination(s).

Academic Honesty Students are expected to complete their own work regardless of circumstances. All assignments are individual exercises, not group work. Do not discuss an assignment with any individual (e.g., classmates, former students, tutors, or others familiar with the course material) other than your instructor! Do not share your assignment-related files or work with any other student, and do not obtain or look at any other student's files, whether on campus, on a home computer, or via electronic means! This includes time during class when you are able to work on assignments. Peer assistance should be limited to the concepts discussed in class and should never include the specifics of an assignment (whether in Java or in terms of general logic); contact your instructor if there is a question as to how much assistance can be offered.

Under no circumstances should you post the details of any assignment on a public discussion board, forum, or newsgroup. Likewise, you should not post any portion of your solution to any assignment, even in progress, on such a public resource. Making such information available on the Internet will be considered academic misconduct.

During an examination, all hats, caps, visors, headphones, and earbuds must be removed unless required for ADA accommodations; additionally, no portable electronic devices (cell phones, media players, etc.) may be used unless required for ADA accommodations.

Your instructor will follow the procedures outlined in the Academic Honesty Code section of the Catalog and Student Handbook should he perceive a violation of the Code. Unless there is evidence that the violation was not due to any action on the part of a specific student, each student involved in the violation will be penalized.