|1||Your First Applet||Chap 01|
|2||Objects||Chap 02||Hello World|
|3||Basic Layout||Chap 03|
|4||Action Events||Chap 04||Alphabet Game|
|5||More advanced layouts||Chap 05|
|6||String Manipulation||Chap 06||Fuddifier|
|7||Numbers and Primitives||Chap 07||Math Quiz|
|8||Classes and Constructors||Chap 08|
|9||Method and Variable Modifiers||Chap 09||The rectangle|
|10||Item components||Chap 10|
|11||Scrollbars||Chap 11||Order Form|
|12||Mouse and Key Handling||Chap 12|
|13||Frames and Inner Classes||Chap 13|
|14||Dialogs, menus, and loops||Chap 14||Preferences page|
|17||Animation||Chap 17 (online)|
|18||Case Study: Arcade game||Chap 18 (online)|
|19||Case Study: Database||Chap 19 (online)|
|20||Applications, JDBC, Swing||Chap 20 (online)||Final Project|
This course is targeted towards students who have some comfort level in computing, but not necessarily any programming background. Some experience in HTML and UNIX would be helpful, but not absolutely necessary.
The purpose of this course is to provide the student with an understanding of object oriented problem - solving, especially as it relates to the Java programming language. We will be investigating the problem solving process as it relates to multi-platform computing, and the event-driven approach. We will see how these unique aspects of java require us to change the way we think about algorithm design, program testing, and implimentation.
- Harris, Java 2 Fast and Easy, Prima, 2000
If you are interested in using another book, feel free to do so, but note that we are currently using the 1.3 version of the JDK sometimes called Java2) , so any books which refer only to the 1.2 version will be slightly different. The 1.0 version is quite outdated, so you will probably want to stay away from it.
- Flanagan, Java in a Nutshell, O'Reilley (1999)
- Deitel and Deitel,Java How to Program, Prentice-Hall, (1997)
Students will create a number of small applications illustrating the concepts they have learned. Most of these assignments will be distributed on web pages for ease of grading, although we will also have at least one example of a stand-alone application. Although lab time will be provided, students are encouraged to do much of the work at home if they wish. One of the joys of Java programming is the freedom from any particular browser or editor. However, I will require you to be fluent with a text editor and JDK. Most of the IDEs (like Visual Studio, Cafe, and so on) are prone to adding strange code. You should know how it's done with a plain text editor first. I recommend JEXT and EMACS. Both are included on the CD that accompanies the text.
The Java 1.3 JDK, the online help system for Java, a couple of good text editors and some other stuff are all on the CD that accompanies the textbook.
Final grades will be based upon the following point apportionments (subject to change):
- Mid-term Exam - 20%
- Final Exam - 20%
- Final Project - 20%
- Lab Assignments - 40%
Lab assignments will be worth 10 points apiece and shall be due one week from the day on which they were assigned. All late assignments will be assessed a 20% penalty. It should be noted that if the instructor is unable to view a file (due to a student's misconfiguration) on the due date, that assignment shall be considered late for grading purposes.
A grade of incomplete is not intended to serve as a drop or withdrawal after the time period for submitting a drop has expired. Incompletes will only be permitted under the following conditions:
- The student has satisfactorily completed all course requirements up until the time of the incomplete.
- The student demonstrates that being required to complete the course within the semester's time constraints would cause extreme personal hardship.
- The student and instructor agree to a plan to complete the remaining coursework in a reasonable time period not unduly burdensome upon the student. In no case will the student be permitted to complete coursework any later than the mid-term examination of the semester following that in which the incomplete was issued.
- All paperwork required to issue the incomplete is completed and turned in to the CSCI office staff before final grades are issued.
Please see the academic calendar for details on important dates
Since this is an Internet course, we will utilize Internet technology as our primary communications medium. During one of the earlier sessions, you will be provided an email account and access to a class mailing list. You will need to check your email regularly, because we will post important information, such as assignment or schedule modifications, to the list. In addition, the mailing list is a great forum to engage in general class discussion. The instructors will also maintain materials relevant to this class on their home pages. Check them frequently for examples, hints, great links and other goodies!
Instructor: Andy HarrisOffice: SL 280 D
Office Hours: Daily by appointment Phone: 274-8491
Home Page: http://www.cs.iupui.edu/~aharris