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