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 13 TIDAB for programme students

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

    56 (preliminary)

  • Number of exercises

    20 (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

    56 (preliminary)

  • Number of exercises

    20 (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!

  • Application

    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.