
48 Classes - 4 Hours, 2 Days per Week for 6 Months
Course Description
Hands-on programming course designed for the Java language. Requires no previous programming experience. Covers basics as well as advanced topics of Java programming. Starting from basic syntax, advancing to Object Oriented Programming concepts and structures. A second part of the course covers specialized Java 2 Platform topics: threads, applets, the Java Swing API, JDBC and networking.
| Course Schedule |
| |
| Week One |
| 1. |
Introduction to Java |
|
- |
compiling and running the first Java program |
|
- |
the Java platform architecture |
| 2. |
Introduction to Java |
|
- |
Java and the World Wide Web |
|
- |
The first Java Applet |
| |
|
|
| Week Two |
| 3-4. |
Java Language Basics |
|
- |
variables |
|
- |
data types |
|
- |
scope |
|
- |
variable initialization |
|
- |
final variables |
|
- |
operators |
|
- |
arithmetic |
|
- |
relational |
|
- |
shift and logical |
|
- |
assignment |
|
- |
others |
|
- |
expressions, statements and blocks |
| |
|
|
| Week Three |
| 5. |
Control flow statements |
|
- |
while |
|
- |
do-while |
|
- |
if-else |
|
- |
switch |
|
- |
branching (break, continue, return) |
|
- |
exception handling |
| 6. |
Programming |
|
- |
writing Java programs with the already presented language features |
| |
|
|
| Week Four |
| 5. |
OO Concepts |
|
- |
what is an object? |
|
- |
what is a class? |
|
- |
inheritance |
|
- |
interface |
| |
|
|
| Week Five |
| 9. |
Simple Data Objects |
|
- |
characters and strings |
|
- |
numbers |
|
- |
arrays |
|
- |
life cycle of an object |
| 10. |
Classes and Objects |
|
- |
constructors |
|
- |
member variables |
|
- |
methods |
|
- |
access to methods |
|
- |
classes and C-style structures |
| |
|
|
| Week Six |
| 11. |
Classes and Objects |
|
- |
constructors |
|
- |
member variables |
|
- |
methods |
|
- |
access to methods |
|
- |
classes and C-style structures (continue) |
| 12. |
Inheritance |
|
- |
understanding inheritance |
|
- |
overriding methods |
|
- |
final classes and methods |
|
- |
abstract classes and methods |
|
- |
nested classes |
|
- |
inner classes |
| |
|
|
| Week Seven |
| 13. |
Inheritance |
|
- |
understanding inheritance |
|
- |
overriding methods |
|
- |
final classes and methods |
|
- |
abstract classes and methods |
|
- |
nested classes |
|
- |
inner classes (continue) |
| 14. |
Interfaces and packages |
|
- |
creating and using interfaces |
|
- |
creating and using packages |
| |
|
|
| Week Eight |
| 15. |
Interfaces and packages |
|
- |
creating and using interfaces |
|
- |
creating and using packages (continue) |
| 16. |
Programming |
|
- |
writing Object Oriented programs in Java |
| |
|
|
| Week Nine |
| 17. |
Programming |
|
- |
writing Object Oriented programs in Java (continue) |
| 18. |
Threads |
|
- |
creating threads |
|
- |
synchronization |
|
- |
wait & notify |
|
- |
deadlocks |
|
- |
suspending threads |
|
- |
interrupting threads |
|
- |
the Runnable interface |
| |
|
|
| Week Ten |
| 19. |
Threads |
|
- |
creating threads |
|
- |
synchronization |
|
- |
wait and notify |
|
- |
deadlocks |
|
- |
suspending threads |
|
- |
interrupting threads |
|
- |
the Runnable interface (continue) |
| 20. |
I/O Package |
|
- |
input stream and output stream classes |
|
- |
buffered streams |
|
- |
data streams |
|
- |
the IOException class |
| |
|
|
| Week Eleven |
| 21. |
I/O Package |
|
- |
input stream and output stream classes |
|
- |
buffered streams |
|
- |
data streams |
|
- |
the IOException class (continue) |
| 22. |
Exceptions |
|
- |
comparison to the C-system exception handling |
|
- |
use of class hierarchies for exception handling |
| |
|
|
| Week Twelve |
| 23-24. |
Programming |
|
- |
introduction to the Java AWT Classes |
|
- |
introduction to networking in Java |
|
- |
writing of Java programs |
| |
|
|
| Week Thirteen |
| 25. |
Writing Applets |
|
- |
the first "Hello world!" applet |
|
- |
the init(), start(), stop(), destroy() methods |
|
- |
drawing and event handling |
| 26. |
Writing Applets |
|
- |
adding UI components |
|
- |
applet security problems |
|
- |
the <APPLET> tag |
|
- |
applet parameters |
|
- |
communication with other applets |
| |
|
|
| Week Fourteen |
| 27. |
Introduction to the Java Swing API |
|
- |
the evolution of the Java GUI platform |
|
- |
anatomy of a swing based program |
|
- |
swing components |
|
- |
the containment hierarchy |
|
- |
layout management and borders |
|
- |
models |
|
- |
look and feel |
|
- |
event handling |
| 28. |
Other Swing features |
|
- |
using actions |
|
- |
using borders |
|
- |
using icons |
|
- |
using threads |
|
- |
using timers |
| |
|
|
| Week Fifteen |
| 29. |
Using Swing Components |
|
- |
the JComponents class |
|
- |
the top-level containers |
|
- |
frames |
|
- |
dialogs |
|
- |
applets |
|
- |
atomic components |
|
- |
buttons |
|
- |
checkboxes |
|
- |
radio buttons |
| 30. |
Using Swing components |
|
- |
atomic components |
|
- |
color choosers |
|
- |
combo boxes |
|
- |
file choosers |
|
- |
labels |
|
- |
lists |
| |
|
|
| Week Sixteen |
| 31. |
Using Swing Components |
|
- |
atomic components |
|
- |
menus |
|
- |
sliders |
|
- |
tables |
|
- |
text components |
|
- |
text fields |
|
- |
editor panes |
|
- |
text panes |
|
- |
using tool tips |
|
- |
using trees |
| 32. |
Using Swing components |
|
- |
intermediate Swing containers |
|
- |
panels |
|
- |
scroll panes |
|
- |
tabbed panes |
|
- |
tool bars |
|
- |
internal frames |
|
- |
layered panes |
|
- |
root panes |
| |
|
|
| Week Seventeen |
| 33. |
Layout management |
|
- |
general rules of using layout managers |
|
- |
border layout |
|
- |
card layout |
|
- |
flow layout |
|
- |
grid layout |
| 34. |
Layout management |
|
- |
box layout |
|
- |
spring layout |
|
- |
grid bag layout |
|
- |
creating a custom layout manager |
|
- |
working without a layout manager (absolute positioning) |
| |
|
|
| Week Eighteen |
| 35. |
Event Handling |
|
- |
simple event-handling examples |
|
- |
introduction to event listener writing |
|
- |
implementing listeners for commonly handled events |
|
- |
action listener |
|
- |
caret listener |
|
- |
component listener |
|
- |
container listener |
|
- |
document listener |
|
- |
focus listener |
|
- |
internal frame listener |
| 36. |
Event Handling |
|
- |
implementing listeners for common events |
|
- |
item listener |
|
- |
key listener |
|
- |
list data listener |
|
- |
list selection listener |
|
- |
mouse listener |
|
- |
mouse-motion listener |
|
- |
table model listener |
| |
|
|
| Week Nineteen |
| 37. |
Event Handling |
|
- |
implementing listeners for common events |
|
- |
tree expansion listener |
|
- |
tree model listener |
|
- |
tree selection listener |
|
- |
tree-will-expand listener |
|
- |
undoable edit listener |
|
- |
window listener |
| 38. |
Programming |
|
- |
writing Java swing GUI programs |
| |
|
|
| Week Twenty |
| 39. |
Programming |
|
- |
writing Java swing GUI programs (continue) |
| 40. |
Working with Graphics |
|
- |
how painting works |
|
- |
the coordinate system |
|
- |
the graphics object |
|
- |
the swing painting methods |
| |
|
|
| Week Twenty One |
| 41. |
Using Graphics primitives |
|
- |
painting shapes |
|
- |
working with Text |
|
- |
the FontMetrics class |
| 42. |
Using Images |
|
- |
loading images |
|
- |
tracking image loading |
|
- |
the MediaTracker class and Image Observer interface |
|
- |
the MemoryImageSource class |
|
- |
displaying images |
| |
|
|
| Week Twenty Two |
| 43. |
Performing animation |
|
- |
creating an animation loop with timer |
|
- |
moving an image across the screen |
|
- |
displaying a sequence of images |
|
- |
improving the appearance and performance of image animation |
| 44. |
Introduction to JDBC |
|
- |
connecting to the database |
|
- |
creating tables |
|
- |
executing SQL statements |
|
- |
retrieving data |
| |
|
|
| Week Twenty Three |
| 45. |
JDBC |
|
- |
using prepared statements |
|
- |
using joins |
|
- |
using transactions |
|
- |
retrieving exceptions |
|
- |
retrieving warnings |
| 46. |
JDBC - new features in Java 2 Platform |
|
- |
updatable result sets |
|
- |
batch updates |
|
- |
scrollable result sets |
| |
|
|
| Week Twenty Four |
| 47. |
Networking in Java |
|
- |
sockets and streams |
|
- |
URLs, URLConnections |
|
- |
ContentHandlers |
| 48. |
Programming |
|
- |
writing of client-server programs by use of java.net.* package |
| |
|
|

|