Course Details for A.Y. 2013/2014
Name:
Laboratorio di Architettura degli Elaboratori / Computer Architectures Lab
Basic information
Credits:
: Laurea in Informatica 6 CFU (b)
Degree(s):
Laurea in Informatica 1° anno curriculum Generale Obbligatorio
Language:
Italian
Course Objectives
Knowledges: intermediate-level notions about imperative programming, memory management techniques, assembly language programming and related technologies, notions about machine languages. Abilities: understanding non-elementary programs written with an imperative programming language, understanding how to realize constructs of a high level programming language with machine language instructions, learning and using the technology of a programming language. Expected behaviours: attention to details in algorithms implementation, attention to program portability and to the respect of standards and rules of programming languages, habit of looking for efficient implementations of algorithms
Course Content
- Structured computed organization, computational models, programming languages and their standards
- Imperative programming with high level languages oriented towards system programming
- Basic and derived data types; data types representation
- Memory management; low-level programming
- Assembly language programming; translation of the main constructs of a high level programming language in an assembly language
- Machine languages; assembly and disassembly processes
Learning Outcomes (Dublin Descriptors)
On successful completion of this course, the student should
- have intermediate-level notions about imperative programming, in-depth knowledge about memory management techniques, assembly language programming and related technologies, notions about machine languages
- be able to interpret non-elementary programs written with an imperative programming language; should be able to implement constructs of a high level programming language with machine language instructions;
be able to interpret technical specifications of high-level programming languages, assembly languages and machine languages
- select, among different ways to implement programs, those leading to better performances
- be able to discuss, with appropriate vocabulary, languages and computer architectures
- be able to use an imperative language oriented towards system programming in subsequent courses about computer architectures; should be able to see links between real computers and computational models as presented in theoretical computer science courses
Prerequisites and Learning Activities
Knowledges: elementary knowledge of imperative programming, basics of computer systems architecture, elementary knowledge of mathematics, reading and understanding English language. Abilities: implementing correctly elementary algorithms, compiling and running simple programs on a computer
Assessment Methods and Criteria
The course grade is determined by a written examination and an oral examination
Textbooks
- Kim N. King, C Programming: a Modern Approach , W.W.Norton & Company. 2008 (second edition). Testo di riferimento http://knking.com/books/c2/index.html
- Andrew S. Tanenbaum, Structured Computer Organization , Prentice Hall. 2005 (fifth edition). Testo consigliato per approfondimenti
- David A. Patterson, John L. Hennessy, Struttura e progetto dei calcolatori , Zanichelli. 2010 (terza edizione, condotta sulla quarta edizione americana). Testo di riferimento
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: 29 marzo 2014, 12:26