73119 - Telecommunication Software and Laboratory

Academic Year 2022/2023

  • 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
  • Android Activities
  • 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 on Virtuale

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
  • James F. Kurose, Keith W. Ross "Computer Networking", 8th Edition, Pearson, 2021

Reference guide for Android development.

  • http://developer.android.com

Teaching methods

In consideration of the type of activity and the teaching methods adopted, the attendance requires the prior participation of all students in the training modules 1 and 2 on safety in the study places, in e-learning mode.

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. The exam takes place on the EOL platform through tests with multiple choice quizzes and open questions, for a total of 14 questions, the score of which depends on the difficulty of each question. The time available to the student for the written test is 70 minutes. During the test it is not allowed to use support material such as: textbooks, notes, computer supports. The maximum score obtainable by providing all correct and complete answers is equal to 31. The test is passed with a minimum score of 18/30.

Students will be able to organize themselves into groups of two / three components, which will be assigned a project of Android apps that they will have to develop. There is always the possibility for students 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.