ID2212 Network Programming with Java 7.5 credits

Nätverksprogrammering med Java

This course introduces the programming language Java and the techniques for network programming in it. It gives hands-on experience in writing distributed applications.

The aim of this course is to introduce advanced network programming tools and techniques on the level which enables one

  • to use Java Application Programming Interface and windowing toolkits (AWT, Swing)
  • to design GUI clients for network servers
  • to develop concurrent programs with threads, in particular, multithreaded servers
  • to program Java applets and servlets
  • to use sockets, URL connections and content handlers in network programming
  • to develop distributed applications with sockets, Java RMI, CORBA, servlets, JSP, JSF, EJB, JDBC, JXTA and J2ME (Java 2 platform, Micro Edition).
Educational level Second cycle Academic level (A-D) D
Subject area Grade scale A, B, C, D, E, FX, F

Course offerings

Autumn 12 for single courses students

Periods Autumn 12 P2 (7.5 credits) Application code 10089
Start date 22/10/2012 End date 2013 week: 1
Language of instruction English Campus KTH Kista
Number of lectures 28 (preliminary) Number of exercises 10 (preliminary)
Tutoring time Daytime Form of study Normal
Number of places * 10 - 10
*) The Course date may be cancelled if number of admitted are less than minimum of places. If there are more applicants than number of places selection will be made.
Course responsible Vladimir Vlassov <vladv@kth.se>
Teacher Vladimir Vlassov <vladv@kth.se>
Target group

For single course students only!

Autumn 12 for programme students

Periods Autumn 12 P2 (7.5 credits) Application code 50453
Start date 2012 week: 43 End date 2013 week: 1
Language of instruction English Campus KTH Kista
Number of lectures 28 (preliminary) Number of exercises 10 (preliminary)
Tutoring time Daytime Form of study Normal
Number of places No limitation
Course responsible Vladimir Vlassov, vlad@kth.se
Teacher Vladimir Vlassov, vlad@kth.se
Target group

Open to all programs

Part of programme

Autumn 13 TIDAB for programme students

Periods Autumn 13 P2 (7.5 credits) Application code 50197
Start date 04/11/2013 End date 2014 week: 3
Language of instruction English Campus KTH Kista
Number of lectures 28 (preliminary) Number of exercises 10 (preliminary)
Tutoring time Daytime Form of study Normal
Number of places No limitation
Course responsible Vladimir Vlassov <vladv@kth.se>
Teacher Leif Lindbäck <leifl@kth.se>
Vladimir Vlassov <vladv@kth.se>
Target group

Mandatory for TIDAB3 DPUB but open to all programs

Part of programme

Autumn 13 SWB for programme students

Periods Autumn 13 P2 (7.5 credits) Application code 50382
Start date 04/11/2013 End date 2014 week: 3
Language of instruction English Campus KTH Kista
Number of lectures 28 (preliminary) Number of exercises 10 (preliminary)
Tutoring time Daytime Form of study Normal
Number of places No limitation
Course responsible Vladimir Vlassov <vladv@kth.se>
Teacher Vladimir Vlassov <vladv@kth.se>
Target group

Science without borders

Autumn 13 for single courses students - To application

Periods Autumn 13 P2 (7.5 credits) Application code 10034
Start date 04/11/2013 End date 2014 week: 3
Language of instruction English Campus KTH Kista
Number of lectures 28 (preliminary) Number of exercises 10 (preliminary)
Tutoring time Daytime Form of study Normal
Number of places * 1 - 5
*) The Course date may be cancelled if number of admitted are less than minimum of places. If there are more applicants than number of places selection will be made.
Course responsible Vladimir Vlassov <vladv@kth.se>
Teacher Leif Lindbäck <leifl@kth.se>
Vladimir Vlassov <vladv@kth.se>
Target group

For single course students only!

Apply for this course at antagning.se through this application link.
Please note that you need to log in at antagning.se to finalize your application.

Learning outcomes

The aim of this course is to introduce advanced network programming tools and techniques on the level which enables one

  • to use Java Application Programming Interface and windowing toolkits (AWT, Swing)
  • to design GUI clients for network servers
  • to develop concurrent programs with threads, in particular, multithreaded servers
  • to program Java applets and servlets
  • to use sockets, URL connections and content handlers in network programming
  • to develop distributed applications with sockets, Java RMI, CORBA, servlets, JSP, JSF, EJB, JDBC, JXTA and J2ME (Java 2 platform, Micro Edition).

Course main content

  • Review of Java programming basics and paradigms.
  • Overview of the core Java API. Java I/O. GUI programming and multithreading.
  • Basic network and Web concepts.
  • Networking with sockets, secure sockets, URL connections. Applets and servlets.
  • Client-server applications. Distributed computing with Java RMI and CORBA.
  • The JavaMail API.
  • An overview of Enterprise Java technologies such as Java Naming and Directory Interface (JNDI), Java DataBase Connectivity (JDBC), Java servlets, Java Server Pages (JSP), Enterprise Java Beans (EJB), Java Server Faces (JSF).
  • An overview of the JXTA technology for development of P2P distributed applications.
  • An overview of the Java 2 Platform, Micro Edition (J2ME).

Eligibility

ID1004, Object Oriented Programming 7,5 hp

or

DD1332 Object Oriented Programming 7,5 hp

or equivalent courses.

English, level B/ English 6

Literature

Kursen baseras inte på någon speciell kursbok. Några rekommenderade böcker visas nedan. Andra titlar presenteras under kursens gång.

  • Elliotte Rusty Harold, Java Network Programming, 3rd Edition, O'Reilly & Ass., Inc., 3nd Edition October 2004 (ISBN: 0-596-00721-3)
  • Jan Graba, An Introduction to Network Programming with Java, Addison-Wesley, 2003 ( ISBN: 0-321-11614-3)
  • Merlin Hughes, Michael Shoffner, Derek Hamner, Java Network Programming: A Complete Guide to Networking, Streams, and Distributed Computing, 2nd ed., Manning Publications, July 1999 (ISBN 188477749X)
  • Franzén, Torkel, Java från grunden. Studentlitteratur, 2003 (ISBN  9144029144) (på svenska)
  • Java hemsida på Internet:  http://www.javasoft.com/

Examination

  • ANN1 - Assignments, 4.5 credits, grade scale: P, F
  • TEN1 - Examination, 3.0 credits, grade scale: A, B, C, D, E, FX, F

Requirements for final grade

Written examination (TEN1;3hp)
Homework and project assignments (ANN1; 4,5hp)

Offered by

ICT/Software and Computer system

Contact

Vlassov, Vladimir

Examiner

Vladimir Vlassov <vladv@kth.se>

Add-on studies

2G1523 Programming Web Services 
2G1509 Distributed Systems
2G1526 Distributed Computing, Peer-to-Peer and Grids
2G1319 Communication System Design

Version

Course plan valid from: Autumn 10.
Examination information valid from: Autumn 07.