Course Details for A.Y. 2013/2014
Name:
Laboratorio di Programmazione / Introduction to Programming
Basic information
Credits:
: Laurea in Informatica 6 CFU (b)
Degree(s):
Laurea in Informatica 1° anno curriculum Generale Obbligatorio
Language:
Italian
Course Objectives
The goal of this course is to introduce the basic notions of imperative and object-oriented programming. On successful completion of this module, the student should be able to solve simple problems, implement the related algorithms in a structured programming language, and use a computer to run simple programs.
Course Content
- Algorithms, programs and programming languages. Flow charts, structure of a program.
- Basic data types. Constants, variables, arithmetic expressions, boolean expressions. Assignment. input/Output primitives. Control structures: sequence, conditional, iteration and loop.
- Structured data types: array, string.
- Methods. Block structure and scoping rules. Parameter passing. Side-effects of methods. Recursion and recursive methods.
- Classes and objects: basic notions, object creation and their manipulation. Static methods. Array of objects.
- Inheritance and hierarchies. Polymorphism and late binding. Exceptions and their handling.
Learning Outcomes (Dublin Descriptors)
On successful completion of this course, the student should
-
have profound knowledge of the basic concepts of imperative and object-oriented programming, have knowledge and understanding of algorithms for solving simple problems, have knowledge and understanding of the core of the programming language used for coding the algorithms, have knowledge of a simple environment to run programs;
-
understand and apply definitions as given by the syntax and the semantics of the programming language;
-
analyse and discuss different algorithms for solving a problem and different implementations of the same algorithm in the given language;
-
explain and illustrate the fundamental notions of basic and structured data types, control structures, methods definition and invocation, parameter passing,
recursive methods, classes and objects, inheritance and exceptions;
-
demonstrate skill in problem-solving, demonstrate ability to use a (subset of a) programming language to code algorithms and test the solutions on computer, demonstrate capacity of abstraction and modularity.
Prerequisites and Learning Activities
Basic notions of mathematics (in particular, sets and functions). No knowledge on programming and specific programming languages is required.
Assessment Methods and Criteria
Written exam (possibly split into a midterm exam + final exam at the end of the course).
The oral examination is not compulsory, but might be required in certain cases.
Textbooks
- Cay Horstmann, Concetti di informatica e fondamenti di JAVA , Apogeo. 2007.
- Marco Bertacca e Andrea Guidi, Programmare in Java , McGraw-Hill. 2007.
Notes
- Gli studenti immatricolati a partire dall'A.A. 2007/08 dovranno sostenere l'esame unico di Fondamenti di Programmazione con Laboratorio. Questo corso mutua anche i due seguenti insegnamenti del CdL in Matematica: Laboratorio di Programmazione (corso disattivato, 6 cfu, DM509), Informatica (corso attivo, 6 cfu, DM270)
Course page updates
This course page is available (with possible updates) also for the following academic years:
To read the current information on this course, if it is still available, go to the university course catalogue .
Course information last updated on: 04 marzo 2014, 01:59