Skip to main content

ID2212 Network Programming with Java 7.5 credits

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

Course offerings are missing for current or upcoming semesters.
Headings with content from the Course syllabus ID2212 (Autumn 2010–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

  • 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).

Intended 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 disposition

No information inserted

Literature and preparations

Specific prerequisites

ID1018 Programming I 7,5 credits or DD1332 Object Oriented Programming 7,5 credits, or equivalent courses.

Recommended prerequisites

No information inserted


No information inserted


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:

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F


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

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web ID2212

Offered by

Main field of study

This course does not belong to any Main field of study.

Education cycle

Second cycle

Add-on studies

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


Leif Lindbäck

Supplementary information

The course is replaced by ID1212 as from autumn term 17.