Make Programming Assignments Great Again


Николай Вяххи




Санкт-Петербург / Москва


Stepik has collected more than 6M code submissions over the last years. Two most popular courses have 1.2M and 1M submissions each, with max 70K submission on a single assignment. Every day we grade 10000+ new code submissions.

You will add new language-dependent features to Stepik which will make programming assignments a more powerful learning tool.

Some ideas & examples:

  • Estimate code readability using ABC Score (see)
  • Generate hints based on diff with previous correct submissions (see)
  • Cluster submissions based on "word embeddings"-like technique for ASTs (based on)

Презентация 26 апреля 2017



  • Python – primary language (use and analyze)
  • C++ and Java – secondary languages (analyze)
  • Basics of Programming Language Theory (e.g. how to build AST from the source code, how to compare trees)
  • Technical English (to read papers)
  • 1+ completed course on Stepik
  • Results oriented (e.g. use as many third-party libs as possible instead of re-implementing the wheel)
  • Ability to work independently

Будет плюсом

  • Team collaboration tools – git, issue tracking, continuous integration, etc.
  • Machine Learning
  • Compilers Design
  • Have publications
Презентация проекта 31 августа 2017