- Docente: Alessandro Guidotti
- Credits: 9
- SSD: ING-INF/03
- Language: Italian
- 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
- M. Gabbrielli, S. Martini, Programming Languages: Principles and Paradigms, Springer
- Siddhartha Rao, C++ in One Hour a Day, Sams Teach Yourself, Sams Publishing
- Rogers Cadenhead, Java in 24 Hours, Sams Teach Yourself, Sams Publishing
- Mark G. Sobell, A Practical Guide to Linux Commands, Editors, and Shell Programming, Prentice All
- 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.
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