INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING I
- Academic year
- 2025/2026 Syllabus of previous years
- Official course title
- INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING I
- Course code
- FM0641 (AF:574180 AR:323023)
- Teaching language
- English
- Modality
- Blended (on campus and online classes)
- ECTS credits
- 6
- Degree level
- Master's Degree Programme (DM270)
- Academic Discipline
- INF/01
- Period
- 1st Term
- Where
- VENEZIA
- Moodle
- Go to Moodle page
Contribution of the course to the overall degree programme goals
Expected learning outcomes
By the end of the course, students will be able to:
- Understand basic concepts of computer science and programming;
- Analyze problems and design computational solutions;
- Write and read simple Python programs using fundamental data structures and functions;
Pre-requirements
Contents
What computer science is
How computing devices work: input, processing, output
Hardware vs software
What programming languages are and what they are used for
2. Introduction to Problem Solving and Computational Thinking
Problem solving and algorithms
Writing a program: pseudocode and flowcharts
Introduction to the programming environment (Google Colaboratory)
3. Data Structures in Python
Simple data types: numbers, strings
Compound data types: lists, dictionaries, tuples
Basic operations and data manipulation
4. Interacting with Data Structures
Conditionals and loops (if, while, for)
Iterators and list comprehensions
Functions, modules, and packages
Introduction to libraries for data handling in digital humanities
Referral texts
Conceptual Programming with Python, 1st Edition. Thorsten Altenkirch and Isaac Triguero, University of Nottingham.
Think Python 2nd Edition by Allen B. Downey
Assessment methods
Students who are enrolled only in Module 1 (SCIENZE ARCHIVISTICHE E BIBLIOTECONOMICHE) will complete coursework and take the exam related exclusively to the content of Module 1.
The exam for Digital and Public Humanities students of Modules 1 and 2 is a single 12-credit exam, graded on a scale of 30, with 18 as the minimum passing grade.
The written exam is primarily based on programming exercises that reflect the topics and activities covered throughout the two course modules. It will be conducted using students’ personal computers and the programming environment adopted during the course (Google Colaboratory).
Type of exam
The lecturer has a duty to ensure that the rules regarding the authenticity and originality of exam tests and papers are respected. Therefore, if there is suspicion of irregular conduct, an additional assessment may be conducted, which could differ from the original exam description.
Grading scale
- Grade below 18/30: Exam not passed: Insufficient knowledge and understanding of the course topics; inadequate ability to apply knowledge in solving programming exercises.
- Grades in the range 18–22/30: Sufficient: Sufficient knowledge and understanding of the topics covered in the syllabus; basic level of participation in class and home activities; correct but limited ability to complete programming exercises.
- Grades in the range 23–25/30: Fair/Satisfactory: Fair knowledge and understanding of the course topics; decent participation and commitment in class and home activities; adequate ability to solve programming exercises, with minor inaccuracies.
- Grades in the range 26–28/30: Good: Good knowledge and understanding of the topics covered in the syllabus; good level of participation and completion of class and home activities; correct and efficient resolution of programming exercises.
- Grades in the range 29–30/30 cum laude: Very Good / Excellent: In-depth and autonomous knowledge and understanding of the course topics; excellent participation in class and home activities; strong mastery in solving programming exercises, including more complex tasks or non-standard variations.
Teaching methods
The course will use tools available in Moodle (chat, wiki, workshop, peer-review) and other complementary online services.
Use of interactive tool for sharing data and snippets of code (Google Colaboratory)
Further information
2030 Agenda for Sustainable Development Goals
This subject deals with topics related to the macro-area "Human capital, health, education" and contributes to the achievement of one or more goals of U. N. Agenda for Sustainable Development