Skip to content

Libera Università di Bolzano

Introduction to Programming

Semestre 1 · 76271 · Corso di laurea in Informatica · 9CFU · EN


• Data types and expressions
• Basic data structures and generic
• Functions and parameter passing
• Conditionals and loops
• Arrays and collections
• Classes and objects
• Basic Input/Output
• Exception handling
• Recursion

Docenti: Tiziano Dalmonte, Chiara Ghidini

Ore didattica frontale: 60
Ore di laboratorio: 30
Obbligo di frequenza: Not mandatory, but highly recommended

Argomenti dell'insegnamento
The objective of the course is to teach the fundamental principles of programming. We will focus especially on imperative programing as the basic way to learn: (1) the basics of programming and programming elements; (2) the basics of algorithmic thinking; and (3) The basics of writing code. As programming language, we will use a subset of the Java language, mainly restricted to its imperative part. The student will learn how programs can be constructed, and also structured in more files/objects in order to solve a problem. Students will learn how to solve computational problems with well-designed programs that implement effective solutions. The learning will be based on examples, from very simple ones to more complex. We will use the Java programming language and the integrated development environment (IDE), so the goal is to train the student capability to develop java applications in this environment. The final objective for the student is to acquire the ability to solve basic algorithmic problems in a Java-based application.

Modalità di insegnamento
The course includes frontal lectures with exercises, lab sessions, and individual programming projects.

Obiettivi formativi
Knowledge and Understanding - D1.2: Know in details the fundamental principles of programming - D1.3: Have a solid knowledge of the most important data structures and programming techniques Applying knowledge and understanding - D2.2: Be able to develop small and medium size programs using different programming languages and paradigms. - D2.3: Be able to solve problems using programming methodologies. Ability to make judgments - D3.1: Be able to collect and interpret useful data and to judge information systems and their applicability. Communication skills - D4.1: Be able to use one of the three languages English, Italian and German, and be able to use technical terms and communication appropriately. Learning skills - D5.1: Have developed learning capabilities to pursue further studies with a high degree of autonomy.

Modalità d'esame
The assessment consists of a a final written exam, performed using laptops provided by the Faculty of Engineering, consisting both of practical components (coding questions) and theoretical components (questions about the basic notions of computer science and programming languages). The practical questions are designed to evaluate learning outcomes related to the application of acquired knowledge, critical thinking, communication, and learning skills. Specifically, students are expected to write code capable of effectively solving a basic computing problem. The theoretical questions assesse knowledge and understanding, the ability to apply that knowledge, and the student’s learning skills. It includes verification questions and transfer-of-knowledge questions.

Criteri di valutazione
The practical questions will be assessed based on the correctness and quality of the solution, including the relevance and effectiveness of the implemented functions. Written exam answers will be evaluated based on their correctness and clarity.

Bibliografia obbligatoria
  • John Lewis and William Loftus. Java Software Solutions. PEARSON INDIA, 2018. ISBN 978-93-5306-361-0. 
  • Kathy Sierra, Bert Bates, and Trisha Gee. Head First Java: A Brain-Friendly Guide. O'Reilly Media, Sebastopol, CA, 3rd edition, June 2022. ISBN 978-1-4919-1077-1. 
  • Cay S. Horstmann. Brief Java: Early Objects. John Wiley & Sons Inc, 9th edition, 2020. ISBN 978-1-119-74019-3. 


Bibliografia facoltativa

The Java Tutorials at https://docs.oracle.com/javase/tutorial/ 



Altre informazioni
IntelliJ IDEA (https://www.jetbrains.com/idea/)


Scarica come PDF

Obiettivi di sviluppo sostenibile
Questa attività didattica contribuisce al raggiungimento dei seguenti Obiettivi di Sviluppo sostenibile.

4

Richiesta info