Free University of Bolzano/Bozen
Faculty of Computer Science - Bachelor in Applied Computer Science
Bachelor in Production Engineering
Introduction to Programming
Final syllabus A.A. 2004/2005
[M1] Lecture Notes for Introduction to
Programming. Diego Calvanese. Available on the course web page.
Big Java. Cay S. Horstmann. John Wiley &
Part common to the Bachelor in Applied Computer Science and the
Bachelor in Production Engineering:
- Introduction to programming and to the Java programming
[M1]: Unit 1.
Programming languages and compilers, programming environment. Objects
and classes. Computing environment: hardware, operating system. Writing
and executing Java programs.
- Use of objects
[M1]: Unit 2.
String, structure of a program, use of methods.
Variables and assignments. Programs that operate on
objects. Object creation.
- 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. Basic principles of inheritance. The class
- Primitive data types
[M1]: Unit 4.
Data types for representing integers (
byte). Data types
for representing reals (
char data type. The
boolean data type.
Wrapper classes. Type conversion and casting.
- Conditional statements
[M1]: Unit 5.
if-else statement. The
- Loop statements
[M1]: Unit 6.
Definite and indefinite loops. The
while statement. The
for statement. The
do statement. Nested
[M1]: Unit 7.
Definition and use of arrays. Matrices.
- Files and input/output streams
[M1]: Unit 8.
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).
Part only for the Bachelor in Applied Computer Science:
- Program errors and exception handling
[M1]: Unit 9.
Error types (syntactic, semantic, logical). Techniques for error
detection. Exception hierarchy and error handling through exceptions
throws clause, the
[M1]: Unit 10.
Inductively defined domains. Definition of recursive methods.
Memory management at run-time. Evolution of the stack of
activation-records. Multiple recursion.
- Dynamic arrays and linked lists
[M1]: Unit 11.
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.
course home page
Wednesday, 26-Jan-2005 10:57:22 CET