73119 - Telecommunication Software and Laboratory

Academic Year 2019/2020

  • Moduli: Alessandro Guidotti (Modulo 1) Daniele Tarchi (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Electronics and Telecommunications Engineering (cod. 0923)

Learning outcomes

As an outcome of the course the student will acquire knowledge about programming applications and services for telecommunications systems. In particular, basic principles of SW programming will be acquired with hands on experience on Android application development.

Course contents

The course consists in two modules: "Software per le Telecomunicazioni" and "Laboratorio di Software per le Telecomunicazioni" that run in parallel.

The first modules, awarding six credits, introduces basics on Software development, Object Oriented Programming, and Operating Systems with the objective of allowing Students to understand the principles of software applications development and Operating Systems behavior. Laboratory experiences (in addition to those of the second module) and homework are proposed throughout the entire module with the aim of helping Students to mastering the concepts and tools studied during the course.


The first module is organized into three parts as follows:

Part I: Programming Languages

  • Introduction and rationale
  • Software programming principles and tools
  • Object Oriented Programming Paradigm
  • Object Oriented Programming Languages (JAVA)
  • Principles of Android Application Programming

Part II: Operating System Overview

  • OS Architecture (Linux/Android)
  • OS Basic components (Linux/Android)
  • OS Networking (Linux/Android)
  • OS Drivers (Linux/Android)

The second module is borrowed from the course “Telecommunications Software Lab T” (3 CFU) The aim of the module is to learn the methodologies underlying the development of software applications for mobile devices. Given its diffusion and versatility of use, the Android operating system has been chosen as the use case for the implementation of mobile applications. The course is entirely carried out in the laboratory where the lessons are alternated between frontal lectures, in which the teacher will introduce the main concepts of the Android system, and practical sessions carried out by the students. At the end of the course the student has the ability to implement simple Android apps knowing the fundamental bases of their design. The detailed program of the module can be seen at the web page https://www.unibo.it/en/ teaching/course-unit- catalogue/course-unit/2019/ 325136 [https://www.unibo.it/en/teaching/course-unit-catalogue/course-unit/2019/325136]

Readings/Bibliography

Slides will be made available to the registered students on Insegnamenti OnLine.

The following books shall be used to complete the preparation and as references

  1. M. Gabbrielli, S. Martini, Programming Languages: Principles and Paradigms, Springer
  2. Siddhartha Rao, C++ in One Hour a Day, Sams Teach Yourself, Sams Publishing
  3. Rogers Cadenhead, Java in 24 Hours, Sams Teach Yourself, Sams Publishing
  4. Mark G. Sobell, A Practical Guide to Linux Commands, Editors, and Shell Programming, Prentice All
  5. Modern Operating Systems, Andrew S. Tanenbaum, Herbert Bo, Pearson Ed.

 

Other supporting material can be suggested during the course and listed on the course slides.

Teaching methods

Principles, concepts, and basic tools are introduced with the support of slides.
Programming exercises are proposed to Students as laboratory experiences and homework in order to allow a better understanding of the course subjects.

Assessment methods

Assessment is performed through

  • a multiple choice test;
  • an interview.
The multiple-choice test and the interview are part of a single assessment and shall be undergone on the same day.

Teaching tools

  • Laboratory with personal computers equipped with Eclipse (IDE), Java Developer Kit (JDK), and Android SDK.
  • Students can use their own computing resources (notebooks or personal computers). IDE and SDK tools needed to complete the proposed exercises and homework are open source tools available on the Internet

Links to further information

http://www.ingegneriarchitettura.unibo.it/it/corsi/insegnamenti/insegnamento/2015/325136

Office hours

See the website of Alessandro Guidotti

See the website of Daniele Tarchi