The main book
Y.D. Liang., "Introduction to Java Programming", Prentice Hall, 7th Ed., 2009.
Slides for the book
(The slides are available from the campus computers)
- Chapter 1: Intoduction to Computers, Programs, and Java
- Chapter 2: Elementary Programming
- Chapter 3: Selections
- Chapter 4: Loops
- Chapter 5: Methods
- Chapter 6: Arrays
- Chapter 7: Classes and Objects
- Chapter 8: Strings
- Chapter 9: Thinking in Objects
- Chapter 10: Inheritance and Polymorphism
- Chapter 11:Abstract Classes and Interfaces
- Chapter 12: OOD and Patterns
- Chapter 13: GUI Basics
- Chapter 14: Graphics
- Chapter 15: Event-Driven Programming
- Chapter 16: Creating User Interface
- Chapter 17: Applets and Multimedia
- Chapter 18: Exception Handling
- Chapter 19: Binary I/O
- Chapter 21: Generics
- Chapter 22: Java Collections Framework
- Chapter 30: Networking
- Chapter 33: Containers, Layout Managers, and Borders
- Chapter 34: Menus, Toolbars, and Dialogs
- Chapter 35: MVC and Swing MVC
- Chapter 37: Java Database Programming
Lecture Notes
The Lecture Notes are based on the slides (see above) for the book:
Y.D. Liang, Introduction to Java Programming, Prentice Hall, 7th Ed., 2009.
(The slides are available from the campus computers only)
- Lecture 1a:Primitive Data Types and Operations,
(Handouts)
- Lecture 1b: Methods,
(Handouts)
- Lecture 2: Arrays, (Handouts).
- Lecture 3: Classes and Objects, (Handouts).
- Lecture 4: Strings,
(Handouts)
- Lecture 5: Inheritance and Polymorphism,
(Handouts)
- Lecture 6a: Packages,
(Handouts) -- Updated 24.09.2009
- Lecture 6b: Javadoc,
(Handouts)
- Lecture 7a: Classes and Objects, Internal and Wrapper Classes,
(Handouts) -- Updated 24.09.2009
- Lecture 7b:Exceptions,
(Handouts)
- Guest Lecture 8:Jeliot for Java: A program visualization tool, Andres Morena.
- Lecture 8: Input/Output,
(Handouts)
- Lecture 9: Interfaces
(Handouts) -- Updated 07.10.2009.
- Lecture 10: Getting Started with Graphics,
(Handouts) -- Updated 14.10.2009: Shapes drawing is added!
- Lecture 11: Handling Action Events,
(handouts).
- Lecture 12: User Interface,
(handouts).
- Lecture 13: Mouse and Keyboard Events,
(Handouts),
- Lecture 14: Java Collections Framework,
(Handouts). -- Updated 16.10.2009!
- Lecture 15: Applets, URL, Images.,
(Handouts).
- Lecture 16: OOP Development,
(Handouts).
Additional Literature:
- Eugene Ageenko.
Object Oriented Programming with Java.
University of Joensuu. 2003: free download
- P.Heller, S.Roberts, Complete Java 2 Certifcation Study Guide, 3rd Ed., Sybex, 2002.
- K.A. Mughal, R.W. Rasmussen, A Programmer's Guide to Java Certification. Addison-Wesley, 2nd Ed, 2003.
- Timothy Budd. An Introduction to Object-Oriented Programming,
2nd ed. 1997 (3rd ed. 2001) Addison Wesley.
- Timothy Budd.
Understanding Object-Oriented Programming with Java, updated ed.
- Clark S. Lindsey, Johnny S. Tolliver, and Thomas Lindblad.
JavaTech:
Introduction to Scientific and Technical Computing with Java.
- Xiaoping Jia. Object-Oriented
Software Development using JavaTM, Principles, Practice, and
Frameworks, 2nd ed. Addison Wesley. 2003
Java Reading (on Internet):
-
[Java Language Specification 3.0
-
[
http://www.cs.utexas.edu/~lavender/courses/tutorial/index.html]
- Object-Oriented Programming
[
http://www.cs.utexas.edu/~lavender/courses/cs371/lectures/index.html]
- Interactive Programming in Java
[http://www.cs101.org/ipij/2
- Introduction to Java Programming
[
http://cs.armstrong.edu/liang/intro5e/intro5estudentsolution.html]
Java with Sun
- JavaTM 2 Platform Standard Edition 5.0 API Specification
- J.Gosling, B.Joy, G.Steele, G. Bracha,
The Java Language Specification, 3rd edition:
-
Java Tutorial: A practical guide for programmers
[http://java.sun.com/docs/books/tutorial/index.html]
- Getting started (inc. "Your First Cup of Java") - teaches to write,
compile and run first program and applet in Java
[http://java.sun.com/docs/books/tutorial/getStarted/index.html]
-
Learning the Java Language
- Java language basics (variables, types, control structures)
- object oriented programming concepts
- object basics (classes, inheritance, interfaces, ...) in Java
-
Writing applets
[http://java.sun.com/docs/books/tutorial/applet/index.html]
-
User Interfaces that Swing: A Quick Start Guide - a good introduction to SWING,
[http://java.sun.com/docs/books/tutorial/uiswing/mini/index.html]
-
Creating a User Interface (AWT only): (available only for download)
[http://java.sun.com/docs/books/tutorial/information/download.html]
-
Creating a GUI with JFC/Swing - a separate SWING Tutorial
[http://java.sun.com/docs/books/tutorial/uiswing/index.html]
-
Essential Java Classes - exceptions, threads, I/O, ...
[http://java.sun.com/docs/books/tutorial/essential/index.html]
-
jGURU courses
[http://developer.java.sun.com/developer/onlineTraining/index.html]
-
Essentials of the JavaTM Programming Language: A Hands-On Guide -
covers basics of various important programming aspects with Java: Swing GUI,
Servlets, databases, RMI, sockets, serialization, internationalization, ...
UML Resources:
UML Resource Center and
Visual Paradigm Tutorials
UML Class
Diagram with ARGO UML Tutorial