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

ITSE2321 Object-Oriented Programming

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

Syllabus and Study Guide

Fall 2007

Revised 08/20/07

The official web page for this course is http://www.austincc.edu/baldwin/Fall07/Itse2321WebPage/ITSE2321.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 object-oriented programming. Emphasis on the fundamentals of structured design with classes, including development, testing, implementation, and documentation. Includes object-oriented programming techniques, classes, and objects  The Java programming language is used as the teaching vehicle for this course.

Prerequisite: COSC1315 Fundamentals of Programming (CIS1033), or departmental approval. This is not a beginning programming course and fundamental programming concepts will not be covered. If you don't already understand fundamental programming concepts including sequence, selection, and loop using a modern structured programming language, 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 Object-Oriented programming concepts and techniques using the Java programming language.

Course Objectives/ Learning Outcomes:   To learn Object-Oriented programming concepts and techniques using the Java programming language. To learn to write, test, and debug introductory level Object-Oriented programs using Java.  In addition, the student will be introduced to 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.

1

C5 Acquires and evaluates information.

1

C6 Organizes and maintains information.

1

C7 Interprets and communicates information.

1

C8 Uses computers to process information.

2

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

1

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

1

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

1

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.

1

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

1

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

1

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

1

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

1

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

1


Who Should Enroll in this Course: Please review the companion document 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 Introductory Java Tutorials. You can view the tutorials on line 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.  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 introductory 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 4:30 pm, Wednesday, October 17, 2007.
All students must complete and submit the second exam not later than 4:30 pm, Wednesday, November 14, 2007.
All students must complete and submit the third exam not later than 4:30 pm, Wednesday, December 12, 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 Introductory Java Tutorials available at http://www.DickBaldwin.com.

You may also need a good Java reference book that is fully compliant with the Sun software currently in use in the NRG laboratories.

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 beginners 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:
The following topics are based primarily on Lessons 1600 through 1630 at http://www.dickbaldwin.com/tocint.htm.

Approximate lecture hours/Topic
2 Objects, and Encapsulation
2 Classes
2 Inheritance, Part 1
2 Inheritance, Part 2
2 Polymorphism Based on Overloaded Methods
2 Polymorphism, Type Conversion, Casting, Etc.
2 Runtime Polymorphism through Inheritance
2 Polymorphism and the Object Class
2 Polymorphism and Interfaces, Part 1
2 Polymorphism and Interfaces, Part 2
2 Static Members
2 Array Objects, Part 1
2 Array Objects, Part 2
2 Array Objects, Part 3
2 The this and super Keywords
2 Exception Handling

-end-

File: ITSE2321Syl.htm