Lecturer:
Cristiana Larizza
Course name: Principles Of Computer Science
Course code: 500655
Degree course: Bioingegneria
Disciplinary field of science: ING-INF/05
L'insegnamento è caratterizzante per: Bioingegneria
University credits: ECTS 9
Course website: n.d.
Specific course objectives
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 programme
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.
Course entry requirements
The same required for the subscription to the University courses.
Course structure and teaching
Lectures (hours/year in lecture theatre): 68
Practical class (hours/year in lecture theatre): 0
Practicals / Workshops (hours/year in lecture theatre): 0
Suggested reading materials
https://elearning2.unipv.it/ingegneria/login/index.php
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. Dalla A alla Z passando per C. Maggioli Editore, 2013.
Brian W. Kernighan, Dennis M. Ritchie. Linguaggio C. Seconda Edizione - Jackson Libri, 1989.
Testing and exams
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.
|