Topic outline

  • Course program

  • Algorithms and datastructures

  • Formal languages

  • Computer use


    This class will tackle three broad topics to help you be more efficient in using a computer especially as a computer scientist:
    • Digital life (mails, calendars, backups, online presence, security)
    • Tools for computer scientists (LaTeX, Git, Zotero, Inkscape, Jupyter notebooks...)
    • Good practices for programming (tests, comments, virtualenv, etc.)


    More exercises (if you have time)

    • Create a repository on Télécom's gitlab (use the sign-in with Shibboleth and use your Télécom's account
    • Install a password manager (e.g. KeepassX)
    • Start doing backups
    • Make sure your disk is encrypted (if not consider doing it someday)
    • Write yourself a résumé using LaTeX (see for templates
    • Create yourself a personal webpage
  • Statistics and probability

    We will cover some basics of statistics and probabilities for machine learning and data science, such as:

    • How to treat new data,
    • How to get a descriptive overview of it
    • Probabilistic intuitions and the Bayes theorem
    • Underfitting, overfitting and the bias variance trade-off
    • Real-world case studies

    Machine learning systems and real-world datasets can fool us without a grounded understanding of these basic concepts, and so we will give particular attention to describe and identify the ways this can be avoided.

    There is no prerequisite beyond high school mathematics.

  • Introduction to Logic

    Introduction to propositional and first-order logic

    • Propositional logic (syntax, valuations, truth tables, proof, satisfaction)
    • Predicate logic (syntax, semantics, models, validity, proof, completeness)