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.
T1 – Distributed Software Systems |
On successful completion of this course, you will have:
Jacques Pasquier-Rocha |
The course page in ILIAS can be found at https://ilias.unibe.ch/goto_ilias3_unibe_crs_2793339.html.
Schedules and Rooms
|Schedule||Thursday, 09:15 - 12:00|