FACOLTA' DI INGEGNERIAUniversita' di Pavia
Home
  Teaching > Course1415 > Principles Of Computer Science Translate this page in English
About the Faculty
Orientation
Teaching
Research
Services
Industry partnerships
Mobility Erasmus
Shortcuts
Search in this site
Principles Of Computer Science

2014-15 Academic year

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.

Copyright © Facoltà di Ingegneria - Università di Pavia