Course 2024-2025 a.y.

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

Department of Computing Sciences

Course taught in English
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
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
  • Introduction to Python
  • Basics of object-oriented programming

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
  • Summarize how most common imperative programming languages work, and the difference between compiled and interpreted languages;
  • Identify basic algorithmic patterns in C and Python
  • Recognize and apply the object-oriented programming paradigm

APPLYING KNOWLEDGE AND UNDERSTANDING

At the end of the course student will be able to...
  • Develop basic C and Python programs
  • Design basic algorithms
  • Create simple classes with an object-oriented programming approach

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 (50% of the final grade) + an end of semester reduced programming test (50% 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 10/07/2024 13:53