Course Details for A.Y. 2016/2017
Name:
Fondamenti di Programmazione / Foundations of Programming Languages
Basic information
Credits:
: Bachelor Degree in Computer Science 6 CFU (a)
Degree(s):
Bachelor Degree in Computer Science 1st anno curriculum General Compulsory
Language:
Italian
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.
Course Content
- Programming Languages Syntax: Context-Free Grammars, Derivation Trees, Ambiguity
- Programming Languages Semantics: Transition System
- Operational Semantics for +/- Java
- Expressions, Commands, Class Library
Learning Outcomes (Dublin Descriptors)
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.
Prerequisites and Learning Activities
Knowledge of basic math functions and sets, and logical expressions. Basics of object-oriented programming can be acquired with the integrated module Programming Laboratory.
Assessment Methods and Criteria
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.
Textbooks
- R. Barbuti, P. Mancarella e F. Turini, Elementi di Semantica Operazionale 2004/2005. o These notes are available also from the official Web site of the University of Pisa. The notes have been published here only for the convenience of students. The parts of the notes that must be studied go from the beginning to Section 5.4 included (i.e., up to page 48). These notes revisit the previous version "Semantica Operazionale". Students can choose one of the two versions. 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/05. 2004/2005. These notes are available also from the official Web site of the University of Pisa. The notes have been published here only for the convenience of students. The parts of the notes that must be studied go from page 1 to page 5 and from Section 3 (i.e., from page 19) to Section 3.4 included (i.e., up to page 40). https:
- informatica.di.univaq.it/getres.php?resid=746
- R. Barbuti, P. Mancarella e C. Montangero, Semantica Operazionale These notes are available also from the official Web site of the University of Pisa. The notes have been published here only for the convenience of students. The parts of the notes that must be studied go from the beginning to Section 5.3 included (i.e., up to page 39). These notes have been revisited by the next version "Elementi di Semantica Operazionale". Students can choose one of the two versions. https:
- informatica.di.univaq.it/getres.php?resid=747
- M. Autili, P. Inverardi, Semantica Operazionale di +/- Java - 03 Dicembre 2010 2010. This version (dated December 3rd, 2010) revisits the version dated January 10th, 2010. This version must be considered as the official version to be adopted, and all its contents are part of the course programme. http://informatica.di.univaq.it/getres.php?resid=1053
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: 02 novembre 2016, 09:54