Free University of Bolzano/Bozen
Faculty of Computer Science - Bachelor in Applied Computer Science

Introduction to Programming

Syllabus A.Y. 2006/2007

Prof. Diego Calvanese

Teaching material.
[M1] Lecture Notes for Introduction to Programming. Diego Calvanese. Available on the course web page.
[M2] Absolute Java. Walter Savitch. Addison Wesley. 2nd edition 2005.

Part common to the Old Study Plan (6 CFU) and the New Study Plan (8 CFU)

  1. Introduction to programming and to the Java programming language [M1]: Unit 1.
    Programming languages and compilers, programming environment. Objects and classes. Computing environment: hardware, operating system. Writing and executing Java programs.
  2. Use of objects [M1]: Unit 2.
    The class String, structure of a program, use of methods. Variables and assignments. Programs that operate on String objects. Object creation.
  3. Definition of methods and classes [M1]: Unit 3.
    Variable life cycle and variable scope. Definition of static methods. Memory model for variables and objects. Definition of classes. Constructors.
  4. Primitive data types [M1]: Unit 4.
    Data types for representing integers (int, long, short, byte). Data types for representing reals (double, float). The char data type. The boolean data type. Wrapper classes. Type conversion and casting.
  5. Conditional statements [M1]: Unit 5.
    The if-else statement. The switch statement. Conditional expression.
  6. Loop statements [M1]: Unit 6.
    Definite and indefinite loops. The while statement. The for statement. The do statement. Nested loops.
  7. Arrays and matrices [M1]: Unit 7.
    Definition and use of arrays. Classes that represent collections. Definition and use of matrices.
  8. Inheritance [M1]: Unit 8.
    Basic principles of inheritance. Polymorphism. The class Object.
  9. Files and input/output streams [M1]: Unit 9.
    The concept of file and of text file. Reading from and writing on files. Input/output streams. Reading from input streams (e.g., file, keyboard, ecc.). Writing on output streams (e.g., file, video).
  10. Program errors and exception handling [M1]: Unit 10.
    Error types (syntactic, semantic, logical). Techniques for error detection. Exception hierarchy and error handling through exceptions (the throws clause, the throw and try-catch statements).

Part only for the New Study Plan (8 CFU)

  1. Recursion [M1]: Unit 11.
    Inductively defined domains. Definition of recursive methods. Memory management at run-time. Evolution of the stack of activation-records. Multiple recursion.
  2. Dynamic arrays and linked lists [M1]: Unit 12.
    Limitations of arrays and dynamic arrays. Linked lists. Iterative implementation of operations on lists (creation, search, insertion, deletion, etc.). Linked lists as inductively defined domain. Recursive implementation of operations on linked lists.

Back to course home page
Last modified: Sunday, 7-Oct-2007 10:29:33 CEST