The official web page for this course is ITSE2321.htm
Instructor: Richard G. BaldwinExam 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 8:00
am, Saturday, July 11, 2009 (extended from 8:00 am,
Monday, June 29, 2009).
All students must complete and submit the second exam not later than 8:00 am,
Monday July 20, 2009.
All students must complete and submit the third exam not later than 8:00 am,
Thursday, July 30, 2009.
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.
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. Also see the Expanded Course Description.
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.
Schedule of topics for the course:
As mentioned in the Expanded
Course Description, classroom lectures will be based primarily on material
from the Ericson textbook using my edited
version of the following PowerPoint presentations provided by Ericson and keyed
to the textbook. I will also present additional material that I have
developed that relates to the topics included in the following list:
mod00-IntroToMediaComp
mod01-IntroductionToProgramming (very brief)
mod02-IntroToJavaAndDrJava
mod03-TeachingJavaUsingTurtles
mod04-DeclaringVariables
mod05-IntroToMediaComp, color, vision, etc.
mod06-ManipulatingPictures,Arrays,andLoops
mod07-TwoDimensionalArraysAndNestedLoops
mod08-Conditionals
mod09-DrawingInJava
mod10-Introduction to Processing Digital (only if time permits)
In addition to the topics listed above, students will be expected to study and understand the following topics, which are based primarily on Lessons 1600 through 1630 at http://www.dickbaldwin.com/tocint.htm.
Objects, and Encapsulation
Classes
Inheritance
Polymorphism Based on Overloaded Methods
Polymorphism, Type Conversion, Casting, Etc.
Runtime Polymorphism through Inheritance
Polymorphism and the Object Class
Polymorphism and Interfaces
Static Members
Array Objects
The this and super Keywords
Exception Handling
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, techniques, and applications using the Java programming language.
Who Should Enroll in this Course: Please review the companion document entitled Who Should Enroll.
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 above. 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 in addition to the material in the textbook. 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.
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.)
In addition, some of the programs that you submit for exams must also be compatible with Ericson's media library. Although there is a copy of the media library on the CD in the back of the textbook, it is lacking some features and has a few known bugs.
You'll need to download the Java 1.5+ version: bookClasses10-1-07.zip. This version has some new features as seen at New Features in 8-14-07 or later bookClasses. For more information, see http://coweb.cc.gatech.edu/mediaComp-plan/101.
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: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.
Official Textbook: Introduction to Computing and Programming with Java: A Multimedia Approach. This is the textbook from which I will draw most of the material for the in-class lectures.
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 and cryptic.
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
ITSE2321.htm#OnlineResources