CIS 255 • Java Programming

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

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, fifth edition, by Tony Gaddis. ISBN-10: 0-13-285583-6; ISBN-13: 978-0-13-285583-9. Note: If you have already purchased the third edition (ISBN-10: 0-321-47927-0) or the fourth edition (0-136-08020-0), either will suffice for this course, although the chapter order and some sections will differ.

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 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 (or, on occasion, a combination of both). In either mode, students will connect the syntax with general programming concepts and real-world problems.

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

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.

Several of the class meetings are set aside as time for you to work on a laboratory assignment. During these classes, if you have a specific question about a problem in your code, you should ask your instructor; do not show your code to your classmates, and do not look at the code written by your classmates.

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

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