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 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) including an in-depth study of RESTful WS and some notions of asynchronous programming with 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 on an individual basis within a first pass or fail small REST server application project. This course is part of the "Advanced Software Engineering" track, so be prepared to do just that.
 

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

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

ILIAS
The course page in ILIAS can be found at https://ilias.unibe.ch/goto.php?target=crs_1166580&client_id=ilias3_unibe.

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.