Skip to Main Content (Press Enter)

Logo UNIPV
  • ×
  • Home
  • Degrees
  • Courses
  • Jobs
  • People
  • Outputs
  • Organizations

UNIFIND
Logo UNIPV

|

UNIFIND

unipv.it
  • ×
  • Home
  • Degrees
  • Courses
  • Jobs
  • People
  • Outputs
  • Organizations
  1. Courses

500655 - PRINCIPLES OF COMPUTER SCIENCE

courses
ID:
500655
Duration (hours):
122
CFU:
12
SSD:
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Year:
2025
  • Overview
  • Syllabus
  • Degrees
  • People

Overview

Date/time interval

Annualità Singola (29/09/2025 - 12/06/2026)

Syllabus

Course Objectives

The course provides students with a basic knowledge of the principles of computer science. Students will be able to understand how a computer works and the hardware and software components that make up information processing systems. Students will also be able to devise solutions to simple computational problems by designing algorithms and data structures. At the end of the course, they will also have acquired the ability to make computer programs written in the Python programming language.

Course Prerequisites

NONE

Teaching Methods

Lectures (hours/year in lecture theatre): 82 Practical class (hours/year in lecture theatre): 0 Practicals / Workshops (hours/year in lab): 25

Assessment Methods

The exam takes place in the lab and is divided in two sections, one for each part of the course. The sections are mutually independent, and each one includes questions and excercises about the topics of the course as well as programming exercises.

Texts

J. Glenn Brookshear, Dennis Brylow. Informatica. Una panoramica generale. 13 Edizione. PEARSON. Allen B. Downey. Think Python: How to Think Like a Computer Scientist. O'Reilly. https://allendowney.github.io/ThinkPython/ Bradley N. Miller, David L. Ranum. Problem Solving With Algorithims and Data Structures Using Python. Franklin Beedle & Assoc. https://runestone.academy/runestone/books/published/pythonds/index.html

Contents

The course is aimed to provide foundations on computer science and programming and is structured in two parts. The first provides an introduction to computer science fundamentals and procedural programming, while the second focuses on object-oriented programming, algorithms, and data structures. The course combines theoretical foundations with practical applications, using Python as the primary programming language. Part I – Foundations of Computer Science and Procedural Programming - Computer architecture: memory devices, input/output devices - Information representation: integers, fractional and negative numbers; fixed- and floating-point representations; encoding of textual and multimedia information - Computer organization: Von Neumann architecture, machine language, instruction execution cycle - Operating systems: main components, processes, multiprogramming and multitasking, process management, system boot - Computer networks and the Internet: fundamentals of networking, protocols, interconnection of networks, inter-process communication, introduction to the World Wide Web, communication security - Database systems: relational model and relational operations - Algorithms: definition, representation, iterative and recursive structures - Programming languages: syntax and semantics, compilers and interpreters - Python programming: variables, expressions, control structures, standard library - Composite data types: strings, lists, tuples, dictionaries, sets Part II – Object-Oriented Programming, Algorithms, and Data Structures - Procedural programming: functions and parameter passing - Object-oriented programming: classes, objects, attributes, methods, inheritance, polymorphism - Advanced programming techniques: exceptions, iterators - Algorithms: correctness and complexity analysis - Recursive algorithms and dynamic programming - Search algorithms: linear search, binary search, hash tables - Sorting algorithms: elementary and recursive methods, algorithm stability - Linear data structures: lists, stacks, queues - Python libraries: complex data types (arrays, data frames) and algebraic data operations - Data management with data frames: searching, extracting, and manipulating data - Data visualization: examples from technical and scientific domains

Course Language

Italian

Degrees

Degrees

INDUSTRIAL ENGINEERING 
Bachelor’s Degree
3 years
No Results Found

People

People

TESSERA DANIELE
AREA MIN. 09 - Ingegneria industriale e dell'informazione
Settore IINF-05/A - Sistemi di elaborazione delle informazioni
Gruppo 09/IINF-05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Professore associato
No Results Found
  • Use of cookies

Powered by VIVO | Designed by Cineca | 26.4.5.0