CIS 255 • Java Programming

Jefferson State Community College • Shelby-Hoover Campus • Spring 2012

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, fourth edition, by Tony Gaddis. ISBN-10: 0-136-08020-0; ISBN-13: 978-0-136-08020-6. Note: If you have already purchased the third edition (ISBN-10: 0-321-47927-0), that will suffice for this course.

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. Students enrolled in CIS courses at Jefferson State may also obtain Microsoft software free-of-charge through the MSDN Academic Alliance; be looking for an e-mail message in your Pipeline account with your login information.

Course Content Class meetings will involve either a lecture on Java syntax or the completion of a laboratory assignment. In either mode, students will connect the syntax with general programming concepts and real-world problems.

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 2 to 4 @ 50 to 100 pts. each 200
Exams 4 @ 150 pts. each 600
Total Points 1000

Laboratory Assignments For each 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 be made available prior to the class meeting during which time is provided to work on the assignment (usually at the end of the previous class meeting). 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 assignment may be as early as the end of the designated class meeting; 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.

Examinations After every two to three chapters 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.

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