Object Oriented Programming with Java

advertisement
Object Oriented Programming with Java
(CISC 370 Summer 2005)
http://www.cis.udel.edu/~trnka/CISC370-05J
Instructor
Keith Trnka (trnka@udel.edu)
Office hours: Monday and Wednesday 3:30-4:30 at 124 E. Delaware Av.
(see course website or email me for directions)
Teaching Assistant
Michael Smith (mismith@cis.udel.edu)
Office hours: Tuesday 2:30-4:30 in Pearson Hall 115B
Course description
By the end of this course, students should be able to implement data structures and
algorithms discussed in previous courses using Java, develop Graphical User Interfaces,
and leverage the rich Application Programming Interface (API) of Java to simplify
software development. Roughly half of the course is devoted to the first two objectives
above, fundamentals of Java. The second half of the course is designed to introduce
students to the more advanced built-in features of the Java API, such as XML
functionality and the Networking API. The specific API packages covered will be tailored
to student interests.
Grading
Homework questions (up to 10 total) – 15%
Homework questions will generally be assigned on Thursday and due on Tuesday.
They will consist of a single question, to be answered in a typed or neatly written
paragraph of no more than 5 sentences in length.
Homework questions will not be accepted late. If you are unable to attend class, you
may submit the homework answer to trnka@udel.edu.
Programming assignments (7 total) – 35%
There will be seven programming assignments in total and they will normally be due
on Thursdays. These are designed for the student to gain experience with the concepts
used in class.
Programming assignments will be accepted late until the Friday of the week in which
it was due, with a penalty of 10% per day.
Programming projects (2 total) – 35%
The two programming projects are intended for the student to study aspects of Java in
depth. The first programming project will be assigned on June 21st and due on July
14th. Each student will have the same task for this project. The second project will be
of the student's choosing, due August 11th. For this project, the student will choose to
either implement some project or study some Java technology not covered in class. For
example, a study of distributed programming with RMI or a graphical application for
data management would suffice.
The first programming project will be accepted up to one week late with a penalty of
25%. The second programming project will not be accepted late.
Final exam – 15%
The final exam will test your knowledge of the important points of Java. Most
questions will test your understanding of Java rather than your memory of function and
class names.
Grading scale
Number
100- 9292
90
9088
8882
8280
8078
7872
7270
7068
6862
6260
<60
Letter
A
B+
B
B-
C+
C
C-
D+
D
D-
F
A-
Textbooks
•
•
•
Core Java 2: Volume I – Fundamentals
Cay S. Horstmann and Gary Cornell; Prentice-Hall 2005. ISBN 0-13-148202-5
Core Java 2: Volume II – Advanced Features
Cay S. Horstmann and Gary Cornell; Prentice-Hall 2005. ISBN 0-13-111826-9
Java How to Program (optional)
Deitel & Deitel, Prentice Hall 2005. ISBN 0-13-148398-6
Development Environment
The student is expected to be able to code using a text editor on strauss.udel.edu. The
project number for this course is 2142.
Academic Honesty
I assume that you will do all of your own work and none of anyone else's. However, if I
encounter cheating, I will bring the incident to the Office of Judicial Affairs. For a formal
account of academic honesty, refer to the university's policy at
http://www.udel.edu/stuguide/04-05/code.html#honesty
Course Contents
•
•
Java basics
• Java compiler, JVM, development environments
• Syntax, primitive types, control flow, naming conventions
• Essential classes (String, System, Math)
Object-oriented programming in Java
• Basic OOP syntax, object-oriented design
• Cloning
• Inheritance
Interfaces
• Polymorphism
• Advanced classes: inner classes and anonymous classes
Development simplification
• Packages
• Exceptions
• Javadoc
Java Input/Output
• Streams
• Compression
• Serialization
Java Collections framework
Graphics programming
• Intro: Applets
• Abstract Windowing Toolkit (AWT)
• The Swing toolkit
Advanced API topics
• Definite
• Regular expressions
• Multithreaded programming
• XML programming
• Network programming
• Servlets, JSP
• If we have time
• Image IO (dealing with JPEG, GIF, etc)
• Internationalization
• Java Database Connectivity (JDBC)
• Java Micro Edition
• Java Native Interfacing (JNI)
• JavaBeans
• JavaMail (Email API)
• Printing
• Reflection API
• Remote Method Invocation (RMI) (distributed programming)
•
•
•
•
•
•
Download