Syllabus for Network Programming for Games 1

Nätverksprogrammering för spel 1

  • 7.5 credits
  • Course code: 5SD808
  • Education cycle: First cycle
  • Main field(s) of study and in-depth level: Computer Science G1F

    Explanation of codes

    The code indicates the education cycle and in-depth level of the course in relation to other courses within the same main field of study according to the requirements for general degrees:

    First cycle

    • G1N: has only upper-secondary level entry requirements
    • G1F: has less than 60 credits in first-cycle course/s as entry requirements
    • G1E: contains specially designed degree project for Higher Education Diploma
    • G2F: has at least 60 credits in first-cycle course/s as entry requirements
    • G2E: has at least 60 credits in first-cycle course/s as entry requirements, contains degree project for Bachelor of Arts/Bachelor of Science
    • GXX: in-depth level of the course cannot be classified

    Second cycle

    • A1N: has only first-cycle course/s as entry requirements
    • A1F: has second-cycle course/s as entry requirements
    • A1E: contains degree project for Master of Arts/Master of Science (60 credits)
    • A2E: contains degree project for Master of Arts/Master of Science (120 credits)
    • AXX: in-depth level of the course cannot be classified

  • Grading system: Fail (U), Pass (G), Pass with distinction (VG)
  • Established: 2017-11-01
  • Established by: The Department Board
  • Applies from: Autumn 2018
  • Entry requirements:

    22.5 credits in computer science including Programming with C/C++ 1: Introduction, 5 credits and Programming with C/C++ 2: Algorithms, Data Structures and Design Patterns, 5 credits or 10 credits from courses with corresponding content.

  • Responsible department: Department of Game Design

Decisions and guidelines

The course is a freestanding course and elective course in the Bachelor programme in Game Design and Programming, 180 Credits

Learning outcomes

Upon completing the course, students will be able to:

  • explain characteristics in the different transport protocols,
  • describe inter-process communication in distributed computing,
  • describe commonly used topologies in networked games,
  • use appropriate techniques for latency hiding in networked games,
  • use BSD sockets or WinSock with C/C++ to implement application level protocols.

Content

The objective of the course is to give an introduction to network programming with C/C++ using a low-level API such as BSD socket or WinSock. The course goes through inter-process communication in distributed computing, the internet protocol suite with IPv4, IPv6, TCP, UDP and DNS as well as common network topology models: Client/server and peer-to-peer. The course also covers techniques for latency hiding used when developing networked games such as client-side prediction, entity interpolation and lag compensation as well as implementing an application level protocol aimed at games.

Instruction

Lectures, teacher led exercises, laboratory work and compulsory hand-in assignment.

Assessment

Examination is based on assignments handed in during the course

GRADES

The possible grades for the course are Pass with Distinction, Pass or Fail.

PLAGIARISM AND CHEATING

Uppsala University takes cheating and plagiarism seriously and disciplinary actions will be taken against students suspected of being involved in any form of cheating and / or plagiarism. The disciplinary measurements are warning and shutdown for a limited time

NB: Only a completed course may be counted towards a degree

Reading list

The reading list is missing. For further information, please contact the responsible department.