Fall 2015

Introduction to Algorithmic Problem Solving and Programming Contests (1-5 cr)

This course is meant primarily for School of Science students with some Computer Science background.

We are interested in following groups:

math proficient students (especially with background in math olympics/math competitions) willing to learn programming and algorithmic techniques

computer science students willing to learn problem solving techniques

all students willing to participate in algorithmic competitions

Prerequisites:

basic programming in ANY of C, C++, Java, Pascal, Python

basic algorithms / data structures knowledge

algorithm analysis (big-O notation)

Learning objectives / aim of the course:

Proficiency in solving algorithmic problems.

Programming competition related skills:

understanding the problem statement (problem decomposition),

efficient implementation,

efficient testing,

efficient debugging,

teamwork.

Preparing for programming competitions:

NCPC (Nordic Collegiate Programming Contest),

NWERC (North West European Regional Contest),

hopefully ICPC World Finals.

Enroll to the course by sending an email with topic "T-106.6200 registration" to lecturers Przemysław Uznański (przemyslaw.uznanski at aalto.fi) & Ari Korhonen (ari.korhonen at aalto.fi). **Register before Tuesday Feb 24th.**

You must provide your

full name

student number

major topic (or study program) and study background (the relevant courses you have done)

experience on the following topics (on a level 'never heard'/‘I have heard about it’/’I have passed a course’):

sorting,

priority queues,

hashing,

balanced search trees,

bin packing,

dynamic programming,

greedy algorithms,

graphs:

representations (Adjacency List/Matrix),

searching in graphs (DFS, BFS),

advanced topics (MST, SSSP, MFP)

email address

in the registration email.

The course consists of lectures and assignments. To pass the course you must pass the assignments. The grading scale will be pass/fail.

6.3.2015 A106 15-16 T7 16-18

13.3.2015 T7 15-18

20.3.2015 T7 15-18

27.3.2015 A106 15-16 27.3.2015 T7 16-18~~24.4.2015 T7 15-18 (no meeting, but online contest)~~ cancelled

8.5.2015 T7 15-18

15.5.2015 T7 15-18

22.5.2015 T7 15-18

Exceptions:

3.4.2015 (Easter)

10.4.2015 (Exam week?)

1.5.2015 (Vappu)

Assignments:

Examples of problems:

ideas for the rest of the course:

dynamic programming (memoization, recursion)

handling STL

efficient graph handling

geometric problems

text problems

This is a special course and there is a lot of material available, but no textbook that is used as the basis of the course.

Supplementary material is referred to on the course slides.

Similar courses on the web: