- Docente: Alessandro Vanelli Coralli
- Credits: 9
- SSD: ING-INF/03
- Language: Italian
- Moduli: Alessandro Vanelli Coralli (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)
Skills and knowledge acquired during the first module will be used during the second module, "Laboratorio di Software per le Telecomunicazioni T" (3 credits). Students will create, design, and develope an Andorid Mobile application. The detailed program of the second module can be found in the course web page.
Readings/Bibliography
Slides will be made available to the registered students on AMS Campus.
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 Vanelli Coralli
See the website of Daniele Tarchi