This site uses only proprietary and third party technical cookies. By continuing to browse the site you are agreeing to our use of cookies. I agree I want to find out more
Browse the Department site:
Browse the Teaching site:

Programme of Course "Fondamenti di Programmazione"

Code:

F1I057

Type of course unit:

Bachelor Degree in Computer Science curriculum General: Compulsory

Level of course unit:

Undergraduate Degrees

Semester:

1st semester

Number of credits:

Bachelor Degree in Computer Science: 6 (workload 150 hours)

Teachers:

Paola Inverardi (paoladotinverardiatunivaqdotit)
Alexander Perucci (alexanderdotperucciatunivaqdotit)

1. Course Objectives

This course introduces essentials of programming languages. Students, applying rules of  Syntax and Semantics, develop the skills in program design, implementation and debugging to solve computational problems in programming languages. The course focuses in particular on the Operational Semantics of a subset of the Java Programming Language.

2. Course Contents and learning outcomes (Dublin Descriptors)

Topics of the course include:

  • Programming Languages Syntax: Context-Free Grammars, Derivation Trees, Ambiguity
  • Programming Languages Semantics: Transition System
  • Operational Semantics for +/- Java
  • Expressions, Commands, Class Library

On successful completion of this course, the student should

  • o know and understand the importance of structured programming concepts as well as good programming practice;  o understand  the role of primary data structures and algorithms and have the ability  to perform operations involving various data structures and implement some simple examples of them; o be able to utilize the basic elements of programming character-based I/O, assignment, loops, conditionals, vectors, functions and parameter-passing in programming practice such as reading, writing and debugging a program;  o be able to apply techniques for expression evaluation, and role of operator precedence and associativity in expression evaluation in programming practice;  o be able to apply syntax of the programming language to design, implement, test and debug a non-trivial program that solves a practical problem.

3. Course Prerequisites

Knowledge of basic math functions and sets, and logical expressions. Basics of object-oriented programming can be acquired with the integrated module Programming Laboratory.

4. Teaching methods and language

Lectures and exercises on blackboard. Language: Italian Reference textbooks: - R. Barbuti, P. Mancarella e F. Turini, Elementi di Semantica Operazionale. 2004/2005. https://informatica.di.univaq.it/getres.php?resid=1171  - R. Barbuti, P. Mancarella, D. Pedreschi, F. Turini, Elementi di Sintassi dei Linguaggi di Programmazione. Corso di Laurea in Informatica Università di Pisa a.a. 2004/2005. https://informatica.di.univaq.it/getres.php?resid=746  - R. Barbuti, P. Mancarella e C. Montangero, Semantica Operazionale. https://informatica.di.univaq.it/getres.php?resid=747  - M. Autili, P. Inverardi, Semantica Operazionale di +/- Java - 03 Dicembre 2010. 2010. http://informatica.di.univaq.it/getres.php?resid=1053

Language:Italian[info]

Reference textbooks

  • R. Barbuti, P. Mancarella, D. Pedreschi, F. Turini, Elementi di Sintassi dei Linguaggi di Programmazione. Corso di Laurea in Informatica Università di Pisa a.a. 2004/05. 2004/2005.
  • R. Barbuti, P. Mancarella e F. Turini, Elementi di Semantica Operazionale. 2004/2005.
  • R. Barbuti, P. Mancarella e C. Montangero, Semantica Operazionale.
  • M. Autili, P. Inverardi, Semantica Operazionale di +/- Java - 03 Dicembre 2010 . 2010.

5. Assessment Methods

The exam consists of a written test and an oral test required.  Who has acquired the frequency in the years prior to 2007/08 will have to take the exam of the course Fundamentals of Programming. Students enrolled in the A. A. 2007/08 will have to take the exam only Fundamentals of Programming with Lab.

Course information last updated on: 06 febbraio 2018, 13:59