30539 - COMPUTER SCIENCE - MODULE 1 (INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING)
Department of Computing Sciences
Course taught in English
FABRIZIO IOZZI
Mission & Content Summary
MISSION
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
- 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
- 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 | |
|---|---|---|---|
|
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 (30% of the final grade) + an end of semester reduced programming test (70% of the final grade)
The reduced programming test is available only in the first exam session (not in the other three)
All tests and assignments consist of programming assignments and questions 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.
Questions can be of several types: multiple choice, true/false, open-ended, etc.
Teaching materials
ATTENDING AND NOT ATTENDING STUDENTS
- Textbook for C: Lecture Notes
- Textbook for Python: "Think Python 3e", available online at https://allendowney.github.io/ThinkPython/ by A.B. Downey, and Lecture Notes
- Numpy documentation (online)