Selected topics in the Java programming language (PRG021)


Friday, 10:40, room S3 (0/2 Z)

 

Instructor:       Vladimír Mencl, Ph.D., room nr. 205, Dept. of Software Engineering (KSI)

                        email: vladimir.mencl@mff.cuni.cz, phone: 2 2191 4232

                        office hours: We 14:30-16:30, Th 9:30-11:30

Course web-page:

                        http://nenya.ms.mff.cuni.cz/~mencl/vsjava/


The focus of the course is on discussing advanced topics related to the Java language and environment, as well as the technologies based on the Java platform. The beginning of the course will be devoted to discussing certain not-so-well known aspects of the Java programming language. Afterwards, focus will move to technologies based on Java, starting with distributed systems (RMI, CORBA), next the JavaBeans component model, later moving on to technologies employing Java in enterprise solutions – EJB and other technologies constituting the J2EE platform. Finally the Java 2 Micro Edition platform will be discussed.


The goal of the course is to introduce features of the discussed technologies, demonstrate their possible use, and provide students with an overview of what the technology allows, how to use it, and where to get more information.


Students are expected to have at least a basic knowledge of the Java programming language. Credit for the course will be awarded either for giving a talk on one of the discussed topics (or a related topic), or for creating an application employing one of the discussed technologies.


Course outline:

 

   Digging into the Java language

             Java platform family history & overview; Tips & tricks with Java type system; Threads & Synchronization, Serialization

             New trends in the Java programming language - generic types, enums and new syntax enhancements

             Inner Classes, Anonymous classes, Exceptions

             ClassLoaders, Java Security Model

   Distributed technologies: RMI, CORBA in Java, RMI/IIOP, RMI - CORBA interoperability

   JavaBeans Component Model, Swing Graphical Components

   Java 2 Enterprise Edition: EJB, Servlets and Java Server Pages, Java Connection Architecture, Java Message Service

   Java 2 Micro Edition: Java for Mobile & Embedded systems, CLDC, MIDP, JavaCard

   Optionally other technologies based on the Java platform: Java Metadata Interface (JMI), Jini, Java Shared Data Toolkit, Java APIs for XML