This course is a pre-term course.
This course aims to introduce the basic concepts in computer science to students, who join the Social Data Science program without sufficient background. This course will introduce mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. It emphasizes the relationship between algorithms and programming and introduces basic performance measures and analysis techniques for these problems. The course is organized as a sequence of short lectures and tutorials.
By the end of the course the student will be able to:
- approach programming challenges with the basic algorithmic techniques
- design effective algorithms for various computational problem
- identify the appropriate data structure for the optimal implementation of a computational problem
- evaluate the computational performance of the implemented algorithmic solution
A students in this course will be evaluated as pass/fail through their performance and homework. Regular class attendance is required to pass the course. Active class participation is highly recommended.