Advanced Software Engineering

Today’s Internet is the dominating communication infrastructure for supporting distributed scalable software systems as different as social networks, interactive games, smart homes, smart cites, IoT infrastructure or supply chain management. In this lecture, we will investigate some of the main technologies, which will shape the future of Internet from a software engineering perspective. This journey will start with a recap of web basics such as URIs, HTTP, JSON; then continue with web services (WS) with a strong focus on RESTful ones and some notions of asynchronous programming with event loops. We will conclude with actual topics such as the Web of Things (WoT), cloud computing, advanced databases and smart contracts.

The theoretical part of the lecture is accompanied by a larger software project, where you will apply your new knowledge to design and implement a state of the art web application, complete with a web-based UI and a service-driven application logic using languages such as Python and/or Node.JS, smart devices such as Thingy:91 boxes of environmental sensors and Node-RED workflow engine. The project will be developed by groups of four students following a strict agile methodology (SCRUM) and will count for half of your grade. For a successful completion of the project, good programming skills are an absolute must. The latter will be tested after three weeks on an individual basis within a first pass or fail small REST server application project.

Details

Code 13000
Type Course
ECTS 5
Site Fribourg
Track(s) T1 – Distributed Software Systems
Semester A2024

Teaching

Learning Outcomes

On successful completion of this course, you will have:

  • learned about key Internet technologies and applications, including interaction with smart sensors and the increasing role of services and cloud computing
  • become familiar with agile development within a small group using SCRUM
  • designed and implemented a state of the art Internet application.
Lecturer(s) Jacques Pasquier-Rocha
Mourad Khayati
Language english
Course Page

The course page in ILIAS can be found at https://ilias.unibe.ch/goto_ilias3_unibe_crs_3102239.html.

Schedules and Rooms

Period Weekly
Schedule Thursday, 09:15 - 12:00
Location UniFR, PER21
Room B207

Evaluation

Evaluation type written exam

Additional information

Comment

First Lecture
The first lecture will take place on Thursday, 19.09.2024 at 09:15 in UniFR, PER21, room B207.

Prerequisites

  • The project requires good programming and software design skills. Previous experience with developing server side Web applications is helpful.
  • For the lecture, a basic knowledge of Internet technologies is helpful.