Technische Universität Darmstadt Telecooperation Praktikum Internet – The Next Generation FG Telekooperation Dirk Bradler, Julian Schröder-Bernhardi Copyrighted material; for TUD student use only : Prof. Dr. M. Mühlhäuser Telekooperation © Next Generation Internet • Huge and growing demand for Internet services – Broadband access at home, wireless access, multimedia, ... • Internet will become ubiquitous and part of everyday life for “everyone” • New technologies: – Content distribution – Peer-to-peer – Streaming – Mobile Internet – Device collaboration – ... : Prof. Dr. M. Mühlhäuser Telekooperation © What Is This Praktikum About? • New technologies – What? – Protocols – Communication paradigms – Integration • Practical issues – How? – Implementation work – Small prototypes • Building blocks for future : Prof. Dr. M. Mühlhäuser Telekooperation © Organization • 3 topics, each lecture + assignment • Lecture covers theory, assignment implements it • Assignments have milestones – For measuring progress (for you and us ) – ~3 milestones / assignment – First assignment 2 week long, assignment 2 is 4 weeks long, and assignment 3 is ~1.5 months long • Teams of 2-3 students, one grade for whole team • Overall grade as average of assignment grades – Weights: 1/4, 1/4, 1/2 • Teams discovered cheating will get a grade of 5,0 for the whole assignment : Prof. Dr. M. Mühlhäuser Telekooperation © Assignments 1. Introduction to network programming in Java and HTTP and Web • Short introduction to Java network programming • HTTP and Web programming 2. UPnP • Seamless connectivity • Corporate environments • Internet-based communication standards 3. Distributed File System • Caching • Replacement policies : Prof. Dr. M. Mühlhäuser Telekooperation © What You Need to Do (1) In each assignment, return the following: 1. Compiled JAR-File • Executable!!! • Including Java source code • The code should follow the coding guidelines given on the next pages • Code not following the guidelines may be graded inferior compared with functionally equivalent code that does follow them 2. Short written report • What you have done, what is missing, how you implemented it • Describe design choices, why you did them, etc. • UML diagram is ok, if you know UML : Prof. Dr. M. Mühlhäuser Telekooperation © What You Need to Do (2) 3. Test cases used • Test cases may be defined informally in the written report or formally with JUnit tests 4. The names and Martikel numbers of all people in the group must be present in the written report and in the e-mail • Return as a zip-file by email to bradler@tk.informatik.tu-darmstadt.de : Prof. Dr. M. Mühlhäuser Telekooperation © Coding Guidelines (1) • Note: The guidelines are not designed to be in your way – you might already program according to them just because it is the Right Thing to do anyway • The code should compile (with JDK up to 1.6) • if you are using 1.5 extensions (e.g., enums, generics), there is no need to mention that explicitly • Your code should be readable – indent blocks, use capitalization conventions • The program’s design should follow OO best practices • Examples: information hiding, typing with interfaces, modularization, avoiding static for everything but main() and constants, … : Prof. Dr. M. Mühlhäuser Telekooperation © Coding Guidelines (2) • The code should contain comments • • Minimum: JavaDoc for each public method and each public class with one sentence Use self explaining names for variables, methods and classes • self explaining != long for(int i = 0; i < size; i++) is self explaining public Node _n is not self explaining • External libraries are permitted only for things that are not part of the assignment • Example: libraries for logging or UI generation are okay, libraries for socket handling are not • If you are using external libraries, you must turn them in with your assignment : Prof. Dr. M. Mühlhäuser Telekooperation © Timeline Date Topic Time Place 15.10. Introduction 15:20-17:00 S2/02/C120 22.10. Lecture 1, Assignment 1 15:20-17:00 S2/02/C120 5.11. Lecture 2, Assignment 2 15:20-17:00 S2/02/C120 26.11. Q & A Session (Assignment 2) 15:20-17:00 S2/02/C120 3.12. Lecture 3, Assignment 3 15:20-17:00 S2/02/C120 17.12. Assignment 3, Q & A Session 15:20-17:00 S2/02/C120 14.1. Assignment 3, Q & A Session 15:20-17:00 S2/02/C120 21.1. Return Assignment 3 : Prof. Dr. M. Mühlhäuser Telekooperation © Practical Matters • Discussion forums: Fachschafts-Forum zur Lehrveranstaltung (“Internet - The Next Generation“) http://www.fachschaft.informatik.tudarmstadt.de/forum/ • All questions and announcements in Forum! – For FAQ and interesting questions in the forum, we will prepare slides for the Q&A session : Prof. Dr. M. Mühlhäuser Telekooperation © Questions? : Prof. Dr. M. Mühlhäuser Telekooperation © Dann … Gruppeneinteilung :