73119 - Telecommunication Software and Laboratory

Academic Year 2021/2022

  • Docente: Daniele Tarchi
  • Credits: 9
  • SSD: ING-INF/03
  • Language: Italian
  • Moduli: Daniele Tarchi (Modulo 1) Alessandro Guidotti (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. 9065)

Learning outcomes

At the end of the course the student is introduced to the fundamental concepts for the realization of telecommunication services and applications platforms. He knows the services for fixed and mobile terminals, the broadcasting and streaming services, the services based on web interfaces. It is introduced to the development of software applications for the practical realization of the services covered in the Telecommunication Software course.

Course contents

The Telecommunication Software and Laboratory course consists of two modules delivered in parallel.

Module 1, 60 hours, aims at introducing the use of programming languages for the implementation and development of telecommunications services. Java has been selected as programming language, while Android is the reference operating system for application development. Module 2, 30 hours, is borrowed from Telecommunication Software Laboratory T course, in which page are reported the course contents.

Module 1 is organized in three parts.

Part 1: Introduction to the course and Java (about 20 hours)

  • Introduction to the course. Telecommunications software. Mobile operating systems.
  • Development environment.
  • Introduction to Java
  • Java operators.
  • Selections and iterations in Java.
  • Java Methods.
  • Arrays in Java.
  • Classes and objects in Java.
  • Inheritance in Java
  • Java interfaces
  • Java exceptions

Part 2: Introduction to Android and app development (about 20 hours)

  • The Development environment: Android Studio; Installation; Hello World App. The Android Developer site. The examples on Android Developer.
  • Tutorial on creating a basic interactive app
  • Resources in Android: Static resources; Use of resources at run time
  • The explicit intent; Tutorial on creating a multi-screen app
  • The implicit intent. Tutorial on creating an app that takes advantage of Android system services
  • The User Interface: View and Layout; Tutorial on creating the User Interface
  • Persistence management: Saving preferences; Tutorial on saving preferences.
  • Sensors in Android: Management of direct sensors; Indirect sensors. Sensor management tutorial.

Part 3: Network applications and their implementation on Java and Android (about 20 hours)

  • Telecommunications and applications. The communication paradigms (Client / Server, Peer-to-Peer). Notes on protocols.
  • The HTTP protocol
  • Java I/O and Java Net libraries
  • File management in Java
  • Network Socket implementation
  • File management in Java
  • Access to the web in Android; image download.

Readings/Bibliography

Slides of the course will be made available onVirtuale

Suggested readings for Module 1:

  • Quentin Charatan, Aaron Kans, "Java in Two Semesters - Featuring JavaFX", Fourth Edition, Springer Nature Switzerland, 2019
  • Massimo Carli, “Android 9 – Guida per lo sviluppo di applicazioni mobili”, Apogeo, 2019
  • Michael Burton, "Android App Development For Dummies", 3rd Edition, Wiley, 2016
  • Behrouz A. Forouzan, Firouz Mosharraf, "Reti di Calcolatori - un approccio Top-Down", McGraw Hill, 2013
  • James F. Kurose, Keith W. Ross "Reti di calcolatori e internet - Un approccio top-down", 7th Edition, Pearson, 2017

Reference guide for Android development.

  • http://developer.android.com

Teaching methods

Lectures and Lab hands-on sessions for developing Android based apps under the teacher guidance.

As concerns the teaching methods of this course unit, all students must attend Module 1, 2 on Health and Safety online

Assessment methods

The learning assessment will be carried out through a written exam followed by the presentation of the developed Android app project.

The written exam will be aimed at verifying the learning of the Java notions.

At the beginning of the course the students will be organized in groups of two / three components who will be assigned an Android app project which they will have to develop. Students are free to propose an app project to be agreed with the teacher.

During the exam, students will have to make a short presentation (about 5 minutes) of their app using an Elevator Pitch approach, to illustrate the objective, architecture, greater complexity and future challenges of the developed project. An individual interview will follow in which each student will have to illustrate the portion of the code developed.

The final score is composed of the average of the written test, the evaluation of the Android project and the evaluation related to the Telecommunications Software Laboratory T module

Teaching tools

PC Windows/Linux/MacOS for installing the development tools

Office hours

See the website of Daniele Tarchi

See the website of Alessandro Guidotti

SDGs

Industry, innovation and infrastructure Partnerships for the goals

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.