ML 2023#

Jupyter-book demo#

To introduce the capabilities of Jupyter book along with some methodological ideas I wrote the e_book. For now it consists only of one chapter devoted to the Euler number.

The main features:

  • interactive quizzes (taken “as is” from here);

  • mix of narrative and executable content as it is usually done via markdown and code cells in Jupyter notebook;

  • pictures and visualizations (sometimes interactive);

  • available online on any device.

Hopefully, during this course we’ll write something similar about machine learning.

Course assessment#

Activity

Final scores

Attendance

\(10\%\)

Practice

\(10\%\)

Midterm

\(10\%\)

Jupyter book project

\(30\%\)

Final exam

\(40\%\)

Project team construction#

Successive completion of the project requires effective team collaboration. The team should consist of several students with different roles:

  • technical writer

  • author of executable content

  • designer of interactive plots

  • designer of quizzes

  • the most useless… project manager

The goal of every team is to create a nicely looking section in the ML book.

Technical writer#

  • writes clear and neat narrative content in Markdown

  • looks for consistency with all other types of content

  • translates some Russian texts into English if necessary

Author of executable content#

  • writes executable content in Jupyter notebook

  • suggests ideas of python calculations and static plots which would enrich the narrative content

  • searches for existing datasets and visualizations

  • tries different models of machine learning

Designer of interactive plots#

  • uses plotly or pywidgets or something else to create interactive visualizations

  • searches for places where it would be quite beneficial to insert interactive elements

  • suggests ideas of quizzes which could be solved by investigating of interactive content

Designer of quizzes#

  • searches for ideas of single/multiple choice and numeric quizzes

  • writes quizzes using Jupyterquiz in a separate Jupyter notebook

  • encodes the quiz bodies and inserts them into main content

Project manager#

  • tracks the progress of each member of the team

  • checks for consistency of all types of content, notations and cross-references to other parts of the book

  • searches for different sources of information

  • communicates with PMs of teams which work on related topics

  • communicates with BDFL

The main tool#

../_images/chatGPT.png

Tips#

  • Don’t copypaste from chatGPT, it can serve just as a starting point

  • Study carefully the documentation of Jupyter book and jupyterquiz; pay special attention to the things relevant to your role in the team

  • The Jupyter book ecosystem allows to produce diverse content, make advantage of this as much as you can (see e_book for a baseline)

  • As a starting point, clone the ML book repo and check that you can build the book locally

  • Clone only one branch of ML book repo which corresponds to your section: git clone -b BRANCH_NAME --single-branch https://github.com/Fedmug/kbtu-ml-book.git BRANCH_NAME

  • Try to investigate all possible sources of information about your topic, especially those from ML resources

  • Think about links between parts of your section or to some other sections and chapters

  • Keep in mind that you are creating content for newbies