Explaining neural networks in raw Python:
lectures in Jupiter

Wojciech Broniowski

These lectures were originally given to undergraduate students of computer engineering at the Jan Kochanowski University in Kielce, Poland, and for the Kraków School of Interdisciplinary PhD Studies. They explain the very basic concepts of neural networks at a most elementary level, requiring only very rudimentary knowledge of Python, or actually any programming language. With simplicity in mind, the code for various algorithms of neural networks is written from absolute scratch, i.e. without any use of dedicated higher-level libraries. That way one can follow all the programming steps in an explicit manner.


The text is brief (the pdf printout has ~120 pages including the appendix), so a diligent student can complete the course in a few afternoons!

How to use the book codes

A major advantage of executable books is that the reader may enjoy running the source codes himself, modifying them and playing around. The codes for each chapter, in the form of Jupyter notebooks, can be downloaded by clicking the “arrow-down” icon on the right in the top bar when viewing the book in a browser. A complete set of files is also available from the links given above.

Appendix How to run the book codes explains step-by-step how to proceed with the execution of the codes.


Built with Jupyter Book 2.0 tool set, as part of the ExecutableBookProject.

ISBN: 978-83-962099-0-0 (pdf version)