PRINCIPLES OF COMPUTER SCIENCE
Stampa
Enrollment year
2021/2022
Academic year
2021/2022
Regulations
DM270
Academic discipline
ING-INF/05 (DATA PROCESSING SYSTEMS)
Department
DEPARTMENT OF ELECTRICAL,COMPUTER AND BIOMEDICAL ENGINEERING
Course
BIOENGINEERING
Curriculum
PERCORSO COMUNE
Year of study
Period
Annual (27/09/2021 - 17/06/2022)
ECTS
9
Lesson hours
90 lesson hours
Language
Italian
Activity type
WRITTEN TEST
Teacher
LARIZZA CRISTIANA (titolare) - 4 ECTS
LARIZZA CRISTIANA (titolare) - 5 ECTS
Prerequisites
The same required for the subscription to the University courses.
Learning outcomes
The objective of the course is to provide the students with logical principles of the operation and organization of computer systems and the acquisition of methods to exploit their potentials, with particular reference to the study of computer programming techniques. The course includes a description of the functional structure of the major hardware and software modules in a computer system. Moreover, the basic tools and methods for programming a computer are provided as essential educational content and basis of the required experimental activity. It is believed that, once passed the exam, the student has acquired sufficient skills to easily learn other subjects of his curriculum and, on the other hand, has identified the topics that should be independently investigated to acquire proficiencies not provided from their study plan. In particular, the student will gain the necessary know-how to analyse problems of limited complexity, define algorithmic solutions and code them using the C language.
Course contents
Introductory concepts

Definition of concepts, technical terms and fields of application of electronic computers.

Computer architecture

Description of the functional structure of computers and their modules, including the operation logic of the processors and the organization of the memory devices.

Information coding

Discussion of several techniques of digital representation of numerical information, text, graphics. Introduction to the Boolean algebra.

Operating systems

Presentation of the main features of operating systems. Classification of the various types of existing operating systems and their main features.

Programming tools

Description of the main functionalities of the tools for software development. Introduction to basic UNIX commands for file system manipulation. Programming language translators: main features and comparison between compilers and interpreters.

Data structures

Introduction to the most relevant data structures, their abstract definition and actual implementation.

Programming principles

Discussion on the principles of computers programming, including problem formalization, algorithms design based on structured programming methods and coding; introduction to criteria for analysing, testing, and validating programs. The objective is to provide students with operational capacity in software development and awareness of the problems of good documentation and software reliability.

C language programming

The complete description of the C language is presented: data types, variables, assignment statements, loops, and functions are described in detail with some examples. The theoretical activity is integrated by practical exercises in the computer laboratory dealing with problems of numerical computation and data manipulation. The goal is to provide skills in medium difficulty C programs implementation.
Teaching methods
Lectures (hours/year in lecture theatre): 53
Practical class (hours/year in lecture theatre): 45
Practicals / Workshops (hours/year in lecture theatre): 26
Reccomended or required readings
http://elearning2.unipv.it/ingegneria/course/view.php?id=29

J. Glenn Brookshear. INFORMATICA una panoramica generale. Pearson - Addison Wesley. 9° edizione, 11/2006..

P. Tosoratti. Introduzione all’Informatica. Casa Editrice Ambrosiana, 1998, Milano.

Tullio Facchinetti, Cristiana Larizza, Alessandro Rubini. Programmare in C. Concetti di base e tecniche avanzate. Maggioli, 2015.

Brian W. Kernighan, Dennis M. Ritchie. Linguaggio C. Seconda Edizione - Jackson Libri, 1989.
Assessment methods
The exam includes a written test about theory topics and a practical test to be performed on the computers of the classrooms of Computer Science. The evaluation of the written test is the arithmetic average of the scores obtained in the individual questions. The practical test requires the implementation of an algorithm for a proposed problem and its encoding using the C language. The achievement of a sufficient score in both tests will allow a global sufficient score in the exam. The overall score of the exam is the arithmetic average of the scores obtained in the written and practical tests.
Further information
The Professor takes appointments (Department of Electrical, Computer and Biomedical Engineering, lab. UPIT, Via Ferrata 5, e-mail: cristiana.larizza@unipv.it).
Sustainable development goals - Agenda 2030