Effective: Early Spring 8-Week 2017/2018

CISS 238: Java Programming

Back to Top

  Course Description

An introduction to programming using Java.  Topics include methods, classes, objects, advanced object concepts, input, selection, repetition, arrays and strings, applets, HTML, graphics, inheritance concepts, abstract windows tool kit, file input and output.

Prerequisite: MATH 150 and CISS 170, CISS 171, or CISS 176

Proctored Exams: Midterm and Final



  Textbooks

Required

  • Gaddis, T. (2017). Starting Out with Java: Early Objects (6th). Upper Saddle River, NJ: Pearson.
    • [ISBN-978-0-1344-6201-1]

MBS Information

Textbooks for the course may be ordered from MBS Direct. You can order

For additional information about the bookstore, visit http://www.mbsbooks.com.

  Course Overview

The material in this course is highly dynamic and will require you to analyze and solve challenges by applying programming constructs. The syntax of the Java language is fairly simple; however, the application of the syntax can, and will, provide a challenge to you. You will be given ample opportunity to learn each objective so that you will be prepared for the final exam as well as real world challenges.

Each week, we will focus on different aspects of the Java language. You will learn about objects early as Java is an object-oriented language and is the basis for most development projects.

To assist you in developing your applications, we will be using an Integrated Development Environment (IDE) to complete our assignments. This will assist you in learning the syntax of the language as well as provide you with experience using an IDE that is used professionally within the industry. However, please be aware that during the exams, you will not have access to this tool.

  Technology Requirements

Participation in this course will require the basic technology for all online classes at Columbia College:
  • A computer with reliable Internet access
  • A web browser
  • Acrobat Reader
  • Microsoft Office or another word processor such as Open Office

You can find more details about standard technical requirements for our courses on our site.

  Course Learning Outcomes

  1. Demonstrate an understanding of Java syntax.
  2. Demonstrate an understanding of Unified Modeling Language.
  3. Demonstrate an understanding of Object-Oriented Programming.
  4. Solve basic business problems with Java.

  Grading

Grading Scale

Grade Points Percent
A 576-640 90-100%
B 512-575 80-89%
C 448-511 70-79%
D 384-447 60-69%
F 0-383 0-59%

Grade Weights

Assignment Category Points Percent
Discussions (8) 80 12%
Programming Assignments (10) 200 31%
Midterm Exam 80 12%
Final Project 80 12%
Final Exam 200 31%
Total 640 100%

  Schedule of Due Dates

Week 1

Assignment Points Due
Introduction Discussion -- Thursday
Discussion 1 10 Thursday/Sunday
Programming Assignment 1 20 Sunday
Programming Assignment 2 20
Programming Assignment 3 20

Week 2

Assignment Points Due
Discussion 2 10 Thursday/Sunday
Programming Assignment 4 20 Sunday
Programming Assignment 5 20
Proctor Information N/A

Week 3

Assignment Points Due
Discussion 3 10 Thursday/Sunday
Programming Assignment 6 20 Sunday
Programming Assignment 7 20

Week 4

Assignment Points Due
Discussion 4 10 Thursday/Sunday
Programming Assignment 8 20 Sunday
Midterm Exam 80

Week 5

Assignment Points Due
Discussion 5 10 Thursday/Sunday
Programming Assignment 9 20 Sunday

Week 6

Assignment Points Due
Discussion 6 10 Thursday/Sunday
Programming Assignment 10 20 Sunday

Week 7

Assignment Points Due
Discussion 7 10 Thursday/Sunday

Week 8

Assignment Points Due
Discussion 8 10 Thursday/Saturday
Final Project 80 Thursday
Final Exam 200 Saturday
Total Points: 640

  Assignment Overview

Discussions

There is a non-graded Introduction Discussion and 8 graded discussions in the course. You must post your original response to each discussion topic by 11:59 p.m. CT, Thursday. You must then respond to at least two other students’ initial responses for each discussion topic by 11:59 p.m. CT, Sunday, except week 8 when responses are due on Saturday by 11:59 p.m. CT. Original posts should be 2-3 paragraphs in length or approximately 200 words and the two responses to classmate’s postings should be 1 paragraph in length or approximately 100 words each. The original post is worth 6 points and each response is worth 2 points, or 4 points in total. Combined, the original post and response posts make each discussion worth up to 10 points. Your posts will be graded on the basis of analytical and critical thinking skills, completeness, correct spelling, and neatness. Use java code snippets when appropriate.

Programming Assignments

There are ten (10) Programming Assignments in the course to be submitted in the first six weeks (Weeks 1 – 6). These are worth 20 points each. The Programming Assignments are due on Sunday, 11:59 p.m. CT of their assigned week (Weeks 1- 6). These assignments are programming exercises which will be graded according to the following criteria:

  • 20 points: Assignment is on time; complete, properly formatted, properly commented.
  • 19-15 points: Assignment is on time; but incomplete, not formatted correctly, little or no comments
  • 0 points: Assignment is not submitted.
  • 10% of total points will be deducted if the assignment is submitted late. For each week it is late 10% will be deducted.

You must submit the assignments to the appropriate Dropbox folder. Cougarmail is not allowed.

Final Project

There is a Final Project, worth 80 points, in the course.  The Final Project is due by 11:59 p.m. CT, Thursday of Week 8. This is a programming exercise in which you need to create a Java GUI application that works like a shopping cart.

Exams

There are two proctored exams in the course – Midterm Exam and Final Exam. Midterm is worth 80 points and Final is worth 200 points. Both exams are taken online in the D2L course environment.

Proctor information is due on 11:59 p.m. CT, Sunday in week two (2). You must submit the “Student Proctor Information Submission Form” to the Proctor Information Dropbox by the end of Week 2. This form and additional information about Proctoring is located in the Content area of the course.

You will have 120 minutes (2 hours) and only one (1) attempt to complete the exams. The Midterm Exam opens on 12:01 a.m. CT, Tuesday of Week 4 and must be completed by 11:59 p.m. CT on Sunday of the same week. It contains questions from topics covered in Weeks 1-4 (Chapters 1-8). The exam will consist of 40 multiple choice questions worth 2 points each.  No midterm review sheet will be posted. You will not get to use your book, notes or an IDE while you are taking the midterm. 

The Final Exam opens on 12:01 a.m. CT, Tuesday of Week 8 and must be completed by 11:59 p.m. CT on Saturday of the same week. It contains questions from topics covered in Weeks 1-8 (Chapter 1-12 & 15). The exam will consist of 15 short answer questions. It will include 10 traditional short answers worth 10 points each and 5 questions will ask you to write small programs and are worth 20 points each. A Final Exam review sheet is posted in the course content area of Week 7. Please use the review sheet as it is the best preparation.  You will not get to use your book, notes or an IDE while you are taking the exam.

  Course Outline

Click on each week to view details about the activities scheduled for that week.

Readings
  • Chapter 1
  • Chapter 2
  • Chapter 3
Introduction Discussion

Introduce yourself and be sure to include your current job position and any personal information that you are willing to share to help us know you better.

Discussion 1

We perform various tasks every day in our lives. Every task contains a series of steps that must be performed in an order. Answer the following questions and respond to two of your peers with feedback on their post.

Describe what an algorithm is as it relates to programming.

Provide an algorithm that accurately reflects how to perform a daily task around your household.

In your responses to your classmates, respectfully provide constructive criticism of their algorithm; consider topics such as order or steps that may be missing.

Programming Assignment 1

Complete the following Programming Assignment:

Chapter 1: Programming Challenge 1, Your First Java Program, page 28

  • MyFirstProgram.java
Programming Assignment 2

Complete the following Programming Assignment:

Chapter 2: Programming Challenge 9, Miles-per-Gallon, pages 124-125

  • MilesPerGallon.java
Programming Assignment 3

Complete the following Programming Assignments:

Chapter 3: Programming Challenge 1, Employee Class, pages 187-188

  • Employee.java
  • EmployeeDemo.java
Readings
  • Chapter 4
  • Chapter 5
Discussion 2

It seems like we are counting things every day. In programming these would-be accumulators. Answer the following questions and respond to two of your peers with feedback on their post.

Describe a programming problem that would require the use of an accumulator.

Write the pseudo code necessary to solve your programming problem.

Explain why you chose to solve the problem in that way.

In your responses to your classmates, respectfully provide comments or constructive criticism of their accumulator and pseudo code; consider topics such as the programming problem, order or steps that may be missing.

Programming Assignment 4

Complete the following Programming Assignments:

Chapter 4: Programming Challenge 4, Software Sales, page 267

  • SoftwareSales.java
  • SoftwareSalesDemo.java
Programming Assignment 5

Complete the following Programming Assignment:

Chapter 5: Programming Challenge 5, Hotel Occupancy, page 345

  • HotelOccupancy.java
Proctor Information
Submit your proctor form to the appropriate Dropbox folder by the end of the week. Remember to “Save” the form before placing it in Dropbox. See the Content area for more information.
Readings
  • Chapter 6
  • Chapter 7
Discussion 3

Java Method Overloading can be a powerful tool if used correctly. Answer the following questions and respond to two of your peers with feedback on their post.

Describe what overloading a method means. Give examples where one would use overloaded methods. Provide small code snippets showing an overloaded method. Is overloading a good thing or just a waste of time?

In your responses to your classmates, respectfully provide comments and/or constructive criticism of their overloaded method examples.

Programming Assignment 6

Complete the following Programming Assignment:

Chapter 6: Programming Challenge 5, Month Class, page 439-440

  • Month.java
Programming Assignment 7

Complete the following Programming Assignments:

Chapter 7: Programming Challenge 2, Payroll Class, page 536

  • Payroll.java
  • PayrollDemo.java
Readings
  • Chapter 8
Discussion 4

Each of Java's eight primitive data types has a class dedicated to it. These are known as wrapper classes because they "wrap" the primitive data type into an object of that class. Answer the following questions and respond to two of your peers with feedback on their post.

Why are wrapper classes used?

Provide a situation where their use makes the application more manageable and explain why. Provide small code snippets showing the use of a wrapper. In your responses to your classmates, respectfully provide comments and/or constructive criticism.

Programming Assignment 8

Complete the following Programming Assignment:

Chapter 8: Programming Challenge 1, Backward String, page 595

  • BackwardString.java
Midterm Exam

The proctored Midterm Exam will consist of 40 multiple-choice questions that cover the materials from Weeks 1 - 4.  You will have one attempt and 120 minutes (2 hours) to complete the exam.  The exam must be submitted no later than 11:59 pm CT on Sunday.

Readings
  • Chapter 9
Discussion 5

Each of Java's eight primitive data types has a class dedicated to it. These are known as wrapper classes because they "wrap" the primitive data type into an object of that class. Answer the following questions and respond to two of your peers with feedback on their post. Describe the differences between an abstract class and an interface. Using small code snippets provide examples for both, citing the differences. In your responses to your classmates, respectfully provide comments and/or constructive criticism.

Programming Assignment 9

Complete the following Programming Assignments:

Chapter 9: Programming Challenge 5, Course Grades, page 683

  • CourseGrades.java
  • CourseGradesDemo.java
  • Essay.java
  • FinalExam.java
  • GradedActivity.java
  • PassFailActivity.java
  • PassFailExam.java
Readings
  • Chapter 10
Discussion 6

An exception is a problem that arises during the execution of a program. When an exception occurs, the program terminates abnormally. We create exception handlers to exit gracefully. Answer the following questions and respond to two of your peers with feedback on their post.

Why should we program for exceptions?

Using code snippets provide an example situation where programming for exceptions gives value to the end user.

In your responses to your classmates, respectfully provide comments and/or constructive criticism.

Programming Assignment 10

Complete the following Programming Assignments:

Chapter 10: Programming Challenge 1, Test Scores Class, page 741

  • TestScores.java
  • TestScoresDemo.java
Course Evaluation
Please evaluate the course. You will have an opportunity to evaluate the course near the end of the session. A link sent to your CougarMail will allow you to access the evaluation. Please note that these evaluations are provided so that I can improve the course, find out what students perceive to be its strengths and weaknesses, and in general assess the success of the course. Please do take the time to fill this out.
Readings
  • Chapter 11
  • Chapter 12
Discussion 7

A GUI is a type of user interface that allows users to interact with graphical icons and visual indicators instead of text-based user interfaces. Answer the following questions and respond to two of your peers with feedback on their post.

Why should a programmer follow GUI standards in programming the user interface?

Provide an example for each of your arguments.

In your responses to your classmates, respectfully provide comments and/or constructive criticism.

Readings
  • Chapter 15
Discussion 8

JDBC is used to access data stored in a Relational Database. JDBC helps you Connect to a data source, send SQL to the database, and retrieve and process the results received from the database. Answer the following questions and respond to two of your peers with feedback on their post.

How do databases drive the development of the application?

When would you use a database over files?

In your responses to your classmates, respectfully provide comments and/or constructive criticism.

Final Project

Create a Java GUI application that works like a shopping cart system for an online book store.

You will be provided a file name BookProce.txt. This file contains the names and process of various books, formatted as follows:

  • I Did It Your Way, 11.95
  • The History of Scotland, 14.50
  • Learn Calculus in One Day, 29.95
  • Feel the Stress, 18.50

Each line in the file contains the name of a book, followed by a comma, followed by the books retail price. When your application begins execution, it should read the contents of the file and store the titles in a ListView. The user should be able to select a book from the list and add it to the Shopping Cart. The Shopping Cart is another ListView. The application should have buttons or menu items that allow the user to Add Selected Items, Remove Selected Items, and Check out. When the Check Out button is selected the application should calculate and display the subtotal of all books in the shopping cart, the sales tax of 7%, and the total. In addition a receipt file should be created. Please check the course content area for complete details.

Final Exam

Final exam is proctored and consists of 15 short answer questions including 10 traditional short answers and 5 small programs. It includes all chapters covered during Week 1-8. You will have 120 minutes (2 hours) time limit and One (1) attempt to complete the exam. It is worth 200 Points.

  Course Policies

Student Conduct

All Columbia College students, whether enrolled in a land-based or online course, are responsible for behaving in a manner consistent with Columbia College's Student Conduct Code and Acceptable Use Policy. Students violating these policies will be referred to the office of Student Affairs and/or the office of Academic Affairs for possible disciplinary action. The Student Code of Conduct and the Computer Use Policy for students can be found in the Columbia College Student Handbook. The Handbook is available online; you can also obtain a copy by calling the Student Affairs office (Campus Life) at 573-875-7400. The teacher maintains the right to manage a positive learning environment, and all students must adhere to the conventions of online etiquette.

Plagiarism

Your grade will be based in large part on the originality of your ideas and your written presentation of these ideas. Presenting the words, ideas, or expression of another in any form as your own is plagiarism. Students who fail to properly give credit for information contained in their written work (papers, journals, exams, etc.) are violating the intellectual property rights of the original author. For proper citation of the original authors, you should reference the appropriate publication manual for your degree program or course (APA, MLA, etc.). Violations are taken seriously in higher education and may result in a failing grade on the assignment, a grade of "F" for the course, or dismissal from the College.

Collaboration conducted between students without prior permission from the instructor is considered plagiarism and will be treated as such. Spouses and roommates taking the same course should be particularly careful.

All required papers may be submitted for textual similarity review to Turnitin.com for the detection of plagiarism. All submitted papers may be included in the Turnitin.com reference database for the purpose of detecting plagiarism. This service is subject to the Terms and Conditions of Use posted on the Turnitin.com site.

Non-Discrimination

There will be no discrimination on the basis of sex, race, color, national origin, sexual orientation, religion, ideology, political affiliation, veteran status, age, physical handicap, or marital status.

Student Accessibility Resources

Students with documented disabilities who may need academic services for this course are required to register with the office of Student Accessibility Resources. Until the student has been cleared through this office, accommodations do not have to be granted. If you are a student who has a documented disability, it is important for you to read the entire syllabus as soon as possible. The structure or the content of the course may make an accommodation not feasible. Student Accessibility Resources is located in Student Affairs in AHSC 215 and can be reached by phone at (573) 875-7626 or email at sar@ccis.edu.

Online Participation

You are expected to read the assigned texts and participate in the discussions and other course activities each week. Assignments should be posted by the due dates stated on the grading schedule in your syllabus. If an emergency arises that prevents you from participating in class, please let your instructor know as soon as possible.

Attendance Policy

Attendance for a week will be counted as having submitted any assigned activity for which points are earned. Attendance for the week is based upon the date work is submitted. A class week is defined as the period of time between Monday and Sunday (except for week 8, when the work and the course will end on Saturday at midnight.) The course and system deadlines are based on the Central Time Zone.

Cougar Email

All students are provided a CougarMail account when they enroll in classes at Columbia College. You are responsible for monitoring email from that account for important messages from the College and from your instructor. You may forward your Cougar email account to another account; however, the College cannot be held responsible for breaches in security or service interruptions with other email providers.

Students should use email for private messages to the instructor and other students. The class discussions are for public messages so the class members can each see what others have to say about any given topic and respond.

Late Assignment Policy

An online class requires regular participation and a commitment to your instructor and your classmates to regularly engage in the reading, discussion and writing assignments. Although most of the online communication for this course is asynchronous, you must be able to commit to the schedule of work for the class for the next eight weeks. You must keep up with the schedule of reading and writing to successfully complete the class.

No late discussion posts will be accepted.

All weekly Programming Assignments are due no later than Sunday at 11:59 p.m. CT of the assigned week. They will be accepted late with the following penalty:

10% deduction each week it is late (for example if you submit Week Two's Programming  Assignment on the Monday of Week Four the deduction will be 20%). The maximum deduction is 50%.

Course Evaluation

You will have an opportunity to evaluate the course near the end of the session. A link will be sent to your CougarMail that will allow you to access the evaluation. Be assured that the evaluations are anonymous and that your instructor will not be able to see them until after final grades are submitted.

Proctor Policy

Students taking courses that require proctored exams must submit their completed proctor request forms to their instructors by the end of the second week of the session. Proctors located at Columbia College campuses are automatically approved. The use of ProctorU services is also automatically approved. The instructor of each course will consider any other choice of proctor for approval or denial. Additional proctor choices the instructor will consider include: public librarians, high school or college instructors, high school or college counseling services, commanding officers, education service officers, and other proctoring services. Personal friends, family members, athletic coaches and direct supervisors are not acceptable.

  Additional Resources

Orientation for New Students

This course is offered online, using course management software provided by Desire2Learn and Columbia College. The course user guide provides details about taking an online course at Columbia College. You may also want to visit the course demonstration to view a sample course before this one opens.

Technical Support

If you have problems accessing the course or posting your assignments, contact your instructor, the Columbia College Helpdesk, or the D2L Helpdesk for assistance. Contact information is also available within the online course environment.

Online Tutoring

Smarthinking is a free online tutoring service available to all Columbia College students. Smarthinking provides real-time online tutoring and homework help for Math, English, and Writing. Smarthinking also provides access to live tutorials in writing and math, as well as a full range of study resources, including writing manuals, sample problems, and study skills manuals. You can access the service from wherever you have a connection to the Internet. I encourage you to take advantage of this free service provided by the college.

Access Smarthinking through CougarTrack under Students -> Academics -> Academic Resources.