Overview of Courses

Our courses are designed to teach skills that would be impossible to learn or hard to learn from massive open online courses. By working closely with the students taking his classes at the University of Tokyo, Michal identified many types of gaps in students' knowledge that massive open online courses are unable to fill. We fix this problem the hard way: by a highly individualized approach with close mentorship and by knowledge, skill, and education quality checks throughout the entire program.


Our school covers three different tracks:

The third one, Economics & Data Science, will be launched a bit later than the other two.

Students can certainly follow a particular track of their choice. But our program is much more flexible than that. It is possible for students to pick topics from different tracks that they would like to learn. Or they can follow multiple tracks simultaneously. These students go over overlapping topics just once, not multiple times, of course. When needed, we hold elective specialized lessons that put emphasis on what's most needed for the career path a student has chosen, if such topics would not fit the core curriculum.

Organization and Timing

Each of the tracks consists of four parts:

  1. Essentials level
  2. Extended level
  3. Advanced level
  4. Expert level
Each part is designed to cover most of the topics in the full curriculum, at the appropriate depth level. This makes it convenient for students who wish to take only, say, level 1 or levels 1 and 2. They will not miss an important topic or have gaps in their knowledge. Only the depth of their knowledge and the level of detail will be lower compared to those who complete all four parts of the track. For example, some students may pursue a career in a different field and only need to acquire the most important data skills to be used there. In that case, they may choose to take just a few levels of a particular track. They can complete additional levels later if they find they need more in-depth knowledge.

The material is covered over 12 months at the baseline speed, with each part corresponding to 3 months. If needed, students can proceed at different speeds. If a student has a strong prior background he/she can proceed at a faster pace. If a student does not have much prior knowledge, he/she can proceed at a pace appropriate for him/her. This is possible because of multiple cohorts starting at different times. Most students will not need to switch cohorts during their studies, but we keep this option open. Such an option may be important also for those who need to slow down for other reasons, such as studying for an important exam, having more responsibilities at work, or caring for a child.

Teaching style: concepts and methods

Learning many new concepts or methods can be overwhelming at times. How do we make sure students learn what they need to learn? First of all, by making instruction interactive, we ensure that students pay attention when the material is explained. After that, students need to express in code what they just learned. In this way, we can see immediately whether they missed something really important. Besides that, we use quizzes to see whether students understand the concepts and methods in depth. To prevent forgetting over the long term, we use individually customized spaced repetition.

Teaching style: coding

For every new important concept explained in class, students are asked to write a snippet of code that implements it, even if it's just, say, two lines of code. For every topic, students complete a coding assignment. At the end of each level (each three-month period), students finish a larger project to include in their portfolio.

Core coding tasks are introduced in a gentle manner: only after seeing a demonstration of how to implement a particular type of task in code and after doing something similar collaboratively, are students asked to write their own implementations. Besides that, more adventurously, students have the chance to learn how to explore the unknown, in pair-programming settings or in groups. And yes, that includes the most essential skills of any coder: reading the documentation and googling error messages. For the more advanced parts of the curriculum, groups of students are asked to collaborate on a joint project. Each student writes a different part of what's needed and makes sure it's all compatible with the rest of the code base.

Teaching style: habit formation

Sometimes, learning is hard. It requires a lot of mental effort. We organize the teaching system in a way that "nudges" students into forming good habits. With good habits in place, learning becomes natural, not forced.

Beyond teaching: lifestyle

Too many people make lifestyle mistakes that limit their performance. We strive to achieve optimal performance of students not just by teaching them the curriculum material, but also by introducing to them the latest research on lifestyle-related matters. That includes topics such as exercise, standing vs. sitting, sleep patterns, time-restricted eating, prolonged fasting, magnesium deficiency, inflammation caused by refined sugar, circadian variation in muscle insulin sensitivity, tradeoffs related to insulin-like growth factor 1 (IGF-1), the role low-density lipoprotein (LDL) particle size for atherosclerosis, or the effects of sulforaphane. We discuss results from both human and animal trials, noting their limitations. Our students can then bring up these topics when talking to their physician.

Beyond teaching: emotional support

If a student or anyone else associated with the school gets into a difficult life situation, others are encouraged to provide help and emotional support, and if needed, facilitate finding professional help. Of course, with full respect for the student's privacy.