Skip to main content
MyCourses MyCourses
  • Schools
    School of Arts, Design, and Architecture (ARTS) School of Business (BIZ) School of Chemical Engineering (CHEM) –sGuides for students (CHEM) – Instructions for report writing (CHEM) School of Electrical Engineering (ELEC) School of Engineering (ENG) School of Science (SCI) Language Centre Open University Library Aalto university pedagogical training program UNI (exams) Sandbox
  • Service Links
    MyCourses - Instructions for Teachers - Teacher book your online session with a specialist - Digital tools for teaching - Personal data protection instructions for teachers - Instructions for Students - Workspace for thesis supervision Sisu Student guide Courses.aalto.fi Library Services - Resourcesguides - Imagoa / Open science and images IT Services Campus maps - Search spaces and see opening hours Restaurants in Otaniemi ASU Aalto Student Union Aalto Marketplace
  • ALLWELL?
    Study Skills Support for Studying Starting Point of Wellbeing About AllWell? study well-being questionnaire
  •   ‎(en)‎
      ‎(en)‎   ‎(fi)‎   ‎(sv)‎
  • Toggle Search menu
  • Hi guest! (Log in)

close

Can not find the course?
try also:

  • Sisu
  • Courses.aalto.fi

CS-E4590 - Competitive Programming D, 12.09.2020-17.10.2020

This course space end date is set to 17.10.2020 Search Courses: CS-E4590

  1. Home
  2. Courses
  3. School of Science
  4. department of...
  5. cs-e4590 - co...
 
Syllabus

General

  • General

    General

    CORONAVIRUS UPDATES

    The course will be organized this year 100% online! You can take part in all course activities remotely. The meeting times announced here in MyCourses still hold, but everything is arranged online; please see below for the details. If you are interested in taking part in the course, please register in Oodi as usual, join our Slack workspace, and follow instructions there!

    OVERVIEW

    This is a practical hands-on course that is intended for students who are interested in competitive programming and algorithmic challenges. During this course, you will learn how to solve algorithmic programming challenges, both individually and as a team.

    PREREQUISITES

    Students are expected to have a working knowledge of computer programming, algorithms, and data structures, and preferably some practical experience with C or C++ programming languages. There is a prerequisite test that you will need to solve before the first meeting (see below).

    MEETINGS

    We will meet online every Saturday at noon. The practical arrangements vary from week to week, but a typical meeting program looks like this:

    • 12:15pm–1:00pm: short lecture.
    • 1:00pm–4:00pm: mini-contest.
    • 4:00pm–4:45pm: post-contest wrap-up, discussion.

    In the lecture we will introduce e.g. broadly-applicable algorithm design techniques and programming techniques. The mini-contest will then contain some problems that are related to the topic of the lecture, and they give you an opportunity to immediately apply what you have learned, but there will also be always some problems that are unrelated to the lecture and that will require some creative thinking.

    During the first hour of the mini-contest, you are expected to work on your own, but after the first hour you can get some help from the course staff if you are not making progress with the problems. Once the mini-contest is over, we will then discuss problems and solution ideas together.

    We practice problem-solving both as individuals and in small teams. During the course, you will also take part in NCPC, the Nordic Collegiate Programming Contest (which will also be organized online this year).

    MATERIAL

    We will refer to some parts of the Competitive Programmer's Handbook by Antti Laaksonen. Additional material will be posted on Slack.

    STAFF

    The course is organised by Jukka Suomela and Jan Studený. To contact the course staff, please use our Slack chat if possible.

    REGISTRATION

    Course registration is via Oodi as usual. Once you have registered for the course, please do the following before the first meeting:

    • Join the Slack chat, using your Aalto email address: https://aaltocontests.slack.com/
    • Create a user account in CSES if you do not have one yet: https://cses.fi/register
    • Solve the prerequisite test (see below)

    To make our life easier, we suggest that you set your real name correctly in your Slack profile and CSES profile. However, if you wish to remain anonymous on Slack and/or CSES, it is also possible — you can simply pick a random nickname and leave your real name unspecified.

    PREREQUISITE TEST

    You will need to solve the following prerequisite test on CSES: https://cses.fi/338/list/

    The test is a mini-contest that consists of two tasks. Task A is a trivial task that helps you to learn how to use CSES and how to submit solutions. Task B is a small algorithmic puzzle that will require a little bit of creative thinking. You are free to use C++, Java, or Python in this contest.

    The deadline for solving both tasks is before the first meeting of the course. If you need any help with the prerequisite test (especially if it is a technical problem related to the use of CSES), please feel free to ask on Slack!

    GRADING

    The grading is pass/fail.

    CREDITS

    You will get 2 credits by taking successfully part in at least 5 meetings during period I. Any of the following counts as a successful participation:

    • You solve at least 2 problems during the meeting.
    • You solve at least 1 problem during the meeting and at least 2 additional problems during the following week.

    NCPC counts as one meeting.

    It is possible to get more credits if you continue during period II or participate in the NWERC contest or other programming contests during the autumn. If you are interested in the extended version (3–5 credits) of this course, please contact the course staff well in advance.

    • icon for activity ForumAnnouncements Forum
    • icon for activity ForumGeneral discussion Forum

Course home

Course home

Next section

Materials►
Skip Upcoming events
Upcoming events
Loading There are no upcoming events
Go to calendar...
  • CS-E4590 - Competitive Programming D, 12.09.2020-17.10.2020
  • Sections
  • General
  • Materials
  • Assignments
  • Home
  • Calendar
  • Learner Metrics

Aalto logo

Tuki / Support
  • MyCourses help
  • mycourses(at)aalto.fi
Palvelusta
  • MyCourses rekisteriseloste
  • Tietosuojailmoitus
  • Palvelukuvaus
  • Saavutettavuusseloste
About service
  • MyCourses protection of privacy
  • Privacy notice
  • Service description
  • Accessibility summary
Service
  • MyCourses registerbeskrivining
  • Dataskyddsmeddelande
  • Beskrivining av tjänsten
  • Sammanfattning av tillgängligheten

Hi guest! (Log in)
  • Schools
    • School of Arts, Design, and Architecture (ARTS)
    • School of Business (BIZ)
    • School of Chemical Engineering (CHEM)
    • –sGuides for students (CHEM)
    • – Instructions for report writing (CHEM)
    • School of Electrical Engineering (ELEC)
    • School of Engineering (ENG)
    • School of Science (SCI)
    • Language Centre
    • Open University
    • Library
    • Aalto university pedagogical training program
    • UNI (exams)
    • Sandbox
  • Service Links
    • MyCourses
    • - Instructions for Teachers
    • - Teacher book your online session with a specialist
    • - Digital tools for teaching
    • - Personal data protection instructions for teachers
    • - Instructions for Students
    • - Workspace for thesis supervision
    • Sisu
    • Student guide
    • Courses.aalto.fi
    • Library Services
    • - Resourcesguides
    • - Imagoa / Open science and images
    • IT Services
    • Campus maps
    • - Search spaces and see opening hours
    • Restaurants in Otaniemi
    • ASU Aalto Student Union
    • Aalto Marketplace
  • ALLWELL?
    • Study Skills
    • Support for Studying
    • Starting Point of Wellbeing
    • About AllWell? study well-being questionnaire
  •   ‎(en)‎
    •   ‎(en)‎
    •   ‎(fi)‎
    •   ‎(sv)‎