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 infrastrucure 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; and conclude with actual topics such as the Web of Things (WoT), the semantic web and cloud computing for resource sharing and optimization.

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:52 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 latters will be tested after three weeks on an individual basis within a first pass or fail small REST server application project.
 

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.
     
Type: 
Course
Semester: 
A2018
ECTS: 
5
Site: 
F
Code: 
13000
23000
Language: 
english
Period: 
weekly
Schedule: 
Monday: 14:15 - 18:00
Location: 
UniFR, PER21
Room: 
D230
Comment: 

First Lecture
The first lecture will take place on Monday, 17.09.2018 at 14:15 in UniFR, PER21, room D230.

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

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.