30410 - FUNDAMENTALS OF COMPUTER PROGRAMMING
BEMACS
Department of Decision Sciences
Course taught in English
Go to class group/s: 25
Course Director:
CARLO BALDASSI
CARLO BALDASSI
Course Objectives
After Fundamentals of Computer Science 1, this course provides students with further mathematical tools in the theory of algorithms, focusing on mathematical programming, optimization and sampling.
As in Fundamentals of Computer Science 1, students continue to learn Python programming, with a special focus on numerical and scientific libraries, essential for the implementation of the algorithms discussed in the theoretical part of the course.
As in Fundamentals of Computer Science 1, students continue to learn Python programming, with a special focus on numerical and scientific libraries, essential for the implementation of the algorithms discussed in the theoretical part of the course.
Intended Learning Outcomes
Course Content Summary
- Mathematical Programming: Data structures, Dynamic programming, Linear programming.
- Optimization: general theory and some examples (chosen from Graph theory, Matching problems, etc.).
- Randomized algorithms: Sampling & Optimization.
- Python Numerical and scientific libraries (Numpy, Scipy, Matplotlib, etc.).
Teaching methods
Assessment methods
Detailed Description of Assessment Methods
The final mark is the sum of partial marks, obtained through:
30 cum laude is obtained with 31 points or more.
The exams is held in the computer classrooms, and mostly consist in programming tasks.
- 2 partial written exams.
- Ageneral written exam.
30 cum laude is obtained with 31 points or more.
The exams is held in the computer classrooms, and mostly consist in programming tasks.
Textbooks
- T.H. CORMEN, C.E. LEISERSON, R.L. RIVEST, et al., Introduction to Algorithms, MIT, 3rd edition, selected chapters.
- A.B. DOWNEY, Think Python, O'Reilly Media.
- Handouts.
Prerequisites
Basic programming skills, basic knowledge of the fundamental features of Python, fundamental analysis, fundamental statistics.
Last change 13/06/2017 14:42