27311 - Humanistic IT (1)

Academic Year 2025/2026

  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Philosophy (cod. 9216)

    Also valid for First cycle degree programme (L) in Communication Sciences (cod. 5975)

Learning outcomes

At the end of the course the student understands the concept of information and knows the methods of digital representation and the systems of automatic data processing in the field of humanities; he/she possesses theoretical knowledge, methodological skills and techniques to represent and process humanistic data.

Course contents

The course aims to provide students with a basic understanding of computer programming and the tools for encoding, analyzing, and storing texts in digital format. Upon completion, students will have the skills necessary to design, develop, and test a small software system capable of manipulating text using a high-level, object-oriented programming language (i.e., Python).

Contents:

  • fundamental concepts of digital information processing (including integers and floating-point numbers, strings, assignments, variables, libraries, lists and files);

  • basic programming constructs, such as sequential and selective execution, loops, user-defined functions and classes;

  • fundamental principles and techniques of information processing (including conditional and iterative control, string manipulation, and creation and automated processing of text documents).

Students who successfully complete this course will be able to design and implement small (but complete) interactive programs that use basic control structures; drawing also upon object-oriented programming concepts, they'll be able to produce, analyze, modify, and store texts and other resources in digital format.

Readings/Bibliography

Allen B. Downey: “Think Python: How to think like a Computer Scientist”, Green Tea Press, 2015 (Second Ed.).

John Zelle: “Python programming: an introduction to Computer Science”. Franklin, Beedle & Associates Inc., 2010 (Second Ed.)

Charles Dierbach: “Introduction to Computer Science Using Python: a computational problem-solving focus”. John Wiley & Sons, 2013

Teaching methods

The course will consist of face-to-face lectures (2 hours each), complemented each week by 2 hours of hands-on laboratory sessions.

Assessment methods

The assessment will be based on two components:

  • an individual Mini-project” (a small software system whose requirements will be specified during the course) to be submitted on the "Virtuale" pages (HERE), and
  • an oral assessment (in person).

NB: The oral part of the exam cannot be taken without prior submission of the Mini-project.

Students with disabilities or specific learning disorders (DSA) are entitled to special accommodations according to their condition, following evaluation by the University Service for Students with Disabilities and DSA.
Please do not contact the course coordinator directly, but get in touch with the Service to schedule an appointment. The Service will determine which accommodations - if any - are appropriate.

More information available at:
https://site.unibo.it/studenti-con-disabilita-e-dsa/it/per-studenti

Teaching tools

Besides the teaching facilities available in the laboratory, the course will make heavy use of the interactive version of Downey's textbook:

Allen B. Downey, Jeffrey Elkner & Chris Meyers, "How to Think Like a Computer Scientist – Interactive Edition", Green Tea Press, 2002

, available free of cost HERE.

Office hours

See the website of Massimiliano Garagnani