============================================= Jython Agenda -- Computer Horizons Training ============================================= This document provides an agenda for the Jython training scheduled for Computer Horizons Corporation for 4/18-19/2006 and 5/2-3/2006. Day 1 AM: - Introductions, administrative matters. - Outline of the course. Goals for the course. - Introduction to Jython: (1) description of Jython and Python; (2) comparison and differences between Jython and Python; (3) comparison with other languages. Day 1 PM: - Lexical matters: (1) variables, (2) line structure, (3) comments, (4) block structure, (5) operators. - Jython execution model: (1) how Jython evaluates and runs code; (2) the Jython object model. - Built-in data types and operations on built-in types: numerical types, lists/arrays, dictionaries, strings, etc. - Practical exercises: (1) creating and using tuples and list; (2) creating and using dictionaries; (3) creating strings, string operations, and formatting strings. -------------------- Day 2 AM: - Built-in data types, continued. - Introduction to structured Jython: (1) functions, (2) classes, (3) modules, (4) packages. - Practical exercises: (1) functions; (2) simple classes; (3) modules. Day 2 PM: - Jython statements: (1) assignment, (2) import, (3) print, (4) if-then-else. - Jython statements, continued: (1) for; (2) while; (3) continue and break; (4) try-except; (5) raise. - Practical exercises -- statements. -------------------- Day 3 AM: - Structured Jython revisited: (1) functions, (2) classes, (3) modules, (4) packages. - Practical exercises: (1) functions; (2) classes and object-oriented programming. Day 3 PM: - Jython extended: calling Java from Jython. - Extending Jython with Java: writing Java for Jython; special techniques. - Practical exercises: (1) using Java classes from Jython; (2) writing a Java class to be used in Jython. -------------------- Day 4 AM: - Compiling Jython for Java: (1) when and why; (2) benefits; (3) how-to compile, using jythonc; (4) how-to use the resulting .class files. - Embedding Jython in Java: (1) capabilities provided by embedded Jython; (2) how to embed; (3) passing values between Jython and Java; (4) maintaining state (across scripts). - Practical exercises Day 4 PM: - Practical exercises: (1) functions; (2) classes; (3) modules. - Practical exercises -- Application related tasks and problems suggested by class members.