TDDB69 Advanced Web Programming Erik Berglund email: eribe@ida.liu.se 1 TDDB64 1 Introduction: Course Outline • Project course • Lecture Information Administrative issues • Online Reports Report 1: Project specification Report 2: Project status report • Programming project Two students per team Individual examination Registration during Online Report 1: Project specification 2 TDDB64 2 Course • Goal Learn (Java) network programming Mid-sized multi-user network application Learning how to work APIs, documentation, forums • Tasks Project proposal approved by assistant Project implementation and documentation Oral examination and demonstration (individual) • Students are examined and graded individually 3 TDDB64 3 Deliverable • Project Web Site (URL) Project Specification Project Status Report Final project site • Brief document describing the program (e.g., HTML page) • Source code and corresponding documentation (Javadoc-generated documentation) • Working system on web site and/or instructions for running the program (downloadable) 4 TDDB64 4 Important Dates • Project specification and registration: March 30 • Project status report: May 4 • Hard deadline for project: June 1 Second chance end August / beginning September (see course home page) 5 TDDB64 5 Examination • Online Reports (final deadline) • Project demonstration and oral examination Show your accomplishments Know the entire project • Source code examination On project web site after oral examination • Students examined and graded individually 6 TDDB64 6 Course directory and WWW • Directory at the SUN workstations: ~TDDB69 Course information • WWW home page: http://www.ida.liu.se/ ~TDDB69/ 7 TDDB64 7 Registration • Fill in registration form on home page Project website URL with specification and group member information 8 TDDB64 8 Online Reports • Online Reports are mandatory Fail to deliver fail TDDB69 9 TDDB64 9 Online Reports #1 • Project registration Present your project idea Submit a one-page description of your project at the seminar (HTML or PDF) • See example proposal on home page • Assistant will give feedback on any changes for passing project designs or to achieve your desired grade 10 TDDB64 10 Online Reports #2 • Present your project status • Get last minute comments on your project before the hard deadline • Show that you are going to complete the project 11 TDDB64 11 Project Task • Project teams propose project tasks You choose freely; you live with the consequences • Requirements for a passing project: Advanced network functionality • RMI, JXTA, SOAP (or similar) Application data storage using XML or database. User interface design: SWING, SWT, Java 3D or other advanced GUI APIs or graphical APIs. YUI, Dojo ... Use tools. • Static HTML projects are to trivial 12 TDDB64 12 Advance projects • Other techniques can be used Most of the project should be in Java • Use of 3-party APIs, Use 3-party APIs, Tools or libraries freely and openly. This is a good thing. 13 TDDB64 13 Ideas • Groupware systems. • Conferencing System. • Online games. • File Sharing. • Web-shop with back-office 14 TDDB64 14 Javascript, HTML? • Static HTML pages is not enough but can make a web-browser based project better • An advanced, interactive and windows-like UI is needed – component-structure and/or AJAX-based web-pages 15 TDDB64 15 Staff • Erik Berglund • Anders Larsson • Magnus Ingmarsson 16 TDDB64 16 Assistants Policy • Assigned assistant • Project discussion and demonstration • Questions Mail-based help • You and your assistant agree 17 TDDB64 17 LiveLab • VMWare TDDB69 virtual machine • Risk free installation on home computer • Student account mounting • TDDB69 Software Java 1.6, java 1.5 Cvs, subversion, ant eclipse (editor) apache (php) tomcat (jsp) msql quanta plus (web editor) 18 TDDB64 18