TDDI48 Advanced Programming and Interactivity on the WWW, 7,5 ECTS-points
/Programmering och interaktivitet på WWW/

Advancement level:
C

Aim:
The aim of this course is to introduce the student to the Java programming language, with an emphasis on how Java can be used for creating web pages with an interactive and executable content on the Internet and World Wide Web (WWW). Most of the contents of the course will also be useful for developing Java applications that are not WWW-oriented. The JavaScript scripting language will not be discussed.

Prerequisites:
An introductory course in one of the following imperative, functional or object-oriented programming language courses (or equivalent) is obligatory: TDDA 11, TDDB 92-93, TDDB 25, TDIU 10, TDDB 34. Familiarity with C and C++, along with networks and distributed systems is desirable, but not necessary. Familiarity with HTML, WWW, web browsers and the Internet is assumed.

Course organization:
The course will consist of a number of seminars and labs, and will be given in Swedish.

Course content:
The course will begin with a number of lectures on the most basic aspects of Java programming: Primitive datatypes and control structures, object-oriented programming in Java, exceptions and error handling, complex datatypes and the Collections Framework. Some useful classes in the packages java.lang, java.util, and java.math will also be discussed. The introductory lectures will be followed by some advanced topics, including character-based and binary I/O, multithreading, GUI programming using AWT and Swing, automatic generation of class documentation using JavaDoc, networking and Remote Method Invocation, applets, servlets, JDBC (Java Database Connectivity), and an overview of the Java Virtual Machine. Finally, there will be an overview of a number of existing and future class libraries that have not been discussed in detail earlier in the course. A major part of the course will consist of the labs, which will take place in parallel with the lectures. This part of the course will start with one or possibly two relatively simple labs, intended to give the participants an opportunity to become more familiar with the language and the development environment. This is followed by a larger project, involving the implementation of a guest book that can be embedded in a web page. The guest book is implemented as a client-server system, where an applet communicates with a guest book server over the network. The application will be developed in a number of stages, and the final version will use most of the topics that have been discussed in the course, including Remote Method Invocation, JDBC, applets, and servlets.

Course literature:
The course is not based on any particular book, and a large amount of reference information, for example the documentation for all classes and methods, is available on the WWW. Despite this, a book with thorough, detailed descriptions of the various aspects of Java programming can be very useful, and we recommend the book Thinking in Java by Bruce Eckel. The book can be ordered from most bookstores, and can also be downloaded for free from http://www.bruceeckel.com.

LAB1Laboratory work, 5 p.
Course language is swedish.