Instructor:
Dr. John R. Sullins
Office hours: MTWTh 9:15 -10:00, or by appointment
Office: 333 Meshel Hall
Phone: 742-1806
Email: john@cis.ysu.edu
Web site: http://cis.ysu.edu/~john/
Check the web site regularly, as assignments and announcements will be posted here.
Class Time and Location:
Monday – Thursday, 10:00 – 11:35.
Meshel Hall, room 222
Objectives:
This course is meant to build on the Java programming that you learned in CSIS 3701, introducing Java programming capabilities particularly related to developing and maintaining e-commerce web sites, including multithreaded applications, networking (sockets, applets, and RMI), database manipulation, internationalization, and security, as well as other advanced tools for developing Java applications.
Prerequisite:
CSIS 3701: Advanced
Object-Oriented Programming. It is assumed that you are very familiar with
Java syntax and visual classes, as well as concepts related to object-oriented
programming (classes, encapsulation, static properties, inheritance,
polymorphism, exception handling, interfaces, and event handling), and that you
can design and implement reasonably large programs involving those concepts.
Textbook:
Core Java 2: Volume II –
Advanced Features, Horstmann and Cornell, Prentice Hall.
Material will also be taken from Volume I, which was the textbook for CSIS
3701.
Grading:
|
Programming assignments |
60% |
(6 or 7 weekly assignments) |
|
Midterm Exam |
20% |
Tues., June 18 |
|
Final Exam |
20% |
Thurs., July 11 |
Last day to withdraw with a "W": Friday, June 21
Programming Assignments:
The weekly programming assignments will cover advanced Java programming concepts, usually introduced the week before. These will probably be somewhat complex programs, and may be built on ones developed earlier in the term.
The Java 1.3 SDK (software development kit) is available on the PCs in rooms 301, 302, and 303. You are also strongly encouraged to install a copy on your own PC from the textbook CD-ROM, as well as the Forte environment for creating Java programs (instructions are linked to the course web page). However, some of the assignments may require you to complete them in our labs, due to some setup I may need to do.
As with any other programming course, work on these assignments must be your own. See the policy sheet for more details.
Very Tentative Course Outline:
|
WEEK |
TOPICS |
|
5/20 |
Review, Files, Multithreaded applications |
|
5/27 |
Synchronized threads, Socket-based networking (Holiday Monday) |
|
6/3 |
URLs, applets, servlets, and JavaScript |
|
6/10 |
JDBC database access and manipulation |
|
6/17 |
Security, Packages and JAR files (Midterm Tuesday) |
|
6/24 |
Advanced graphics, visual components, and image manipulation |
|
7/1 |
JavaBeans, Internationalization (Holiday Thursday) |
|
7/7 |
Remote methods (RMI) (Final Exam Thursday) |