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’
Go to class group/s: 27
Course Director:
FABRIZIO IOZZI
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 | |
---|---|---|---|
|
x | ||
|
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
- Textbook for C: TBA
- Textbook for Python: "Think Python 3e", available online at https://allendowney.github.io/ThinkPython/ by A.B. Downey
Last change 10/07/2024 13:53