Lesson Catalog

This file is generated from content/meta/lesson-catalog.xml. Below are the currently defined lessons for the following categories:

Category CowCatcher internal and External Presentations

cow/holycow-over Content Development Environment Overview tbd
cow/holycow-lesson Lesson XML tbd

Category Core JDK Technologies

core/whatis What is Java ? History, Properties, Java Virtual Machine, Garbage Collection, Code Security
core/javacpp Java vs C++ Similarities and Differences between Java and C++
core/getinfo Getting Informed Books, Magazines, E-Zines, FAQs, Links, Sites
core/ootoop OOD and OOP Principles Basics of object-orientation, classes, objects, inheritance, containment, delegation
core/jdkenv JDK Environment Versions, Installation, JDK package overview
core/jumpstart Java Jumpstart Hello World, Defining a Class, The main() Method, command line arguments, Using the System and PrintStream Classes, Standard Input and Output Streams, Introduction to Graphical User Interfaces (GUI), Applet intro, comments
core/vars Variables basic types, class types, initialization, lifetime
core/opsexpr Operators and Expressions operators, expressions, casting
core/flowctrl Flow of Control branching, looping
core/pkgmod Packages and modifiers Packages, files, modifiers
core/castcnvrt Casting and converting cast, convert, promote
core/array Arrays declaration, creation, initialization, multi-dimensional arrays, array bounds, copying, arrays vs String, anonymous arrays
core/classobj Classes and Objects Declaration, Construction, Initialization, Finalization, Method overloading, Inheritance, Instance Members, Class Members, Access control, Method overriding, Casting, Packages Base classes in java.lang and java.util
core/innerclass Inner Classes Nested top-level classes, Member classes, Local classes, Anonymous classes
core/interface Interfaces Interfaces as types, multiple interface inheritance, interface attributes
core/string String and StringBuffer Using strings in Java with the String and StringBuffer classes.
core/exception Exceptions statements (throws, try, catch, finally), hierarchy, polymorphism, propagation
core/thread Threads Multithreading fundamentals, thread lifecycle, synchronization (synchronized keyword) , thread interaction (wait()/notify())
core/iobasic Input/Output java.io stream fundamentals, basic stream classes, readers and writers, files, random access files, serialization, Stream Tokenizer
core/ioser Object Serialization Object streams, Reading and writing objects, Serialized format, Class versioning issues, Externalization
core/jni Java Native Interface (JNI) What is JNI,, When to use JNI, when not to use JNI Calling C/C++ from Java, Type conversions, Memory management, Calling Java from C/CPP (callbacks, starting a JVM from within a C program)
core/reflect Reflection Obtaining class information, Obtaining class member information, Invoking a named method, Using Reflection with Object Serialization and Retrieved Objects
core/applet Applets Key methods, Lifecycle, HTML tags, Appletviewer, Parameter passing, security.
core/internat Internationalization tbd
core/container11 Container classes in JDK1.1 Vectors, Hashtables, Enumerations, Stack, Properties
core/container12 Collection classes in JDK2 Collection framework, interfaces, implementations, algorithms, general-purpose collection implementations
core/math The java.lang.Math class Trigonometry, Randomness, Decimal Chopping, Logarithmics
core/system Accessing System Resources Using the System class, standard I/O streams, accessing System Properties, the Runtime object
core/property Property files Properties class in the java.util package.
core/netover Network - Overview structure, protocols, sockets, classes, InetAddress
core/nettcp TCP/IP Sockets Creating a client Socket, Creating a client Server Socket
core/netudp Datagram Sockets Datagram Clients, Datagram Servers
core/netmcast Multicast Sockets Multicast sockets
core/nethttp Hypertext Transfer Protocol (HTTP) principles, building a webserver in 21 minutes, cookies, sessions
core/neturl Accessing URLs URL Class, URLConnection, URLEncoder
core/jar Working with JAR files Using JAR Files, signing and Authenticating JAR Files, JAR-related APIs Introduced in Java2
core/rmi Remote Method Invokation (RMI) RMI architecture, RMI development cycle, RMI registry, RMI callbacks
core/corba Common Object Request Broker Architecture (CORBA) Concepts,Object Management Group (OMG), Interface Definition Language (IDL), IIOP, Client implementation, Server implementation
core/persist Overview of Persistency Techniques with Java Overview of techniques to manage persistent data with Java
core/jdbc Java DataBase Connectivity (JDBC) Accessing relational databases from within Java

Category Cases

cases/library1 CASE - Library Basic Build a simple library system using the knowledge from the basic Java modules.
core/caseorder CASE - Product Ordering System Build a product ordering system using the knowledge from the advanced/enterprise Java modules..

Category Java AWT

awt/over AWT - Overview java.awt structure, Containers and Components, Event model, Components, Drawing, Printing, AWT and Swing
awt/events AWT - Event Handling Delegation Event Model, Sharing a Listener Object Among Visual Components, Low-level and Semantic Events
awt/evtext AWT - Event Handling Extended Requesting the Focus, Building a Custom Focus-Traversal Method, Scrollbar (Adjustment) Event Handling, Mouse Motion Events, Text Events, Using Abbreviated Inner Classes, Container Events and More on Inner Classes, Program-Generated Events and the AWTEventMulticaster Class, Component Events, Item Events, Creating, Trapping, and Processing Custom Event Types, Paint Events, Handling Events in Extended Components without Listener Objects, Posting Synthetic Events to the System Event Queue, Component Impersonation
awt/comp AWT - Components Overview, Container, Panel, Canvas, Window, Frame, Button, Checkbox, Choice, List, TextField, TextArea, Label, Dialog, Scrollbar, Ordinary Menus, Checkbox Menus, Popup Menus
awt/layouts AWT - Layouts Placing Components in Containers, Absolute Coordinates, BorderLayout, FlowLayout, GridLayout, CardLayout, GridBagLayout
awt/labs AWT - Labs This lesson provides the labs for the lessons: Overview, Events, Components, Layouts, Graphics
awt/layoutadv Advanced AWT Layout managers Making your own layout manager
awt/lwcomp AWT - Lightweight Components Introduction, A Lightweight 3D Button Class, Inner class Source/Listeners
awt/graph AWT Graphics Getting Started, Graphics and Colors, Utility Methods, Shapes, Fonts, Images
awt/graphadv Advanced AWT Graphics Animation and Double Buffering, Advanced Image Processing
awt/toolkit AWT - Toolkit Class, Peers, and Lightweight Components tbd
awt/print Printing with the AWT Using the printer through the AWT

Category Java Swing

swing/intro Introduction to Swing This lesson is a quick start guide to using Swing components to build user interfaces.
swing/over Swing - Overview What is Swing?, Swing features, Swing packages and classes, The Model-View-Controller architecture, My first Swing application
swing/first My first Swing Application Creating a Swing application
swing/comp Swing - Component Basics Actions, Events, JComponent class, Delegation Event Model, New Event Types in Swing
swing/label Swing - Labels and Icons JLabel Class, Icon Interface, ImageIcon Class
swing/button Swing - Buttons Basics (ButtonModel , AbstractButton, JButton) Toggle, Radio an Checkboxes buttons Radio, Toggle, CheckBox buttons ButtonGroup, Hidden Buttons with Icons, Icon Images, Borders, Tool Tips, Nested Buttons
swing/brcomp Swing - Bounded Range Components Bounded-Range Model, JScrollBar class, JSlider class, JProgressBar class
swing/list Swing - Lists and Combo Boxes List basics (list data, selection, display) JList class Combo Box basics (list data, selection, display), Custom Rendering of JList Cells, Custom List Selection Model for JList Objects
swing/cont Swing - Swing Containers Jpanel, JRootPane, The JLayeredPane classes, JFrame, JWindow, JApplet
swing/dial Swing - Dialogs JDialog, JOptionPane
swing/pane Swing - Specialty Panes and Layout Managers JsplitPane, JscrollPane, JTabbedPane Layout Managers (BoxLayout, OverlayLayout)
swing/chooser Swing - Chooser Dialogs JFileChooser, JColorChooser
swing/menu Swing - Menus and Toolbars Basics, JMenuBar class, JMenuItem class, JPopupMenu class, JMenu class, Selectable Menu Items, JToolBar Class
swing/table Swing - Tables Table Columns, Table Data, JTable Class, Editing and Rendering, Selecting Table Entries
swing/tree Swing - Trees Creating and Using Trees, Tree Models, Tree Nodes and Paths, JTree class, Tree Selections, Tree Events, Rendering and Editing
swing/text Swing - Text Basics, JTextComponent class, JTextField class JTextArea class, JTextPane Class
swing/plaf Swing - Pluggable Look and Feel Basics, Key Look and Feel classes and interfaces, The MultiLookAndFeel, Look and Feel Customization
swing/util Swing - Utilities General Utilities, Editing and Rendering Utilities, Event Utilities, Image Utilities
swing/under Swing - Under the Hood Creating Your Own Component, Working with Focus, Lightweight vs. Heavyweight Components, Multithreading Issues with Swing, Painting and Repainting

Category JavaBeans

beans/over JavaBeans - Introduction Component Based Development, JavaBeans Concepts, Issues and conventions in Bean design
beans/sample My First JavaBean Creating a JavaBean, using the Beanbox
beans/props JavaBeans - Properties of Beans, Simple and Indexed Properties, Bound Properties, Constrained Properties, Vetoable property changes,
beans/event JavaBeans - Events Events and the JDK1.1 Event model, Event Listeners, Event Adapters
beans/persist JavaBeans - Persistent Storage Serialization, Versioning, Object validation
beans/reflect JavaBeans - Reflection and Introspection BeanInfo and SimpleBeanInfo, BeanDescriptor, PropertyDescriptor, MethodDescriptor, ParameterDescriptor
beans/cust JavaBeans - Property Editors and Customizers Customizer, PropertyEditorManager, PropertyEditorSupport
beans/deploy JavaBeans - Deployment JAR files, the Manifest file, Fetching resources from a JAR file
beans/ide JavaBeans - Integrated Development Environments (IDEs) Bean Development Kit (JavaSoft), Visual Cafe (Symantec), JBuilder (Inprise), VisualAge (IBM)

Category Java Programming Idioms

idioms/attr Program Attributes and System Resources tbd
idioms/contain Programming Idioms - Containers Linked-Lists, Stacks, Queues, Ordered Linked-Lists
idioms/callback Callbacks principles, samples, synchronization issues, java.util.Observer/Observable
idioms/mvc MVC with Observer/Observable tbd
idioms/thread Multi-threading idioms advanced synchronization, producer-consumer
idioms/debug Debugging and Tracing Assertions, Debug statements, Stack tracing, Logging
idioms/coding Programming - Coding standards Layout, Comments, Javadoc comments

Category Distributed Object Technology

do/distcomp Distributed Computing Overview History, Distributed application architectures, Features of a distributed environment, Distributed Object Computing
do/dojava Distributed Objects in Java Ddistributed computing, Distributed object technologies in Java
do/distcompthr Multi-threading Multi-threading facilities in Java, Multithreading for distributed computing
do/msgpass Message-Passing Systems Why/when to use, Synchronous vs asynchronous, Fixed protocols, Adaptable protocols
do/collsys Collaborative Systems What is a Collaborative System ?, Issues with Collaboration, Architectures
do/disttech Overview of Java distribution technologies Enterprise JavaBeans, Jini, JavaSpaces, SoftWired iBus, ObjectSpace Voyager
do/odbms Object Databases (ODBMS) in Java Advantages/disadvantages of ODBMS, example with ObjectStore PSE

Category Java2 Enterprise Edition (J2EE) Platform

j2ee/j2ee-over J2EE Overview What is the Java2 Enterprise Edition Platform, Multi-tier architectures, J2EE Architecture, J2EE Application Model, Java Technology Standards for the J2EE Platform
j2ee/servlet Servlets Servlet architecture, Sun Java WebServer, Extracting CGI parameters, When to use Servlets
j2ee/jsp JavaServer Pages (JSP) Server-side scripting, JSP tags, JSP programming environment, Application design with JSP and Servlets
j2ee/ejbwhy Evolution to Enterprise JavaBeans (EJB) The need for Enterprise JavaBeans, 2-Tier Client Server, problems with 2-Tier C/S, Remote Procedure Call, Object Request Brokers (ORB), CORBA vs DCOM, taking the best of current distributed object techologies.
j2ee/ejbover EJB Overview EJB Architecture, EJB Servers, EJB Containers, EJB specification
j2ee/ejbtypes EJB - Session and Entity Beans Characteristics of Session and Entity Beans. Stateful/stateless Session Beans. Container managed and bean managed persistence for Entity Beans. How/when to apply the Session and/or Entity Beans.
j2ee/ejbsupport EJB - Supporting J2EE Technologies JNDI, JTS
j2ee/ejblabs EJB - Labs Labs for the EJB lessons

Category Java Development Environment

jde/ant The Ant Build Tool History (managing builds, make), Your first Ant build, Dependent Tasks, Properties, Deployment tasks, User-defined tasks
jde/junit The JUnit Test Tool JUnit Principles, Writing and organizing tests, using TestCases, Fixtures, Suites and TestRunner

Category Design with Java

design/umlover Design - UML Overview Use case diagram, Class diagram, Interfaces, Sequence diagram, Collaboration diagram, State diagram
design/swlifecycle Design - Software Life Cycle Activities, Example
design/composition Design - Composition vs Inheritance What is composition ?, What is inheritance ?, When to use what, Combining compostion and inheritance
design/interface Design - Design with Interfaces Fundamentals, Why, Factoring out interfaces, Design-in interfaces, Applying multiple strategies
design/threads Design - Design with Threads Fundamentals, Multiple clients, multiple threads within an object, Multiple thread objects, multiple threads within an object, Interface adapters
design/notify Design - Design with Notification Passive notification, Timer-based notification, Active notification
design/patover Patterns - Overview Why design patterns ?, Origins, The pattern form, Classifications, Design patterns in the JDK, Resources
design/patfund Patterns - Fundamental Patterns Delegation, Interface
design/patcreational Patterns - Creational Patterns Singleton, Factory Method, Abstract Factory
design/patstructural Patterns - Structural Patterns Composite, Decorator
design/patbehavioral Patterns - Behavioral Patterns Template Method, Observer, Iterator, Visitor, Command, Bridge, Strategy
design/patconcurreny Patterns - Concurrency Patterns Guarded Suspension, Producer-Consumer

Category Web Technologies

web/webintro Web Introduction Standards, Servers, Browsers
web/htmlover HTML Overview Overview, Structural Tags, Formatting Text, Images and Other Page Elements, Tables, Frames, Forms and CGI, Server Side Includes
web/js JavaScript Overview JavaScript Basics, Sample Scripts, Browser issues
web/css Cascading Style Sheets Fundamentals, Selectors, Specifying Values, Properties, Positioning, Tips and Tricks
web/dhtml DHTML Advantages and Disadvantages. Browser issues, Document Object Model (DOM), Examples,Tools
web/xml-intro Introduction to XML XML vs HTML, XML Syntax, Document Type Definition (DTD), W3C standards, XML parsers, why XML is important, how XML is used
web/xml-java XML and Java what XML and Java mean to each other, applications of XML with Java, DOM to Java mapping, using SAX and DOM parsers
web/xsl XSL basics, converting XML to HTML