COMPUTER SCIENCE FOR CULTURAL HERITAGE

Teaching in italian
COMPUTER SCIENCE FOR CULTURAL HERITAGE
Teaching
COMPUTER SCIENCE FOR CULTURAL HERITAGE
Subject area
ING-INF/05
Reference degree course
DIGITAL HERITAGE
Course type
Master's Degree
Credits
6.0
Teaching hours
Frontal Hours: 30.0
Academic year
2025/2026
Year taught
2025/2026
Course year
1
Language
ENGLISH
Curriculum
PERCORSO COMUNE
Reference professor for teaching
DI BICCARI CARLA

Teaching description

None

Theoretical part_
1. Definition of Model. Data-Information-Knowledge.Definition of informatics, algorithms, computers. Definition of computer program. The Von Neumann machine architecture: main characteristics, CPU, registers, ALU, buses, Main Memory, peripherals. Fetch-Decode-Execute cycle. The Von Neumann bottleneck.

2.Positional representation/base representation of numbers. Numbers in base 2/ binary representation of integers (positive and negative), overflow. Bit, bytes. Definition of programming language. Machine language,-low level language, high level languages. Compiled vs interpreted languages.

3.Performance measures. Computer performance as a function of the execution time. System CPU time vs User CPU time. Clock and clock cycles. 

4.CPU and Cache memory. Memory hierarchy. Cache hit and miss. Single core vs multiple core architectures. CPU vs GPU. Volatile memories. RAM: SRAM, DRAM and their fundamental hardware components. Basic structure of a MOSFET. 

5.Non-volatile memories. ROM, PROM, EPROM EEPROM, Flash. Floating Gate –MOSFET. 

6.Solid States Drive, HDD. The OS: Basic components. Program vs process.  
7.API, Virtualization concept, Virtual Machines and associated Use cases.

8.The Process Manager/Scheduler component in the OS, idle time, process context, multiprogramming, process states. 

9.The os: the memory management component. Issues with continuos memory management.

 

Python.

1.Introduction to python. Python virtual machine.Installing python. Executing python code from cmd/shell. 

Check installed version. Run .py from cmd/shell. 

Variables: declaration and assignement syntax. 

Variables: forbidden naming, naming best practices. 

2. Fundamental data types: int, string, float, bool. Oprations with integers, operations with floats. Operations with strings. 

print() 

type() 

3. Comparison operators, if conditionals. Lists and tuples. 

4. For cycle, while cycle, range() method, introduction to functions, parameters and arguments. 
Functions vs methods. 

5. Introduction to sorting algorithms.Bubble sort.
6. Introduction to object oriented programming: Classes and Objects in python

Getting starrted with VS Code 

7. Defining classes and objects in python. The constructor method. 

 8. Inheritance in object-oriented programming. Built-in libraries. 
10. Project: first GUI with Tkinter, installing additional libraries with pip, using “requests” to call a simple open web service. 

9. Project: installing a JobScraper application from git-hub. Creating a dataset of scraped social media posts. Pandas and dataframes, matplotlib for a simple plot.  

The course aims at teaching the foundamentals of computer science the students need to get through the other courses in the Digital Heritage Master degreee. 

The first half of each lesson is dedicated to the explanation of theoretical concepts. The second half to the introduction to Python. All lessons can be attended in person or online (real-time streaming)

Oral exam

Teaching materials provided on the official teams channel of the course. 

Semester
First Semester (dal 22/09/2025 al 16/01/2026)

Exam type
Compulsory

Type of assessment
Oral - Final grade

Course timetable
https://easyroom.unisalento.it/Orario

Download teaching card (Apre una nuova finestra)(Apre una nuova finestra)