Network Programming

582303
5
Hajautetut järjestelmät ja tietoliikenne
Aineopinnot
The course gives practical and hands-on skills in designing and programming TCP/IP networking applications in a Unix environment. Prerequisites: Programming in C, Introduction to Data Communications, Operating Systems (or Concurrent Programming) and Data Structures Project, or corresponding knowledge. Recommended course book: Stevens W. R., Fenner B., Rudolf A.M.: UNIX Network Programming, Volume 1 (3rd ed.), Addison Wesley, 2004.

Koe

05.04.2013 16.00 A111
Vuosi Lukukausi Päivämäärä Periodi Kieli Vastuuhenkilö
2013 kevät 15.01-20.03. 3-4 Englanti Markku Kojo

Luennot

Aika Huone Luennoija Päivämäärä
Ti 12-14 C222 Markku Kojo 15.01.2013-20.02.2013
Ke 12-14 C222 Markku Kojo 15.01.2013-20.02.2013
Ti 12-14 C222 Markku Kojo 12.03.2013-20.03.2013
Ke 12-14 C222 Markku Kojo 12.03.2013-20.03.2013

Harjoitusryhmät

Group: 1
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
Ke 14-16 DK117 Yi Ding 21.01.2013—29.03.2013 The sessions on 13th and 27th of March are cancelled.

The lectures on 12th and 13th of March are cancelled!

Yleistä

The course is an intermediate module optional course.

The course gives practical and hands-on skills in designing and programming TCP/IP networking applications in a Unix environment.

 

Course results are now available.

 

Kurssin suorittaminen

The course can only be completed by active participation to the course. Active participation means being active in the weekly exercices, completing the programming exercise, and passing the course exam. Only the course exam can be retaken, but it requires that all the other requirements of the course have been completed acceptably.

 

Teaching and Other Course Arrangements

Information on teaching and schedule is available here

 

The course includes

  • 28 hours of lectures  (4 h / week)
  • 6 or 7 weekly exercises
  • programming exercise
  • course exam (2,5 hours)

Passing the course by active participation requires (tentatively)

  • taking the course exam (max. 40 points available,  min. 17 points required for passing)
  • participating actively in the weekly exercices that may give max. 14 points. At least one (1) point is required for passing.
  • completing the programming exercise (max. 6 points)

The grading is based on the total points achieved. A passing grade requires at least 30 points in total.

 

Exercises:

  • Active participation to the exercises is a requirement and known to be very useful.
  • Collecting exercise points requires active participation in exercises by preparing the answers to the exercise tasks before the exercise group meets. The answers need not to be perfect, but should  be in the right ballpark. In the beginning of the exercise session each student marks to a name list the tasks that she/he has completed (the name list is provided by the instructor). A marked task means that the student is prepared to present her/his answer to the group.
  • Each completed exercise task gives one exercise task point (ETP).
  • In total there will be approx. 6 exercise tasks per week.  Roughly 1/3 ETPs out of max. ETPs gives one (1) execise point that is the minimum required and 5/6 of max. ETPs gives the maximum 14 exercise points.

 

Exercise Task Point accumulation can be found here.

 

Kirjallisuus ja materiaali

 

Course Book:

Stevens W. R., Fenner B., Rudolf A.M: UNIX Network Programming, Volume 1, 3rd Edition , Addison Wesley, 2004The course covers the chapters 1-17, 20-26 and 30 plus Appendixes A-D of the course book.

 

Course Content:

A more detailed description of the course content is available here.

 

Lecture Notes:

Lecture notes are available here.  No lectures on March 12-13, 2013. The last lecture will be given on Tue March 19, 2013.

  

Exercises:

Weekly exercises   The last exercise session covering exercises  6 & 7 will be held on Wed March 20, 2013 at 14-17 o'clock. No exercise session on March 13, 2013.

 

Programming exercise (Feb 28 - March 11, 2013) 

 

The exercise has started - UNIX_TL service is running.

Programming exercise assignment.

NOTE:  Programs that use fork() system call are strictly prohibited to test on the "main frame" Unix computers of the CS department (i.e., melkki, melkinkari, melkinpaasi, and users). Preferably use the computer which you are sitting at, or in remote use, please select  one of the  nodes allocated for the course in the department's high performance cluster Ukko (ukko177.hpc.cs.helsinki.fi - ukko179.hpc.cs.helsinki.fi) for remote login when testing such programs.

Allocate enough time to complete the exercise during above mentioned time period!
The work load of this exercise roughly matches to the work load of three regular weekly exercises and course points are gained according to the completion date of the exercise (more points for faster completion).

 

Example Programs from Course Book(s):