UPJŠ challenge

  • Home
  • /
  • UPJŠ challenge


In the first weeks of Marathon, challenges mostly involved coding or building apps. In this challenge, the main goal is to work on ideas, undertake some research, surveys, discuss with people at your school: so consulting-style solutions are more welcome than blind implementations of apps without well-though purpose and deep reasoning.

Lectures at high schools

Hack Slovakia (an organisation governing also the Hack Kosice Marathon), together with Pavol Jozef Šafárik University, the sponsor of this challenge, organise the “Lectures at high schools” program connecting high schools with potential external lecturers such as university professors or even skilled university students.

The goal of the program:

Motivate and educate students in the field of IT by providing high-quality education in a friendly and interactive way.


The program organises interesting and interactive lectures in the field of IT at high schools, tackling the following three problems:

  1. Some high school students are bored, the traditional curriculum is not as eye-opening and exciting as it could be, and the topics taught at school are, in practice, often not much related to the students’ future lives

    • The “Lecture” program broadens the knowledge of high-schoolers, grows their curiosity, and makes them excited by delivering an interesting, interactive, non-traditional lecture by an external lecturer
  2. Teachers would like to get some inspiration from an external lecturer as well as better motivate their students with occasional out-of-curriculum classes

    • The program allows high-school teachers to organise a more interesting (or rather different) class than is usually the case or even fill in gaps in the teacher’s timetable.
  3. Potential lecturers would like to talk about the topics that they are passionate about. For example, a university professor might really enjoy making more students interested in his field, or a university student might benefit and improve their soft skill a lot by practising lecturing at high schools.

    • The program allows passionate professors to teach what they are passionate about and spread the word about their team or department. University students and young professionals can get better at teaching and explaining their favourite topics.

How Hack Slovakia lectures work right now

  1. Reach-out: A teacher gets to know about this opportunity (by word of mouth, web search, emails, social media, from students and other sources).

  2. Lecture request: The teacher sends a request for a specific lecture, indicating availability and other constraints (e.g. by submitting a form or sending an email) – the set of available topics is specified on the website.

  3. Matching with lecturer: Hack Slovakia finds a lecturer who can present the requested topic and schedules a specific slot. If it is a larger lecture (e.g. for more classes or the whole school), Hack Slovakia finds a moderator who will help filter and pick questions submitted during the lecture.

  4. Lecture: The scheduled lecture takes place, e.g. via Zoom, Teams, or a similar platform (one covid allows, the lecture will be able to take place in schools in person). Questions are asked at the end, which makes each lecture very unique and even more interesting for the students.

  5. Feedback: After the lecture, the students fill in a feedback form to brainstorm about possible improvements for the future.

    • The students can express their feedback and give really valuable points for improvements (some of them really like the lectures!)
    • The feedback is valuable for the teacher to know how students liked the lecture, and which other topics they would potentially welcome next time
    • The lecturer can improve based on the feedback they got
    • The feedback helps Hack Slovakia steer the program, e.g. change how lectures work, which topics are offered, what should the approach of lecturers towards student be, etc.

Next steps

The program is already running (although in an early stage) under Hack Slovakia. Your task, during this two-week Marathon challenge, is to work with us to improve the concept and take it further!

Closed part

Consider the following example of schools requesting multiple lectures from presenters with a number of constraints.


Your goal is to come up with the most efficient schedule for the following list of requested lectures. Each lecture request is at one school, and the lecture must be delivered by one lecturer who knows the topic. The most efficient schedule is the one in which the date of the last lecture is the earliest possible.

Global constraints

  • All times are given in the CEST timezone
  • Lectures can be scheduled anytime starting on 14 May, during workdays (Mon-Fri), and not outside 7:00-16:00
  • All lectures must start exactly at the beginning of an hour, i.e. 10:00:00
  • The duration of a lecture is always 60min
  • One lecturer can’t have two lectures in one day, unless specified otherwise
  • Lectures will be scheduled online so there’s no need for any breaks in between them. (e.g. one lecturer can end lecture at 10:00 and immediately start another at 10:00)

Available topics

  • Computer graphics
  • Machine learning
  • Cybersecurity

Available lecturers

LecturerWhich topics can presentAvailabilitySpecial constraints
MelvinMachine learning, Computer graphicsMonday to Friday from 9:00 to 14:00Can host multiple lectures per day
KamileComputer graphicsEvery day, but only after 12:00Doesn’t want to lecture in Grammar school, Post street
BobbieCybersecurityAnytime except Mondays
MadelynComputer graphicsAnytime except Tuesdays 12:00 - 18:00Max 1 lecture in any 72 consecutive hours
QuentinCybersecurity, Machine learningMonday and Friday in the morning (8:00 - 12:00)


SchoolSpecial constraints
Grammar school, Post street
Industrial High School, Amos Street
Columbus Grammar school, Piston street
Bilingual grammar school, Rose streetAt most one lecture per day, even if the availability says otherwise

Requests for lectures

IDSchoolTopicPossible dates
1Bilingual grammar school, Rose streetMachine learningMonday 11:00 or Tuesday 10:00
2Bilingual grammar school, Rose streetComputer graphicsWednesday 9:00 or Thursday 10:00
3Bilingual grammar school, Rose streetCybersecurityMonday 11:00 or Friday 9:00
4Columbus Grammar school, Piston streetComputer graphics14.5. 10:00
5Columbus Grammar school, Piston streetComputer graphics19.5. 10:00
6Columbus Grammar school, Piston streetCybersecurity14.5. 10:00
7Columbus Grammar school, Piston streetCybersecurity19.5. 10:00 or 18.5. 9:00
8Columbus Grammar school, Piston streetMachine learning17.5. 9:00
9Columbus Grammar school, Piston streetMachine learning18.5. 9:00
10Grammar school, Post streetCybersecurityThursday morning (8:00 - 12:00)
11Grammar school, Post streetCybersecurityFriday afternoon (12:00 - 15:00)
12Grammar school, Post streetMachine learningTuesday 10:00 or Friday morning (8:00 - 12:00)
13Grammar school, Post streetMachine learningWednesday afternoon (12:00 - 15:00) or Tuesday morning (8:00 - 12:00)
14Grammar school, Post streetComputer graphicsFriday 11:00 or Monday morning (8:00 - 12:00)
15Industrial High School, Amos StreetMachine learning20.5. 10:00 or any Tuesday 8:00
16Industrial High School, Amos StreetComputer graphics20.5. 10:00-14:00 or 14.5. 8:00-10:00

Answer format

Important: For this submission don’t use our Discord bot. You can just send you submission via classic Discord DM to one of the admins on the server, preferably Matej Tarca. We will then evaluate the solution and award you with points.

Evaluation: This closed part is a little bit special. You will be awarded points only for a correct schedule that satisfies all constraints. But these correct schedules can differ. Instead of one correct answer, we decided to reward you for any correct schedule you can come up with based on how quickly you solved the challenge (as was in previous closed parts) and also how optimized your schedule is (date of the last lecture). You will get kilometres only for the first correct schedule you submit.

Submission format: Submissions require two parts:

  1. The date of the last scheduled lecture, in the following form: 2021-05-17T11:00:00+02:00 (the ISO format, the +02:00 at the end means the ‘CEST’ time zone)

  2. A proof of your solution, which is a **csv file** containing the schedule of all lectures, in the following form:

    <lecture request ID>,<lecturer>,<ISO time of lecture>

    for example:


Open part

In the open part, we are looking for specific ideas to improve the concept of “lecturing at schools”.

We expect you to produce a detailed presentation with researched data, a report of your study, or a similar document, in which you:

  1. Suggest three high-level activities that would help the program to succeed
  2. Suggest mechanisms on how to run the activities – how to market them, how to deploy them sustainably, and how to make sure there will be people motivated to do the job.
  3. Describe why the three activities you chose are the most important


  • Impact: In what ways will the world be different after implementing your proposal? How much does your proposal help achieve the goal (to motivate and educate students in the field of IT)?
  • Applicability of the idea in Central Europe
  • Deployability: How easy would it be to actually implement your idea within the already running program
  • Sustainability: Will the program work in 5-years time, too? Will it need external funds?
  • (secondary criterium) Working prototype

For this challenge, a working prototype is only a secondary criterium. That means an idea that is well-though, more detailed and closer to practice might easily win even without a prototype. Solutions trying to solve more than one primary problem will very likely be disadvantaged. During your two weeks, also try to research the problem area: survey high-school students, ask high-school teachers for their opinion on this, or discuss possible improvements with school directors.

Problems you might want to focus on

If your project focuses on more than one of these problems, it is probably too broad and will be disadvantaged in judging. We don’t want all-in-one swiss-army-knife solutions that are barely practical, we want to see one very cool well-though idea about one very specific problem within this program.

The list is not exhaustive, you should be able to invent other problems connected to the program of similar scope. Think of only one problem to solve, but solve it well.

  1. How will teachers know about the program? (currently, around 50 teachers know of the program, out of ~21K teachers of high schools in Slovakia)
  2. How will teachers trust the program? After getting a few early-adopter teachers onboard, what should we do to persuade the mass majority of teachers about the quality of the lectures? Is there anything that teachers need to
  3. With a growing number of lecturers, how can the organisers ensure that new lecturers will also be able to deliver lectures of the same quality?
  4. Once education in Central Europe will again be fully in person, how will we manage to keep up if the lecturers will have to travel every time?
  5. …how will we fund the transportation of lecturers to high schools?
  6. How do we make it easier for students to learn about this program and tell their teachers about it? How can they approach their teachers to ask them to try such a lecture?
  7. How and where to find new lecturers?
  8. What will make the schools want to have more lectures again in the future?
  9. How can we make the lectures more interesting for students?
  10. How can we motivate students to try and experiment, after the lecture, with the technology/program/programming language they learned?
  11. How can we attract role models or recognised speakers to come and deliver one of these lectures at high schools? And should we want these famous people to lecture in this program at all?
  12. How to prevent commercialising of this program? How do we prevent lecturers from using the lectures to overly promote or advertise their own company or product?
  13. What questions should we ask in the feedback form from students? How will these questions help us maximise the impact of the program? Should we collect feedback using questionnaires at all?
  14. How do we ensure that a student will keep submitting feedback on the lectures even after he attended many of the lectures? (currently, the observed probability of a student submitting the feedback form is highest for students who attended such lecture for the first time)
  15. How to schedule lectures in a bulk, while understanding the context of each school? Sometimes, schools send us their very specific instructions: credentials to log into their video calling platform, information about how they run classes, notice about a week when they have holidays, etc. All this context need to be understood before one can schedule a lecture at the school, but transferring the knowledge between organisers is non-trivial.
  16. How do we build personal relationships and trust with teachers, while allowing multiple people to help with scheduling/organising lectures? (we want ideally only one organiser to communicate with a teacher for the communication to be personal; but one organiser alone is not enough to lead communication with multiple teachers at many schools)

Examples of bad projects

Don’t try to work on projects that ‘solve everything’ or reinvent the wheel.

  • An app where lecturers put their preferences, schools requests lectures, organisers schedule the lecture, and much more!

    1. This app tries to solve everything! Such solutions usually take much more engineering effort than you can afford in two weeks before the app is really usable in practice.

    2. This app reinvents the wheel: we already have Google Forms for submitting lecture requests, we already have Google Calendar to schedule lectures, we already have Zoom or Teams to hold the online lecture.

  • Discord bot that somehow connects schools with their lecturers

    1. The idea is very raw and most likely unattainable. Each school has their own platform and there is probably no “Discord for high school teachers” server that we could use. Building such a community and adding many high school teachers is probably not feasible, but you can persuade us otherwise.
  • An automatic scheduler of lectures with a nice UI, calendar capabilities and automatic email reminders.

    1. Reinventing already existing solutions. There are existing online tools to automatically schedule calendar events and send email reminders, no need to do the same.
    2. Again, focusing on too much. If you want to work on “automatic scheduler of lectures”, that’s fine, but then really focus only on the algorithmic part. Your app can be a command-line interface – the UI is not really important if you are solving the ‘scheduling’ problem and your app is here just to demonstrate the algorithm.

Examples of good projects

Usually, the smaller the scope, the better the project.

  • A command-line program to turn a spreadsheet with feedback collected from lectures into a beautiful eye-catching PDF report that can be directly sent to school directors to motivate them to request more lectures

    1. This tackles a very specific problem with a very specific solution – good! Instead of solving all possible problems, all the attention is put onto this PDF report.
    2. It is close to deployable – an organiser of such lectures at high schools, such as Hack Slovakia, could directly use this to produce the reports, maybe with some small changes
  • A detailed proposal for a lecturer-selection program, which divides lecturers into Trainee, Advanced, Pro, based on how many lectures they have delivered and what feedback they received from students and teachers. A survey from 15 high schools in some country in Central Europe could show that a few schools would be willing to pay a fee to get an Advanced or Pro lecturer, and a detailed plan could show how this makes the project sustainable.


The following resources are available to you. We don’t expect you to use them in any particular way, but they may help you get an overall view of the program or discover some interesting problem to solve.

  1. The website (in Slovak) (and English translated version) of the active Lectures program
  2. A subset of anonymised feedback form submissions from students who attended Hack Slovakia lectures: lectures_feedback.csv. In addition to feedback, the database contains some info about each lecture such as topic, anonymised lecturer and moderator names, lecture date, lecture duration, and number of attendees of the lecture.
  3. We, the organisers of the Hack Slovakia lectures program!

This challenge is purposefully open-ended. Our Hack Slovakia team who organises the lectures have already thought about many ideas, so your best might be to talk to us at Discord, and discuss your idea – we will be happy to help, answer questions, guide you in a correct direction, or help you not fall down a rabbit hole. Good luck!