Welcome to the

Deep Learning
from Scratch


Offered by Opencampus.sh


EDU @ Opencampus.sh

The Machine Learning Program


I am: Luca
Study/Work Background: Engineering and Computer Vision
Favourite book or movie: Rayuela by Julio Cortázar (book)


You are: name is enough, whatever else is welcome - if you can help with the pronunciation, I would be grateful
Study/Work Background: a bit about your learning background, knowledge or experience
Favourite book or movie: what's yours and what's it about?


  • General Introduction - 25.10
  • Introduction to Deep Learning & NN Basics - 01.11
  • Shallow Neural Networks - 08.11
  • Deep Neural Networks - 15.11
  • Practical Aspects of Deep Learning - 22.11
  • Optimization Algorithms - 29.11
  • Hyperparameter Tuning - 06.12
  • Machine Learning Strategy 1 & 2 - 13.12
  • Neural Networks Architectures | Project Checkpoint - 20.12
  • Bonus: most voted topic - 10.01
  • Presentation of Final Projects, Part I - 17.01
  • Presentation of Final Projects, Part II - 24.01

Neural Networks

The basics about neural network, how we can create our own, and why they can be so simple yet so powerful.


How to deal with vector and matrices in python. Vectorization is an extremely useful resource, that can be used also outside of python.

Shallow or Deep?

What is meant for shallow or deep neural network, what are the differences, and when they make sense.


The magic part about neural networks, how to tune the parameters and choose optimizations algorithms.

Structuring a machine learning project

How to get your project working and how to improve it.

Your own project

Start to get hand-on experience and do your own project.

Starting a Project

Everybody has to make a project

It does not matter the actual outcome of the project, it is about the experience - also not graded

Projects are made in small groups - groups will be made in ~1 month

You have the possibility to choose the groups on your own for a week, then we will proceed to group the remaining people

Finishing a Project

There will be a peer-review process before the holidays

Projects should be published

To complete the project, we ask you to create:

  • A public repository
  • A notebook with working code and explanation/comments
  • A small video/screen recording/presentation.

Present your Project

During the last sessions, each group will present their own project. External guests may be present.

In order to guarantee enough time for everyone, we may split the last session in two sessions. Both are mandatory.

Project Template

Projects Page


  • See you at least once (please keep the camera open)
  • Have fun or at least enjoy the course
  • Participate in the discussion
  • Make some errors
  • Learn something
  • Manage to get a project working


  • During week doing at home the homework, ask question on the Mattermost Chat (3 to 5 hours per week)
  • Every Monday an online session with discussion (1.30 hours)
  • Start a project after 1 month - the project will be additional homework (2 hours per week, or 0 hours every week and the whole night before the deadline)
  • Present your project in the last sessions (~15 minutes per presentation)

Which tools do we use?

Coursera Courses

We will follow these 3 courses:

Python Notebooks
Google Colab

Tutorial with Python — Tips, Tricks, and FAQ

Zoom Sessions

Every Monday at 16.00

1 - Quiz: we start with an ungraded quiz about the last week

2 - Discussion: we discuss shortly about the questions and clarify if anyone has doubts

3 - Open Questions: we prepare some open questions, which you will discuss in small groups (~10/15 minutes) and then one person per group will present the results

4 - Exercises: some participants will be selected, we go through the assignment together and comment the code (the solutions will be provided from us if you do not want to share yours)

Remember: there are no grades, we are in a safe space open to discussions, most of the time there is no right or wrong answer.

How we discuss in small groups?

Zoom has the possibility to create breakout rooms.
This means every person will be automatically assigned to a smaller room where you can freely discuss.
I will try to go around the rooms to help, but I also believe it's nice to encourage discussion between yourself without supervision
At the end of the time, you will automatically return back to the group call and we will discuss together about it.

During the week

Refer to the Gitbook for material and links.

Ask and answer questions in the Deep Learning Channel in the Mattermost Chat
If you did not join the channel, please do or write me and I will add you.

Feel free to contact me anytime on Mattermost or at: luca@opencampus.sh

For the next week