Java Programming

Syllabus

For More Completeness Than Below, See http://www.rsuonline.edu

Course Description

This course will cover Java, a new standardized and highly portable object-oriented computer language including features supporting use in computer applications systems development generally and client-server distributed systems development specifically. Additionally, Java features support for Web site development; parallel processing (threads); automatic memory allocation, deallocation, and garbage-collection; specific exclusion of dangerous C/C++ style pointers; and automatic array bounds checking.

The course will considerably focus on use of Java in World-Wide-Web (WWW) contexts, such as applets, animation, and dynamic WWW pages generally.

Prerequisite Full-Semester C or C++ Programming Course or Instructor Permission

 

Course Objective(s)

1. You will demonstrate understanding of the basic definitions of object-oriented software development.

2. You will demonstrate understanding of how Java supports object-oriented software development.

3. You will develop Java applets and applications.

4. You will create Java classes and objects.

5. You will create Java systems using classes as building blocks.

 

Text (s)

The primary text package for the course is Java How to Program, by Deitel and Deitel, Prentice Hall, 2002, ISBN 0-13-034151-7.

The (FREE) electronic book, THINKING IN JAVA, available at the URL below may be useful as a supplement to the primary text for object-oriented definition and theory purposes, but this text is not required. This book is available in paper form, but purchase of the paper form is not required. Contents of this or other Java books may be useful in your doing your problems and Final Exam in our course.

http://64.78.49.204/

The Java development system that will be used in the course is the current version of the Sun JDK which can be downloaded free of charge from http://java.sun.com/products.

A current version of the JDK is also available in your text packet CD, along with the Forte Java development environment.  Java development using the JDK directly is focused in the course text and in the course introductory units, but Forte or some other Java development environment may be useful to you in the course.

There is also example code that may be useful to you in the text packet CD. 

Teacher-Student Interaction

The primary mode of Teacher/Student interaction in the course will be e-mail and e-file transfer; supplemented by threaded discussion.

You should communicate with me, and send files to me through e-mail and e-mail attachment, regarding your questions, assignments, etc. I will communicate with you similarly.

Multiple files should be sent in one attachment, where appropriate, by zipping the files together prior to sending the result; and I may send several files to you zipped together, with unzipping required at your location. If you do not have zipping/unzipping software or do not know how to use it, I will send you instructions on how to get it, or on how to use it.

Threaded discussion topics, appropriate to several of those involved in the course at one time, may be posted and added to in the threaded discussion area, which should be checked frequently.

Excepting holidays, sometimes weekends, and cases in which I am on trips away from e-mail, I will respond to e-mail and e-file-transfers daily. I hope you will do likewise.

Other forms of Teacher/Student interaction such as phone, FAX, online-conferencing, etc. may also be used in the course.

 

Lesson and Exam Schedule

Please see additional info. below this Schedule (table) and in Course Policies, for clarification.

For a Summer course, please map the work in weeks 1 and 2 (below) to week 1 (in Summer), the work in weeks 3 and 4 to week 2, etc., so that the course will become an 8-week course in Summer with the coverage indicated below.

Week
Number

 

Chapters or Other Info. to be Studied

Assignment or Test Due at Week End

 

Worth

 

 

 

 

 

 

1

 

Chapt. 2 in Deitel

Sun JDK Installation on a Computer,
Problem 1 in Problem List Below

 

6%

2

 

Chapt. 3 in Deitel

Problem 2 in Problem List (Below)

 

6%

3

 

Chapt. 4 in Deitel

Problem 3 in Problem List

 

6%

4

 

Chapt. 5 in Deitel

Problem 4 in Problem List

 

6%

5

 

Chapt. 6 in Deitel

Problem 5 in Problem List

 

6%

6

 

Chapt. 7 in Deitel

Problem 6 in Problem List

 

6%

7

 

Chapt. 8 in Deitel

Problem 7 in Problem List

 

6%

8

 

Chapt. 9 in Deitel

Problem 8 in Problem List

 

6%

9

 

Chapt. 10 in Deitel

Problem 9 in Problem List

 

6%

10

 

Chapt. 11-12 in Deitel

Problem 10 in Problem List

 

6%

11

 

Chapt. 13 in Deitel

Problem 11 in Problem List

 

6%

12

 

Chapt. 14 in Deitel

Problem 12 in Problem List

 

6%

13

 

Chapt. 15 in Deitel

Problem 13 in Problem List

 

6%

14

 

Chapt. 18 in Deitel

Problem 14 in Problem List

 

6%

15

 

Chapt. 16 in Deitel

Problem 15 in Problem List

 

6%

16

 

Review and Final

Final

 

10%

In the above, Deitel refers to the primary text in the course.

The end of a week will be considered to be Saturday of the week at midnight.

The Final Exam will be non-proctored essay test, and will be sent to you by e-mail at least 1 week before due date.

The grading scale for the course is indicated below.

90% -- 100% A

78% -- 89% B

64% -- 77% C

50% -- 63% D

0% -- 49% F

Problem List Re. the Table Above

1. This problem includes 2 problem solutions, the problem on p. 66 in the Deitel text and the problem on p. 81-83 in the Deitel text.  You need not write the code for the problems from scratch.  See the Unit 1 Assignment Section for further information.

2. This problem is problem 3.8 on p. 146 of the Deitel text. See the Unit 2 Assignment Section for further information.

3.  This problem is problem 4.15 on p. 192 of the Deitel text; you need not do the pseudocode for the problem.  See the Unit 3 Assignment Section for further information.

4. Create a Java applet and application to print out the typical 10X10 multiplication table. See the Unit 4 Assignment Section for further information.

5. This problem is problem 6.28 on p. 309 in the Deitel text. See the Unit 5 Assignment Section for further information.

6. Create a Java application to Shell Sort an array of integers in increasing order. See the Unit 6 Assignment Section for further information.

7. Create a Java class called dog with (private) instance variables breed (kind of dog) and sound (arf). The class should, of course, contain a constructor (or constructors) for dog, and methods setBreed, setSound, getBreed, and getSound for accessing instance variables values. Write an applet using the class dog and creating an object (instance), allowing the filling of the instance variables of my_dog from keyboard, and allowing the outputting of my_dog instance variable values using the status method. See the Unit 7 Assignment Section for further information.

8. Redo problem 7 with highest level class animal, having instance variables name, weight, length, and color, and class dog inheriting these from animal. Class dog should have noninherited instance variables breed and sound (as in 7). The solution to problem 7 should be similiar to the solution to problem 6, but with some differences (see Assignment Section). See the Unit 8 Assignment Section for further information.

9. This problem is problem 10.13 on p. 595 in the Deitel text. See the Unit 9 Assignment Section for further information.

10. This includes 2 problems, 11.9 on p. 643 and 12.9 on p. 717, in the Deitel text. See the Unit 10 Assignment Section for further information.

11. This problem is problem 13.8 on p. 802 in the Deitel text. See the Unit 11 Assignment Section for further information.

12. This problem is problem 14.23 on p. 836 in the Deitel text. See the Unit 12 Assignment Section for further information.

13. Write an application, containing a set of threads to be used for parallel processing, which will multiply a 9X9 matrix of integers times a 9-element column matrix of integers and output the result to a 9-element column matrix of integers.

In your solution, there should be 9 threads, one to handle the product of each row of the first matrix with the first mentioned column matrix, by taking the sum of the cross products of the row with the column which should then be put in the proper resultant column matrix element.

Please see the Unit 13 Assignment section for further information.

14. This problem is problem 18.16 on p. 1091 of the Deitel text. See the Unit 14 Assignment Section for further information.

15. Write a simple payroll application. An input file and an output example will be supplied. See the Unit 15 Assignment Section for further information.

Attendance Policies

    This course is an online course in which attendance corresponds to contact between student and instructor at least twice per week.  Attendance and late arrivals are not directly factored into grading in the course, but it is highly unlikely that students in the course not having contact with the instructor at least twice per week will generally do well in the course.

Late Assignments and Make-up Work Policy

Work will be due by Saturday at midnight in the week in which the work is assigned.  Credit for work will only be assigned in the week in which the work is due; late work will not be acceptable.  In a summer course, 2 weeks of course work according to the General Topic Outline and Agenda below  will be due in each week of the summer course. 

Academic Misconduct

Students are expected to follow university policies as put forth in the institution's Student Code of Responsibilities and Conduct. In accordance with Title 12 of The Student Code (page 11), instances of alleged academic misconduct will follow the policies and procedures as described in Title 12. As a general rule, Faculty at Rogers State University have the responsibility of enforcing the academic code. Therefore, if academic misconduct is suspected, I will submit a letter of alleged academic misconduct to the Office of Student Affairs.

Non-academic Misconduct

In order to maintain an effective learning environment, students are expected to fully comply with The Student Code. Disruptive behavior will not be tolerated. It is the responsibility of each student to read and become familiar with the policies of The Student Code.

Statement for Students with Disabilities

   If you have specific physical, psychiatric, or learning d
isabilities, please let the Instructor know immediately so that your learning needs may be appropriately met. You will need to provide documentation of your disability to the Office of Student Affairs, Prepatory Hall 110, on the Claremore campus. The Director of Student Affairs may also be reached by email at advising@ruonline.edu, or at 918.343.7569.