30539 - COMPUTER SCIENCE - MODULE 1 (INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING)
Course offered to incoming exchange students
Department of Computing Sciences
EMMANUELA ORSINI
Mission & Content Summary
MISSION
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
- Principles of functional programming
Intended Learning Outcomes (ILO)
KNOWLEDGE AND UNDERSTANDING
- 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
- Develop basic C and Python programs
- Design basic algorithms
- Create simple classes with an object-oriented programming approach
Teaching methods
- Face-to-face lectures
- Online lectures
- Exercises (exercises, database, software etc.)
DETAILS
- Online lectures: short videos consisting of slides, diagrams and live-coding that demonstrate the syntax and concepts of the C and Python programming languages and the basic data structures and programming paradigms
- Exercises: Online exercises on a dedicated coding platform; also demos and general discussions with the instructors and the TAs
Assessment methods
Continuous assessment | Partial exams | General exam | |
---|---|---|---|
|
x | x |
ATTENDING AND NOT ATTENDING STUDENTS
The continuous assessment will involve programming exercises given twice through an online platform with automatic grading. The continuous assessment will account for 50% of the final grade.
For the first two exams after the end of the course (winter exam session), the students will have the option to cumulate the points obtained from the continuous assessment with a reduced final exam, which will give the remaining 50% of the final grade. The reduced exam will include both C and Python exercises.
Alternatively, the students can opt to do a full final exam for the whole 31 points (in which case the grades of the continuous assessment are discarded). The final exam will have a C and a Python part. The passing threshold is 18, there is no threshold for the individual parts.
Teaching materials
ATTENDING AND NOT ATTENDING STUDENTS
- Textbook for C: "C Programming Language", Prentice Hall, by B. Kernighan and D. Ritchie
- Textbook for Python: "Think Python 2e", O’Reilly Media (http://greenteapress.com/wp/think-python-2e/), by A.B. Downey