@@ -922,7 +922,7 @@ After the course, the students will have a broad understanding of the underlying
...
@@ -922,7 +922,7 @@ After the course, the students will have a broad understanding of the underlying
---
---
### Multiplayer Online Games - Theory (5 ECTS)
### <s> Multiplayer Online Games - Theory (5 ECTS)
##### Description
##### Description
...
@@ -1064,7 +1064,7 @@ After the course, the students will gain a solid background on the theory and th
...
@@ -1064,7 +1064,7 @@ After the course, the students will gain a solid background on the theory and th
---
---
### Multiplayer Online Games - Practice (5 ECTS)
### <s>Multiplayer Online Games - Practice (5 ECTS)
##### Description
##### Description
...
@@ -1098,4 +1098,70 @@ After the course, the students will have gained practical skills to implement mu
...
@@ -1098,4 +1098,70 @@ After the course, the students will have gained practical skills to implement mu
- Developing Games
- Developing Games
- Multiplayer Online Game Theory
- Multiplayer Online Game Theory
# Network and Concurrent Programming (5ECTS)
##### Description
This module will allow the students to learn and practice the skills essential to developing networked and multithreaded applications.
The module will give a first overview of intra-process and extra-process communication techniques.
This module will give an overview of networking protocols and thread libraries and familiarize the students with multithreaded and distributed programming paradigms, focusing in particular on the real-time interactive systems (RIS) domain (such as video games, virtual reality, or mixed reality applications).
Issues faced when developing a concurrent or distributed application will be tackled, including thread synchronization and network protocol reliability. Classical and innovative design patterns and architectures will also be studied.
Students will be given the opportunity to experiment and practice with the issues studied through the use of suitable programming language, libraries, and middleware during the exercise sessions.
Students will be assessed through a written exam.
##### Indicative Content:
- Inter- and extra- process communications
- Threads models (lightweight processes) in high-level languages such as Java,C# or C++ and inter-threads and external communications and synchronization
- Design and development of a concurrent and networked application using a suitable API
Communication Protocols (e.g., Ipv6, UDP, TCP, HTTP, RTP and SSL/TLS)
- Abstractions for concurrent and distributed applications:
- design patterns
- communication models,
- distributed objects models
##### Competencies/Qualification
This module aims to:
1. Provide the students with an understanding of computer networks systems.
1. Develop the students' ability to design and develop concurrent and networked applications using a variety of languages and suitable APIs, and through adequate design patterns and communication models.
1. Provide an overview of different concurrent programming models, such as threads and processes, and the different communication models they can support.
1. Describe the classical networking protocols and communication models on private networks and the Internet.
1. Describe the issues faced when developing distributed applications with strong real-time interactive requirements such as digital games, virtual reality or mixed reality applications.