Insegnamento a.a. 2025-2026

30539 - COMPUTER SCIENCE - MODULE 1 (INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING)

Department of Computing Sciences

code 30539 and code 30540 ‘Computer Science - Module 2 (Computing Theory and Algorithms)’ are respectively the first and the second module of the course code 30538 ‘Computer Science’

Class timetable
Exam timetable

Course taught in English
Go to class group/s: 27
BAI (8 credits - I sem. - OB  |  INF/01)
Course Director:
FABRIZIO IOZZI

Classes: 27 (I sem.)
Instructors:
Class 27: FABRIZIO IOZZI


Mission & Content Summary

MISSION

Scope of the course is to provide the basic methodological and conceptual tools which are instrumental for algorithmic thinking and computer programming, using the C and Python programming languages as references. The course sets the basis for the programming knowledge which will be extensively applied in future courses within the education program..

CONTENT SUMMARY

  • Introduction to computer architecture and programming languages;
  • introduction to C
  • Basic algorithmic constructs
  • Basic data structures
  • The Python Programming Language
  • Basics of object-oriented programming and numerical libraries

Intended Learning Outcomes (ILO)

KNOWLEDGE AND UNDERSTANDING

At the end of the course student will be able to...
  • Describe the basics of the modern computer architecture and operating systems
  • Summarize how most common imperative programming languages work, and the difference between compiled and interpreted languages;
  • Describe basic programming in C with a particular reference to pointers.
  • Describe basic algorithms
  • Recognize and apply the object-oriented programming paradigm
  • Know the basics of numerical libraries.

APPLYING KNOWLEDGE AND UNDERSTANDING

At the end of the course student will be able to...
  • Develop basic C programs
  • Develop basic to intermediate Python programs
  • Use Python to transform algorithms from pseudocode into actual code.
  • Create simple classes with an object-oriented programming approach
  • Use numerical libraries

Teaching methods

  • Lectures
  • Practical Exercises
  • Individual works / Assignments

DETAILS

  • Lectures with theory and hands-on sessions. Lectures demonstrate the syntax and concepts of the C and Python programming languages and the basic data structures and programming paradigms
  • Exercises: many exercises are proposed to the class during coding sessions, with the instructors and the TA

Assessment methods

  Continuous assessment Partial exams General exam
  • Written individual exam (traditional/online)
    x
  • Individual Works/ Assignment (report, exercise, presentation, project work etc.)
x    

ATTENDING AND NOT ATTENDING STUDENTS

The exam can be taken in two ways: 

  • a single full written programming test (100% of the final grade)

  • some individual programming assignments during the semester (40% of the final grade) + an end of semester reduced programming test (60% of the final grade) 

 

All tests and assignments consist of programming assignments in C and Python.

 

All programming assignments and exercises test the student's knowledge and understanding of the basic facts about the relevant topics, their ability to write basic C and Python programs, design basic algorithms and create simple classes with an object-oriented programming approach.

 


Teaching materials


ATTENDING AND NOT ATTENDING STUDENTS

 

Last change 25/05/2025 16:59