Richard G Baldwin (512) 223-4758, NRG Room 4238, Baldwin@DickBaldwin.com, http://www.austincc.edu/baldwin

ITSE2317 Java Programming (Intermediate)

This is the Syllabus for classroom sections and Open Campus (PCM) sections taught by Professor Baldwin.

Syllabus and Study Guide

Fall 2007

Revised 08/21/07

The official web page for this course is http://www.austincc.edu/baldwin/Fall07/Itse2317WebPage/ITSE2317.htm

Instructor: Richard G. Baldwin
Office Telephone:  512-223-4758
Office:  NRG room 4238
Office Hours: See the OH link next to my name on the ACC Course Schedule Web page.   Other times by appointment. Call the above number or E-mail at any time.

Course Description: Introduction to JAVA programming with object-orientation. Emphasis on the fundamental syntax and semantics of JAVA for applications and web applets. Continued study in the use of the Java programming language for writing complex and sophisticated stand-alone applications at the Intermediate level. (See prerequisite below).

Prerequisite: ITSE2321 or department approval. This is not a beginning Java programming course.  Fundamental Java programming concepts (such as classes, interfaces, inheritance, compile-time and run-time polymorphism, objects, packages, access control, instance and class members, and exception handling) will not be covered. If you don't already understand these object-oriented programming concepts using the Java language and API, you may find it difficult to succeed in this course.

Approved Course Text:  See Materials and Facilities below.

Instructional Methodology: The course will have both lab and lecture.

Course Rationale: This course is designed to teach the student how to write, test, and debug intermediate-level Object-Oriented programs using Java.

Course Objectives/ Learning Outcomes: To learn to write, test, and debug intermediate-level Object-Oriented programs using Java. In addition, the student will either be introduced to, or will use the following concepts, which are important workforce activities:

Scans Competencies:   The following is a summary of the Scans Competencies attributable to this course with the following scale:

1 – Concept
2 – Application
3 – Advanced

Competencies not covered by this course are not listed.

C1

Time:  Selects goal-relevant activities, ranks them, allocates time, and prepares and follows schedules.

2

C5

Acquires and evaluates information.

2

C6

Organizes and maintains information.

2

C7

Interprets and communicates information.

2

C8

Uses computers to process information.

2

C15

Understands Systems:  Knows how social, organizational, and technological systems work and operates effectively with them.

2

C16

Monitors and Corrects Performance:  Distinguishes trends, predicts impacts on system operations, diagnoses systems performance, and corrects malfunctions.

2

C18

Selects Technology:  Chooses procedures, tools, or equipment, including computers and related technologies.

2

C19

Applies Technology to Task:  Understands overall intent and proper procedures for setup and operation of equipment.

2

F1

Reading:  Locates, understands, and interprets written information in prose and in documents such as manuals, graphs, and schedules.

2

F3

Arithmetic:  Performs basic computations; uses basic numerical concepts such as whole numbers, etc.

2

F4

Mathematics:  Approaches practical problems by choosing appropriately from a variety of mathematical techniques.

2

F5

Listening:  Receives, attends to, interprets, and responds to verbal messages and other cues.

2

F8

Decision Making:  Specifies goals and constraints, generates alternatives, considers risks, and evaluates and chooses best alternative.

1

F9

Problem Solving:  Recognizes problems and devises and implements plan of action.

2

F10

Seeing Things in the Mind’s Eye:  Organizes and processes symbols, pictures, graphs, objects, and other information.

2

F11

Knowing How to Learn:  Uses efficient learning techniques to acquire and apply new knowledge and skills.

1

F12

Reasoning:  Discovers a rule or principle underlying the relationship between two or more objects and applies it when solving a problem.

2

F13

Responsibility:  Exerts a high level of effort and perseveres towards goal attainment.

2

Who Should Enroll in this Course: Please review the companion document to this one entitled Who Should Enroll?

Transfers:  Although it is technically possible for a student to transfer from one section to another section of the same course, this process has caused many problems in the past, and is not allowed unless the reasons for the transfer are compelling.  Students desiring to transfer between CIS/CSC courses must first obtain permission from an Assistant Dean for CIS/CSC who will initiate the paperwork.

Requirements: All students must meet the examination requirements described below.

Examinations: Exams for this course are to be taken at home and submitted to the instructor in accordance with a companion document entitled Instructions for Downloading and Submitting Exams.

Because the exams are take-home exams, the amount of work required to complete an exam, and the range of material covered by each exam is greater than you might ordinarily expect to be the case with a classroom exam.  In short, you should view each exam as a major programming project.

All students must successfully complete three exams by the deadlines specified below. You can complete and submit the exams ahead of the deadline if you wish but I usually save them and grade them all at the same time.

Exams will be made available for downloading via the web early in the semester.  You should check the official web page for this course (see the URL given above) on a daily basis so that you will know when the exams are available.

Your best preparation for the exams will be to carefully study the sample programs in the lessons in Baldwin’s Intermediate Java Tutorial. Note that you will also be responsible for understanding the material in Baldwin's Introductory Java Tutorial as well because that material is prerequisite for this course. You can view the tutorials online and download the individual lessons via your browser.  It might also be useful for you to review my companion publication entitled Test Your Java Knowledge.  You will find this material at the same URL where you find Baldwin’s Intermediate Java Tutorial.  In addition, it will be necessary for you to do quite a lot of outside research into Java programming topics not covered in the classroom, and possibly also not covered in the intermediate tutorials.

Note that the lessons in the tutorial may be updated during the semester so you will need to be aware of the revision dates on the lessons and take any updates into account.

All exams are "open-book" exams. You may use any books, notes, diskettes, or other material that you have available. However, you are instructed not to obtain assistance from anyone else in completing an exam.

Schedule: See the published schedule for the beginning and ending dates of the semester.

All students must complete and submit the first exam not later than 9:10 pm, Monday, October 15, 2007.
All students must complete and submit the second exam not later than 9:10 pm, Monday, November 12, 2007.
All students must complete and submit the third exam not later than 9:10 pm, Monday, December 10, 2007.

The word "submit" means received by and physically in the hands of the instructor.  Submit early. Don't procrastinate and let a last minute problem cause you to miss a deadline.

Because you will have the exams available to work on during most of the semester, there will be no grace period and no makeup possibility.  Barring a genuine emergency (such as an extended stay in the hospital) failure to submit an exam by the deadline will result in a maximum allowable score on the exam of zero.

Programming Assignments: Your exams are your programming assignments.

You are free to use whatever Java compiler you choose subject to the conditions described later regarding submittal of exams. ACC will provide JDK 6 (or later) in the CIS laboratory at the Northridge campus. You are welcome and encouraged to make use of that facility.

The final version of the programs that you submit for exams, must include source code and class files compatible with the version of Sun's JDK installed in the NRG laboratory on the due date of the exam. Among other things, this means that you must use Sun's JDK 6 or later.  (Please read the Preface in my lesson entitled Generics in J2SE 5.0 to understand Sun's nomenclature regarding the different versions of Java, although that explanation may be somewhat dated now that JDK 6 has been released.)  More specific instructions are provided in a companion document entitled Instructions for Downloading and Submitting Exams.

Grade Policy:  Your grade will be based both on concepts and practical application.

Grading Scale: Letter grades will be assigned as follows:
90% - 100% A
80% - 89%  B
70% - 79%  C
60% - 69%  D
 0% - 59%  F

Depending on the final scores of all the students taking the course, it is possible that a curve may be applied to the final grades before they are submitted for recording.

Incomplete: Here is the official information that I have received regarding Incomplete grades:

A student may receive a temporary grade of "I" (Incomplete) at the end of the semester only if ALL the following conditions are satisfied:

  1. The student is unable to complete the course during the semester due to circumstances beyond their control.
  2. The student must have earned at least half of the grade points needed for a “C” by the end of the semester.
  3. The request for the grade must be made in person at the instructor’s office and necessary documents completed.
  4. To remove an “I”, the student must complete the course by two weeks before the end of the following semester.  Failure to do so will result in the grade automatically reverting to an “F”.

To give you an idea of the gravity of the situation, I don't recall ever having given a student a temporary grade of "I" during my entire teaching career at ACC.

Freedom of  Expression Policy:  It is expected that faculty and students will respect the views of others when expressed in classroom discussions.

Academic Integrity: A student is expected to complete his or her own projects and tests.  Students are responsible for observing the policy on academic integrity described in the Current ACC Student Handbook.

“Acts prohibited by the college for which discipline may be administered include scholastic dishonesty, including but not limited to cheating on an exam or quiz, plagiarizing, and unauthorized collaboration with another in preparing outside work.  Academic work submitted by students shall be the result of their own thought, research or self-expression.  Academic work is defined as, but not limited to tests, quizzes, whether taken electronically or on paper; projects, either individual or group; classroom presentations, and homework”. 

The penalty accessed for violations will be in accordance with the current ACC Student Handbook policy. See http://www.austincc.edu/  for more information.

Attendance Policy:  The official college policy states that students are expected to attend classes and will be held responsible for all material covered in class. Regular attendance helps ensure satisfactory progress towards completion of the course.

(Students enrolled in Open Campus classes are not expected to attend class.  Prof. Baldwin does not call the roll and does not maintain an official record of attendance.)

Withdrawal Policy:  It is the student's responsibility to complete a Withdrawal Form in the Admissions Office if they wish to withdraw from this class. The instructor may withdraw students from this class if their absences exceed 10% of the total number of class meetings. The last date to withdraw for this semester is provided in the ACC Academic calendar for the semester in which the student is enrolled. It is not the responsibility of the instructor to withdraw the students from their class even though the instructor has the prerogative to do so under the above listed circumstances.

A grade of "W" will be automatically assigned if the student initiates a withdrawal through the Admissions and Records office, in accordance with the requirements of that office.  If the student fails to complete the work and also fails to properly withdraw, a grade of A, B, C, D, or F will be assigned in accordance with the work that was completed.

Students with Disabilities Policy:  “Each ACC campus offers support services for students with documented physical or psychological disabilities. Students with disabilities must request reasonable accommodations through the Office for Students with Disabilities on the campus where they expect to take the majority of their classes. Students are encouraged to make this request three weeks before the start of the semester. (Refer to the Current ACC Student Handbook)”

Testing Center Policy (Open Campus Sections Only):  Visit the ACC web site at http://www.austincc.edu/. Select Search, and then search for the keywords testing center.

Materials, Facilities, and Topics

Primary Teaching Vehicle: Baldwin’s Intermediate Java Tutorial available at http://www.DickBaldwin.com.

You may also need a good Java reference book that is fully compliant with the Sun JDK (preferably JDK 6 or later) software.

Official Textbook: An official textbook is available at the ACC bookstore and elsewhere.  However, Prof. Baldwin will not make assignments directly from this book nor require you to do anything to demonstrate ownership of the book.

Recommended Supplementary Text: Java How To Program, (latest edition), by Deitel and Deitel.  This is a good book and a good candidate for the library of any aspiring Java programmer.

Recommended Supplementary Text:  The Java Tutorials, available for free downloading from http://java.sun.com/docs/books/tutorial/ 

Recommended Supplementary Text: Thinking In Java by Bruce Eckel.  Available for free downloading at http://www.EckelObjects.com/.  A printed version is also available at most bookstores or from http://www.amazon.com.

Recommended Supplementary Text: Java In A Nutshell, (latest edition), by David Flanagan.  This is an outstanding desktop reference on Java programming.  Although I don't have any statistics to prove it, I believe this is the best-selling Java book of all times.  However, it is not a textbook.  It is a reference book and some students may find it a little brief.

Downloading Online Material at ACC Labs: Note that although you will be allowed to download these online materials in the ACC labs, you are specifically prohibited from printing them using ACC facilities.

Software: It should not be necessary for you to purchase any software in order to complete this course successfully.

As a student, you have access to the CIS labs at the various ACC campuses.  You should find Java software available at NRG, CYP, RGC, RVS and PIN and possibly other campuses as well.

Assuming that you have private access to a computer with an operating system that supports the latest version of the Java Virtual Machine, all of the Java software that you will need can be downloaded for free from Sun at http://java.sun.com/javase/downloads/index.jsp 

Lesson 6 in Baldwin's Tutorial also lists various sources of shareware and freeware that can be helpful in learning to program using Java.

Finally, I have listed a large number of free online Java resources at http://www.austincc.edu/baldwin/Fall07/Itse2321WebPage/ITSE2321.htm

Schedule of topics for the course:
Approximate Lecture Hours/Topic
2 Static Initializer Blocks
2 Instance Initializers
2 Member Classes
2 Local Classes
2 Vectors, Hashtables, and Enumerations
2 Callbacks - I
2 Callbacks - II
2 Callbacks - III
2 Delegation Event Model
2 Sharing a Listener Object
2 Low-level and Semantic Events
2 Requesting the Focus
2 Anonymous Classes
2 Using Abbreviated Inner Classes
2 Action Objects
2 The System Event Queue

-end-

File: ITSE2317Syl.htm