Checking date: 09/05/2022

Course: 2022/2023

Study: Bachelor in Telematics Engineering (215)

Coordinating teacher: BELLUCCI , ANDREA

Department assigned to the subject: Department of Computer Science and Engineering

Type: Basic Core
ECTS Credits: 6.0 ECTS


Branch of knowledge: Engineering and Architecture

The goal of this course is to introduce basic programming techniques useful for telecommunication applications. The programming language is Java. However, the techniques taught in the course are generic, i.e. they apply to other programming languages as well. Upon successful completion of the course, the student will be able to: - Understand the fundamentals of the imperative programming - Understand the fundamentals of structured programming - Understand and manage language data types - Understand and manage the structures of flow control - Know Java syntax - Know program testing and debugging - Analyze and understand Java programs - Localize and fix syntax and functional errors - Analyze and understand algorithms written in pseudocode or in flow diagrams - Design and develop simple algorithms based on given prerequisites - Develop simple Java programs from flow diagrams, pseudocode or functional descriptions - Have knowledge of basic search and sorting algorithms - Design, develop and execute program test plans.
Skills and learning outcomes
Description of contents: programme
PART I: Programming fundamentals - Essentials of computer architecture - Programming languages - Compiling and running code - Elements of a program: data and algorithms - Basic programming tools: algorithms, flow diagrams and pseudo code. - The Java programming language PART II: Structured programming - Primitive data types and operators - Flow control - Conditional sentences - Loops PART III: Introduction to program testing PART IV: Advanced concepts - The String class - Arrays - Input/output PART IV: Modular programming - Organizing code in methods - Information Exchange between functions: passing parameters
Learning activities and methodology
The teaching methodology includes: 1. Lectures presenting the theoretical knowledge. Basic text books for both theory and problems will be also recommended, which will allow the students to complete and deepen the subjects, in which they are most interested. 2. Practice in computer labs, during which the students will develop and analyze programs using the theoretical concepts taught in lectures. The assignments are developed in groups, in order to promote the team work. 3. Problem solving both in paper and with the computer, targeting the self-evaluation. 4. Individual practical assignment in computer labs based on the assignments developed in groups. 5. Sharing the problems solutions and joined correction in order to develop the capacity of analyzing and communicating information relevant to problem solving. Additionally, this activity will promote the change of critical opinions between the professor and the students and among students. 6. Use of new e-learning technologies with a known platform (edX) where students will have the opportunity to reinforce their learning based on: Cross-evaluation, self-learning, and video formats to allow the students to gain more knowledge at any time they want.
Assessment System
  • % end-of-term-examination 30
  • % of continuous assessment (assigments, laboratory, practicals...) 70
Calendar of Continuous assessment
Basic Bibliography
  • Allen Downey and Chris Mayfield. Think Java. O'Reilly Media, Incorporated . 2019
  • Bruce Eckel. Piensa en Java - Thinking in Java. Grupo Anaya Publicaciones Generales. 2007
Recursos electrónicosElectronic Resources *
Additional Bibliography
  • Donald E. Knuth. The Art of Computer Programming. Addison-Wesley Educational Publishers Inc. 2011
Recursos electrónicosElectronic Resources *
(*) Access to some electronic resources may be restricted to members of the university community and require validation through Campus Global. If you try to connect from outside of the University you will need to set up a VPN

The course syllabus may change due academic events or other reasons.