Introduction to Programming (2008/2009)

Course Not running, not visible

Course code
4S00016
Credits
12
Coordinator
Andrea Masini
Teaching is organised as follows:
Unit Credits Academic sector Period Academic staff
Teoria 8 INF/01-INFORMATICS 1° Q - solo 1° Anno, 2° Q Andrea Masini
Laboratorio 4 INF/01-INFORMATICS 1° Q - solo 1° Anno, 2° Q Nicola Drago

Learning outcomes

Module: Teoria
-------
The course provides the basic notions of computer programming. Namely, it describes the Java programming language and some of its more frequently used library functions. At the end of the course, the student will be able to understand some simple Java programs and to write his owns for solving simple problems.

The course is organised around 64 hours of teaching, split in two trimesters of 32 hours each. It is understood that the student attends at the same time the course of Laboratory of Programming, where he applies and gets familiar with the notions described in the course.


Module: Laboratorio
-------
--

Syllabus

Module: Teoria
-------
* Java. Compilation and run of Java programs
* The first Java program. Classes, keywords and identifiers
* Methods. print() and println(). Escape sequences
* Constants and variables. Operations.
* Primitive types
* Expressions, precedence, type conversions
* Interactive programs
* Assignment
* Increment and decrement
* String objects and their operations
* The Boolean type. Ordering operators, short-circuit
* Conditionals: if and if/else
* Nesting
* Equals over String objects
* Switch, while, for, scope of the index variable
* Do/while
* Nested loops
* Input files
* Arrays: declaration, creation and access
* Explicit initialisation of the arrays
* Computing over the arrays: creation from the input, search for a key,
search for the minimum element
* Arrays as parameters to methods. Method main()
* Multidimensional arrays
* Classes, objects, constructors, methods, fields
* Inheritance and polymorphism
* super in the constructors
* Access control to fields and methods
* super for accessing fields and methods
* Abstract classes
* Exceptions: declaration, throwing and catching
* The throws keyword for the methods
* The finally construct
* Recursive methods
* Lists


Module: Laboratorio
-------
--

Assessment methods and criteria

Module: Teoria
-------
The examination consists in a written test where the student writes or modifies some program. It is unified with the examination of the Laboratory of Programming course. It is evaluated on the basis of the correctness of the programs as well as of their simplicity, cleanness and possibility of compilation without errors.

The examination can be done in two ways (not necessarily exclusive):

1) (strongly suggested): by passing with success both partial tests that are done in December and March, respectively;

2) by passing with success one of the six tests of Programming and Laboratory of Programming which are done during the year and whose dates are published. If the student handles his classwork at one of these six examinations, the evaluation of the partial tests or of a previous
examination is automatically lost.


Module: Laboratorio
-------
--

Reference books
Author Title Publisher Year ISBN Note
Giovanni Pighizzini, Mauro Ferrari Dai fondamenti agli oggetti. Corso di programmazione JAVA (Edizione 3) Pearson Addison-Wesley 2008 978 88 7192 448 9

Studying