Main components of computer hardware: CPU, data storage, I/O devices. Boolean algebra and its application in the design of digital circuits. Numeration systems and binary arithmetic. Analysis of a problem and determination of a solving algorithm. Programming languages and coding of instructions and data. Introduction to C programming: data and instructions, I/O functions, control statements, arrays and strings; functions; pointers. Laboratory exercises.
- D. Sciuto, G. Buonanno, L. Mari, Introduzione ai sistemi informatici, McGraw Hill.
- K. N. King, Programmazione in C, Apogeo.
- L. M. Barone, E. Marinari, G. Organtini, F. Ricci-Tersenghi, Programmazione Scientifica, Pearson Education
Learning Objectives
The course aims to provide some basic concepts of computer science, paying particular attention on programming. At the end of the course, the student will acquire language, methods and techniques allowing him to understand and solve easy computer science problems.
Prerequisites
Courses to be used as requirements (required and/or recommended):
Required coureses: None.
Recommended courses: None.
Teaching Methods
CFU: 6
Total hours of the course (including the time spent in attending lectures, seminars, private study, examinations, etc...): 150
Contact hours for: Lectures (hours): 24
Further information
Leonardo Lanzi
Office hours: once per week during the course, by appointment during the rest of the year.
Dipartimento di Fisica e Astronomia, Via G. Sansone 1, 50019, Sesto Fiorentino (FI), tel. +39 055 4572053.
Email:leonardo.lanzi@unifi.it
Simone Landi
By appointment contacting the professor by e-mail or phone call.
Dipartimento di Fisica e Astronomia,
Sezione di Astronomia e Scienza dello Spazio
Largo E. Fermi 2, 50125 Firenze
Tel: +39 055 205 5224
Email: simone.landi@unifi.it
Website:
e-l.unifi.it
Type of Assessment
Written and laboratory test
Course program
Introduction to information processing and to the intuitive notion of algorithm. Main component of computer hardware: CPU, primary and secondary storage, I/O devices.
Introduction to computer architecture: theory of Boolean algebra, and its use in the design of digital circuits. Numeration systems and binary arithmetic. Analysis of a problem and determination of a solving algorithm. Programming languages and coding of instructions and data. Introduction to programming in C: data and instructions; I/O functions; control statements; arrays and strings; functions; pointers. Laboratory exercises.