Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
take a look at some of the unique considerations involved when handling sequential time series data -- where values change over time, like the temperature on a particular day, or the number of visitors to your web site. We'll discuss various methodologies for predicting future values in these time series.
begin to teach neural networks to recognize and predict on time series.
Week 1 and 2 of the course Sequences, Time Series and Prediction
complete week 3 and week 4 of the course Sequences, Time Series and Prediction
continue optimizing your final model
complete the tasks in the following notebook:
Frequently Asked Questions
The following two courses are in German:
Einführung in Data Science und maschinelles Lernen
Maschinelles Lernen für die Medizin
All other courses are in English.
Yes, the courses are not overlapping. Feel free to choose all courses you like. Be aware that to complete each course, you have to do a project for each course.
We will be glad to have you with us during the whole week if you have time! However, with our offer growing bigger, here there is a suggestion: please try to take into account the time effort that each course will take (~5 hours per week per course) and select the courses which fits your schedule in the current semester instead of just applying for all the courses. If you are not sure about which one to apply to, contact us or come to the Info Event about the Machine Learning Degree. If courses are sequential, it is usually good practice to take them one semester after the other, not both of them at the same time.
Ask your professors/Prüfungsamt before the courses start and clarify with them whether the course will be recognised or not. At the CAU Kiel the courses are accepted as "Wahlpflichtmodule" via the "Zentrum für Schlüsselqualifikationen". At the FH Kiel and the Muthesius Kunsthochschule Kiel the courses are accepted in many study programs as well. However, each faculty and department has their own rules. So please, check with your local institution.
Once you completed a course and fulfilled the requirements, you will get a certificate from us. This takes up to 4 weeks after the course completion. After you get a certificate from us, you can use this to get the ECTS (for CAU Student this is an automated process). In order to see the ECTS in your profile, it will take some additional time, usually around 2 to 4 weeks more.
Yes, for all courses offered at the moment, it is possible to receive ECTS. However, the number of ECTS granted varies between 2.5 ECTS and 5 ECTS. Please, check the individual course descriptions for the respective ECTS.
We do not give grades for any of the courses on opencampus.sh. You can only pass or fail the requirements of the course to receive ECTS.
We use: - the edu.opencampus.sh Website. You need to have an account there to register for the courses. - the chat.mattermost.sh Mattermost Chat tool. You need to have an account there to communicate and see the material. You can use an app if you prefer to check it on your phone or on your computer. Otherwise it works fine in the browser. - the Zoom tool for online conference. You do not need an account, you can join from your browser. You can also download an app on your pc/computer - most of the courses (the one which are valid 5 ECTS) use contents from the Coursera platform. You need an account there to see the contents.
Unfortunately, not yet. We are working on this. For the moment, please create an account on all the platform you need. Using the same e-mail adress is probably the best option also for us to be sure to be able to help you quickly in case of any trouble.
All students which needs to get access to the Coursera contents because of their course will receive an invitation to the Opencampu.sh Unlimited program on Coursera, which will allow you to get access to all courses on the Coursera plaftorm for free. You will be invited via mail and you need to confirm. Please check the spam. In case you used a different e-mail account on Coursera, contact your course teacher and you will be added manually.
I am confused and not sure about which course I should choose.
On our EDU-Platform each course and its contents is described but often it will still be difficult to decide what's the best course for your ability level and your needs. Below we therefore included a quick comparison on the courses, which might provide some additional help.
However, if you have any doubt, we strongly recommend you to
attend the Machine Learning Degree info event that is held before the start of each semester, where you get in-depth information on the different courses.
This semester the event will take place on March, the 22nd.
Roughly, the difficulty level of the courses is increasing from left to right.
english version below
Der Einführungskurs ist offen für alle. Du wirst abgeholt wo Du bist und begleitet, bis Du in der Lage bist, dein eigenes Projekt durchzuführen. Nach Abschluss des Kurses stehen viele Türen für Dich offen und Du hast die Möglichkeit, Dich in unterschiedliche Richtungen weiter fortzubilden. Wenn Du allerdings schon einmal programmiert hast und ein bisschen mit Daten umgehen kannst, bist du eigentlich schon bereit für einen der nächsten Kurse.
The introductory course is open to all. However, the course is in German and you must be fluent in German to take part since the course is very interactive, including a lot of team communication. You will be picked up where you are and accompanied until you are able to do your own project. After completion of the course many doors will be open for you and you will have the opportunity to continue your education in different directions. However, if you have already done some programming and know a little bit about data, you are already ready for one of the next courses.
This course will give you an overview of neural network and their applications in different fields e.g. working with images, texts, or time series. It is a very hands-on approach and you will get a lot of working examples within the course. It is a perfect start for your project. This course will not stress the underlying principles of machine/deep learning but focus on the application.
As an example of a good fit for the course, You already have some programming knowledge and are interested in getting hands-on knowledge in how to train and use machine learning algorithms.
The course Deep Learning from Scratch will give you an overview of the basic principles behind machine learning. How and why they work, and you will write your own code in python and implement deep learning algorithms from scratch, thus reaching a deeper understanding of how things work and a solid knowledge for your further projects. Since this is a rather technical course you are required to have done some intermediate programming and also know about matrix algebra. You can still learn this along the course but it will take you a lot more time to keep up with the course.
For the Advanced Deep Learning course you should have already completed the Deep Learning from Scratch course or have a comparable level of knowledge.
As an example of a good fit for the Deep Learning from Scratch course, You have knowledge about programming and linear algebra (working with vectors and matrices) and are interested in getting in-depth knowledge on how to implement machine learning algorithms.
Each semester, we ususally have different special issue courses on topics like natural language processing or generative adversarial networks.
For these courses you typically should already have a basic understanding of machine learning. However, please check the course descriptions and also do not hesitate to contact the course guide for any questions. In general these courses are a great opportunity to connect with others that are interested in the same issues as you.
As an example of a good fit for the course, You already have some knowledge about Machine Learning (ideally you followed one of our previous courses) and are interested in learning more about the particular field of Machine Learning.
get an introduction to the following topics:
What is data science?
R vs. Python vs. SPSS vs. ...
Jupyter Notebooks
By getting accepted for the degree program you get:
Preferred access to all our courses (for organizational reasons you still have to do the application process for each course)
Access to a FlexDesk in the Starterkitchen coworking space and the coworking areas in the Kosmos and at the Waterkant
Discounted or preferred access to events like the Waterkant Festival
Access to special network events, for example, to meet potential employers working in the field of machine learning
Typically, we will accept new participants only at the beginning of each semester though. If you are already participating in one of our machine learning courses, you can also get accepted to the program during the semester though. Simply write us an email at team@opencampus.sh, and we will check your application. Also before the start of each semester, we have a special information event, in which we will provide additional details on the program as well as on the specific courses offered in the upcoming semester.
The program comprises four mandatory elements. To successfully obtain the degree, you must complete at least one element per semester, that is, the maximum time to complete the degree is four semesters. However, we recommend completing it in two or three semesters. If you completed an element of the program before the degree was offered, we will still accept these as part of the degree.
The mandatory elements to obtain the degree are:
Completion of 3 or more of the machine learning courses at opencampus.sh with a minimum of 12.5 ECTS in total. (Check the current list of available course here.)
Successful participation in at least one of the following events:
Prototyping Week (participating with an AI project or startup)
Coding.Waterkant coding camp
All participants are expected to pursue a certificate of achievement or ECTS credits, that is to fulfill the following conditions to complete the course:
At the Course Kick-Off event from opencampus.sh you will get an intro to the opencampus.sh community, and you will meet your course instructor, can ask questions about the participation in the course, and get helpful information to prepare for the start of the course. The attendance at the Kick-Off is not mandatory but recommended for all participants.
cover the following topics:
Versioning with Git in a Team
Important Issues to Consider for Feature Engineering
Current ML Developments
cover the following topics:
Procedure for training machine learning algorithms
Definition of linear regression
Cost functions
Optimization functions
Testing your model on Kaggle
DataCamp Tutorial on Linear Regression
learn about different libraries for implementing neural nets
review example notebooks for the data preparation and training of neural net using Pandas and TensorFlow
get to know additional types of layers in neural nets
Additional (12 Minuten) on neural nets
for a neural net
for training a neural net
For the presentation, generate predictions for the Kaggle competition test dataset using your best model and upload them there!
Prepare an 8 to 10-minute presentation including:
Your team members’ names on the title slide
List and brief description of self-created variables
Bar charts with confidence intervals for two self-created variables
Linear model optimization: model equation and adjusted R²
Type of missing value imputation used
Neural network optimization:
Source code defining the neural network
Loss function plots for training and validation sets
MAPE scores for the overall validation set and each product group
Highlight “Worst Fail” and “Best Improvement” cases
Each team member should have a part in the presentation!
Document your work in the project repository, completing the README files as specified.
One team member must upload the main README to the EduHub platform as described .
watch the videos Neural Networks from the Ground Up (19 minutes) and Gradient Descent - How Neural Networks Learn (21 minutes) It will help you getting familiar with the vocabulary and basic concepts in machine learning and get a first intuition for their meaning. Don't worry if you do not understand everything viewing it the first time, and maybe you want to watch the videos again at a later point in the course to understand more details.
do the introductory course on the basics of Python if you do not have any experience in Python yet: https://www.kaggle.com/learn/python
get a basic introduction to neural nets in order to get a first intuition in the underlying mechanisms
get a first idea about possible projects you might want to work on throughout the course
Video Neural Networks Explained (12 minutes)
Introductory course on Python from Kaggle
Tutorial on Colab on Medium
complete week 1 and week 2 of the course Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
tthink about project ideas to present them in class (post your ideas in the chat during the week)
complete the two assignments given in the following notebooks:
The conditions to be met in order to receive a Certificate of Achievement (and ECTS) are:
If you attend via Zoom, please make sure to use your full name, which should be the same that you used to register at edu.opencampus.sh. Otherwise your attendance will not be recorded!
Check the Projects section to learn more about the projects.
go deeper into using ConvNets with real-world data and a much larger dataset than those you've been using thus far.
learn about image augmentation, a technique to avoid overfitting by tweaking the training set to potentially increase the diversity of subjects it covers.
discuss your project ideas.
Week 1 and 2 of the course Convolutional Neural Networks in TensorFlow
complete week 3 and week 4 of the course Convolutional Neural Networks in TensorFlow
complete the exercise assignment in this notebook
investigate the characteristics of your project's dataset according to the instructions given here
document your findings on the dataset characteristics according to the instructions of above
cover the following topics:
Important terms in machine learning
Overfitting and regularization
Model quality criteria
Introduction to neural nets
for the definition and estimation of neural networks for different example datasets
of the effect of overfitting and regularization
see how to improve the basic neural network for computer vision you learned last week.
learn about what happens if your data is more complex; if the images are larger, or if the features are not always in the same place, and how to handle such issues.
Week 3 and 4 of the course Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
complete week 1 and week 2 of the course Convolutional Neural Networks in TensorFlow, including the provided assignments
setup a repository for your project following the instructions given here
conduct a literature review according to the instructions given here
document your findings on the literature review according to the instructions of above
complete the assignment in the following notebook:
get familiar wit transfer learning, a powerful technique to include the knowledge of models that were trained on large datasets and benefit from the features these models already learned in your own problem scenario.
move beyond binary classification into categorical classification and the specific coding considerations for the corresponding models.
present your key findings for the literature review considering you selected project
Week 3 and 4 of the course Convolutional Neural Networks in TensorFlow
complete week 1 and week 2 of the course Natural Language Processing in TensorFlow
complete the exercise assignment in this notebook
decide on an evaluation metric for your project task and evaluate your baseline model
justify why your choice is appropriate for your task
document your decision in your GitHub repository
start digging into a variety of model formats that are used in training models to understand context in sequence. In the last couple of weeks you looked first at Tokenizing words to get numeric values from them, and then using Embeddings to group words of similar meaning depending on how they were labelled. This gave you a good, but rough, sentiment analysis -- words such as 'fun' and 'entertaining' might show up in a positive movie review, and 'boring' and 'dull' might show up in a negative one. But sentiment can also be determined by the sequence in which words appear. For example, you could have 'not fun', which of course is the opposite of 'fun'.
learn about using natural language processing (NLP) models for predictions. Given a body of words, you could conceivably predict the word most likely to follow a given word or phrase, and once you've done that, to do it again, and again. With that in mind, you'll build a text generator. It's trained with texts that mimic the style of master Yoda from Star Wars and can be used to produce sentences that sound similar those of Yoda.
Week 3 and 4 of the course Natural Language Processing in TensorFlow
prepare questions for the instructor team on problems in your project or on how to potentially improve your results.
working on the definition of your project's final model(s) and their evaluation according to the instructions given here
document how you will evaluate your model results
Also, you may already start to...
complete week 1, 2, 3 and 4 of the course Sequences, Time Series and Prediction
complete the tasks of the assignment in this notebook.
This course and assignment notebook should be finished on 26th June 2025.
focus fully on your project.
get feedback from the instructor team on problems in your current project or on how to potentially improve your results.
Week 3 and 4 of the course Natural Language Processing in TensorFlow
(If you haven't done so already last week.)
complete week 1 and week 2 of the course Sequences, Time Series and Prediction
complete tasks of the assignment in this notebook.
get a soft introduction to what Machine Learning and Deep Learning are, and how they offer you a new programming paradigm, giving you a new set of tools to open previously unexplored scenarios. All you need to know is some very basic programming skills, and you'll pick the rest up as you go along.
take the just learned new programming paradigm used in machine learning to the next level by beginning to solve problems of computer vision with just a few lines of code!
Week 1 and 2 of the course Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
Don't forget to check out the important part of week 2 that is working through this notebook.
complete week 3 and week 4 of the course Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning.
decide on a project for the course and form groups
complete the two assignments in the following notebooks:
present your project in the final presentations. :-)
complete your project documentation and submit it according to the instructions given here
Great that you want to dive into the deep waters of Machine Learning. These are exciting times with major advancements on a quarterly basis like ChatGPT, Whisper, StableDiffusion and so many more. Nevertheless, all these exciting models were developed using solid ML knowledge, which is what we aim to acquire in this course.
This is a course which brings you from beginner to intermediate or even advanced. It is formally called Intermediate Machine Learning but following HuggingFace🤗 terms (which we will use heavily in the course) I like to call the course SmilingFace😊. This is meant ironically, because you will never laugh in the course😊. Okay joking aside the use of smileys during learning and practioning ML helps us to remember to have fun, laugh about our mistakes and take ourself not too seriously as it was proposed by the HuggingFace🤗 community. Therefore we will use our 😊 heavily in this course.
On the next pages you can see what the content of each course week will be starting with what will happen during each of our course sessions. Then again the SmilingFace😊 will lead you to what else to do in the week. I have divided the course into three levels of course work:
😊
The part after one 😊 is mandatory for each course participant for a for successful participation.
😊😊
The part after two 😊😊 is voluntary but recommended.
😊😊😊
The part after three 😊😊😊 is completely voluntarily for the ones who really want to know.
Remember the course instructor(me) is also fallible so please question me if you see something that does not seem kind of right to you. Also always ask questions especially if you don't fully understand something. This is really why we give this course afterall so that you understand everything😊
Own contributions or suggestions for improving the course as well as feedback are always welcome😊
Let's dive right in!
Watch them all😊
Why Machine Learning is exciting
What is Machine Learning?
Logistic Regression
Interpretation of Logistic Regression
Motivation for Multilayer Perceptron
Multilayer Perceptron Concepts
Multilayer Perceptron Math Model
Deep Learning
Example: Document Analysis
Interpretation of Multilayer Perceptron
Transfer Learning
Model Selection
Early History of Neural Networks
Hierarchical Structure of Images
Convolutional Filters
Convolutional Neural Networks
CNN Math Model
How the Model learns
Advantages of Hierachical Features
CNN on Real Images
Applications and Use in Practice
Deep Learning and Transfer Learning
Done!
explore using Recurrent Neural networks (RNN) and Long Short Term Memory (LSTM) networks and see how useful they are to classify and predict on sequential data.
add CNNs on top of Dnns and RNNs and put it together using a real world data series -- one which measures sunspot activity over hundreds of years,
Week 3 and 4 of the course Sequences, Time Series and Prediction
complete your project work
prepare your project presnetation according to the instructions given here
Welcome and Introduction round
Introduction of the course, opencampus, the course instructor and the course participants
Tool Set-Up
Colab
Editor (VSCode)
Virtual Environments
Git/Github
Walk-through
PyTorch 101 (Lab 01)
A visual overview of the workflow in the Colab notebook you can get in the PyTorch diagram below:
😊
Watch the following introduction video to the PyTorch framework
Watch all the videos on the next page - they are derived from a former Coursera Course
Go for your own through the Colab Notebook above (Pytorch101) and try to understand and repeat the steps for your own. Thereby you should also solve Task 1-3 in the notebook. You can create therefore a copy of the notebook in your Drive or download the notebook to work locally on it. Ensure that you sufficient computing resources available (i.e gpu) if you choose to work locally.
😊😊
Try to improve the accuracy in the PyTorch 101 notebook by tweaking the amount of layers and number of neurons
😊😊😊
Familiarize yourself with basic PyTorch Tutorials:
There are certain requirements which form the basis for a successful course participation. If you do not have the mandatory requirements listed below, you should consider enrolling in a more basic course of our offerings. Alternatively bring yourself up to speed. Under additional ressources on the left sidebar you find the necessary ressources. Since the course has a really high pace it will be absolutely necessary to straighten these basic requirements before the course!
Python
Here is a refresher notebook:
Math
Linear Algebra, Probability Theory (at least the basics)
Machine Learning
Basics:
What is a neural network
What is a forward/backprogragation
What is a loss
What is an activation function
What is train/val/test
You can set up your PC for local development. A guiding notebook is here:
Here different IDEs are presented and compared:
Hybrid Format - Every Thursday 18h00-19h45
Taken your first steps in ML and thirsty for becoming a fully equipped practitioner? Then this course is perfectly right for you! You will learn+build all relevant NN Architectures with the best tools
The next pages serve as the course book. Go ahead and dive in!
get an understanding for the importance of tokenization of a text when training a neural network for texts, for example, to do a sentiment analysis. Tokenization is the process of converting the text into numeric values, with a number representing a word or a character.
learn about embeddings, where the text tokens are mapped as vectors in a high dimensional space. With embeddings and labelled examples, these vectors can then be tuned so that words with similar meaning will have a similar direction in the vector space. This will begin the process of training a neural network to understand sentiment in text -- and you'll begin by looking at movie reviews, training a neural network on texts that are labelled 'positive' or 'negative' and determining which words in a sentence drive those meanings.
Week 1 and 2 of the course Natural Language Processing in TensorFlow
complete week 3 and week 4 of the course Natural Language Processing in TensorFlow
complete this notebook to generate text in the unique speaking style of Star Wars character Master Yoda.
consider a baseline model or a baseline comparison for your project task according to the instructions given here
document the evaluation results of your baseline model and the used metric(s) in your project repository
Quiz
ML Basics recap
Solutions exercises
Presentation from the participants of the tasks from PyTorch101
Walk-through
PyTorch 202 (Lab 02)
😊
Go for your own through the Colab Notebook above (Pytorch202) and try to understand and repeat the steps for your own.
Watch the videos on the next page
Go through the following notebooks and complete the second one (assignment notebook):
The redundancy between some notebooks is desired to reintroduce the concepts in a different way and hence enrich your learning experience!
😊😊
Try to improve the accuracy in the PyTorch 202 notebook by tweaking the amount of layers and number of neurons
😊😊😊
Familiarize yourself with basic PyTorch Tutorials:
RNNs
Faster Coding with ChatGPT, Stackoverflow and clever search
Deep dive
What are Embeddings?
Reinforcements of and insights into RNNs beyond Coursera
Solutions exercise RNN
Presentation from the participants of the RNN assignment from Coursera
Paddy challenge
Logistic regression baseline for the Paddy Competition
Walk-through
Basic CNN in PyTorchLightning
PyTorch 404 (Lab 04)
😊
Watch the videos on the next page
Build your own model(s) for the Paddy challenge and try to achieve the best accuracy. Log your results that you can present them in the class!
😊😊
Add the the test functionality and create a submission.csv and upload it to the leaderboard
Hands-on
Kaggle
Presentation of experiments with the goal of improving the classification accuracy
Transfer Learning
Theory and Applications
Walk-through
PyTorch 505
Transfer Learning CNN in PyTorchLightning:
😊
Watch the videos on the next page
Watch the following Seminar about Transformers:
😊😊
Go on using ideas discussed in this session and go on improving the accuracy on the Paddy Dataset
CNNs
Kaggle - Our first challenge: Paddy
Exploratory Data Analysis(EDA) for Paddy Disease Classification
Solutions exercise CNN
Presentation from the participants of the CNN assignment from Coursera
Walk-through
PyTorchLightning
PyTorch 303 (Lab 03)
😊
Go for your own through the Colab Notebook above (PyTorch303) and try to understand and repeat the steps for your own.
Do Week 4 of the Coursera Course
Please register at kaggle.com and join the competition. Go through the Exploratory Data Analysis Notebook session and create your own EDA. Here is the link to the competiton:
The main objective of this Kaggle competition is to develop a machine or deep learning-based model to classify the given paddy leaf images accurately. A training dataset of 10,407 (75%) labeled images across ten classes (nine disease categories and normal leaf) is provided. Moreover, the competition host also provides additional metadata for each image, such as the paddy variety and age. Your task is to classify each paddy image in the given test dataset of 3,469 (25%) images into one of the nine disease categories or a normal leaf.
So that is where we will be heading in the next sessions, trying different tools and techniques to tackle this challenge.
Here again my EDA Notebook:
😊😊
😊😊😊
Explanatory Session Part 1
Self-attention and multihead attention
Hugging Face Introduction
Library and Use of HuggingFace for working with transfomer models
Explanatory Session Part 2
Transformer Encoder and Positional Encoding
Explanatory Session Part 3
Vision Transformer
Walk-through
Finetuning Vision Transformer on Kaggle Paddy Dataset
😊
Look at current Kaggle competitions and make proposals
😊😊
Go through this excellent site explaining Transformers:
Do Chapter 1-3 of the HuggingFace NLP course
😊😊😊
Look closer at the Pytorch module nn.Transformer
(documentation) and go through a tutorial on how to use it for next token prediction.
Watch this excellent "Build from Scratch" video from Andrej Karpathy
Sequence-to-Sequence Encoder and Decoder
The Transformer Network
Watch them all😊
Motivation Diabetic Retinopathy
Breakdown of the Convolution (1D and 2D)
Core Components of the Convolutional Layer
Activation Functions
Pooling and Fully Connected Layers
Training the Network
Transfer Learning
Done!
Watch them all😊
How do we define learning?
How do we evaluate our Networks?
How do we learn our Network?
How do we handle Big Data?
Early Stopping
Done!
Final Session
Learning and testing - a.k.a. don't do Bullshit Machine Learning
https://drive.google.com/file/d/18VsrKSqNFaWeWsL24ULFrNnwpghpdwJZ/view?usp=sharing
Walk-through
Hyperparameter experiment
The following notebook will show how to set up a hyperparameter experiment in plain PyTorch. More importantly it give you the results and enables you to analyze and play around
Kaggle
Introduction
Titanic
Solutions exercise MLP
Presentation from the participants of the MLP from Coursera
😊
Watch the videos on the next page
Go through the following notebooks and complete the second one (assignment notebook):
The next task is to analyze the results of the hyperparameter experiment and create a small presentation on your findings(e.g. batch size of 16 with lr=0.2 seems to equal batch size of 1 with lr=0.01). Here is the notebook again:
😊😊
Run your own hyperparameter experiment
😊😊😊
Do your own EDA on the Titanic Dataset and/or look at other EDA notebooks from competitors. Make a final presentable EDA notebook.
Familiarize yourself with this PyTorch Tutorials:
Word Vectors
Attention Mechanism
Kaggle Competition
Recap
Discussion of last weeks topics and selected homework presentations
Presentation
Prompt Engineering principles
Walk-through
Prompt Engineering notebook
You can also look at here at any time: https://github.com/WikiMind-GmbH/knowledge-base/tree/main/llms/prompt-engineering
Demo Chatbot https://github.com/WikiMind-GmbH/knowledge-base/tree/main/llms/first-project
🤖
Use the learned methods to build a simple implementation of your project idea. Create a 90 second pitch to showcase it in the next session.
🤖🤖
Deploy your first prototype on Streamlit Cloud or elsewhere
🤖🤖🤖
Try to also build a demo app with Gradio and compare the differences to Streamlit
Think about your project:
What are your skills and interests?
What motivates you?
Watch the first YouTube-Tutorials
THIS PLAYLIST IS OPTIONAL:
Here we present some potential project ideas:
For the semester project - you can bring your own data - we will discuss this in the first/second session. Nevertheless here you can find some resources to think about a potential project:
Check out these frameworks:
YES.....books.....you may heard about it....these things were used in former times ;-)
Last but not least - here are some very good book references. It is not required or requested to buy any of these books. If you are enrolled as a student at CAU, FH Kiel or another university you might have access to these books via the SpringerLink of your home institution. They cover the course material quite well and provide GitHub-Repositories for the codes which where used throughout the book. Unfortunately there is no 1:1-Coursera course matching these books perfectly - but we will do our best ;-)
Some additional course material and MOOCs if you want you expand your knowledge at your own pace:
Hybrid Format - Every Thursday 18h00-19h45
Taken your first steps in AI and programming and thirsty for becoming a fully equipped AI engineer? Then this course is perfectly right for you! You will learn+build all relevant LLM and Agents Architectures with the best tools.
The next pages serve as the course book. Go ahead and dive in!
For the summer-term 2024 we use mainly YouTube playlists and freely available resources.
Check out the more detailed playlists in each week.
register with Google and the Coursera platform to get corresponding accounts. Since we switched for the second/third run our video lecture sources (the Coursera part is optional - but still benefical for the interested) this part is optional.
Please enroll/attend/complete the following Coursera MOOCs during the semester:
The conditions to be met in order to receive a Certificate of Achievement (and ECTS) are:
If you attend via Zoom, please make sure to use your full name, which should be the same that you used to register at edu.opencampus.sh. Otherwise your attendance will not be recorded!
Please switch on your camera - ask questions - be (inter)-active!!
Check the Projects section to learn more about the projects.
Work on your semester project !!!
Plot your data... ;-)
Think about an appropiate approach for your problem
Formulate some questions about things you do not know
OPTIONAL:
Continue working on your semester project !!!
Define an appropriate approach for your problem
Formulate some questions about things you do not know
OPTIONAL:
Watch the second YouTube-Tutorial:
Work on your semester project topic and get started.
This means:
Connect to your team members
Launch a GitHub Repository
Prepare your data
OPTIONAL:
Welcome and Introduction round
Introduction of the course, opencampus, the course instructor and the course participants
Walk-through
First Steps notebook
You can also look at here at any time: https://github.com/WikiMind-GmbH/knowledge-base/tree/main/llms/first-steps
🤖
Set-up everything that it works for for you e.g. VSCode/Colab, ollama and API Keys and create your own notebook where you use at least one of the presented models/providers
🤖🤖
Start a course project where you manage your following homework. Start tracking with git and set up a public github repo.
🤖🤖🤖
For this first week there is nothing else.
Great that you want to dive into the deep waters of Large Language Models and AI Agents. These are exciting times with major advancements on a quarterly basis with new models releases of OpenAI, Anthropic, Google, DeepSeek and so many more.
This course brings you from beginner to intermediate or even advanced.
On the next pages you can see what the content of each course week will be starting with what will happen during each of our course sessions. I have divided the course into three levels of course work:
🤖 Beginner
The part after one 🤖 is mandatory for each course participant for a for successful participation.
🤖🤖 Intermediate
The part after two 🤖🤖 is voluntary but recommended.
🤖🤖🤖 Expert
The part after three 🤖🤖🤖 is completely voluntarily for the ones who really want to know.
Alternatively you can just follow the course as a spectator, you won't need to do any of the exercises but you also do not get a certificate. But though you will learn a lot about this exciting field!
Remember the course instructor(me) is also fallible so please question me if you see something that does not seem kind of right to you. Also always ask questions especially if you don't fully understand something. This is really why we give this course afterall so that you understand everything🤖
Own contributions or suggestions for improving the course as well as feedback are always welcome🤖
Let's dive right in!
Continue working on your semester project !!!
OPTIONAL --- If you need to brush-up your knowledge on Trees:
Hi everybody......it´s Kristian - your course instructor. I will guide you through the "Advanced Time Series Prediction"-course this semester.
Welcome to all participants.
We start with a short introduction of the course topics. Get to know each other and explain the course structure and all the required tasks for a successful participation.
This requires i.e.: Give a project presentation and provide a well documented code with data via GitHub. Addtionally you are only allowed to miss two class sessions during the semester.
Finalize your presentation !!!
Finalize your semester project !!!
OPTIONAL:
Finalize your presentation !!!
Finalize your semester project !!!
OPTIONAL:
Recap
Discussion of last weeks topics and selected homework presentations
Walk-through
RAG notebook
You can also look at here at any time: https://github.com/WikiMind-GmbH/knowledge-base/tree/main/llms/rag
Introduction to langchain https://github.com/WikiMind-GmbH/knowledge-base/tree/main/llms/llm-frameworks/langchain
Introduction to llamaindex https://github.com/WikiMind-GmbH/knowledge-base/tree/main/llms/llm-frameworks/llamaindex
🤖
Play around with the RAG notebook and change it to your personal interests.
Go through the langchain rag notebook.
🤖🤖
Create RAG notebook with llamaindex.
🤖🤖🤖
Change the search function in the RAG notebook to cosine similarity
Continue working on your semester project !!!
Continue working on your semester project !!!
Try to answer/motivate these questions:
What is you idea/topic?
Which data do you use?
How is it structured?
Is there something special you want to forecast?
OPTIONAL:
Finalize your semester project !!!
CONGRATULATIONS - YOU MADE IT !!!
Buy the udemy course (ideally for the lower price, check coupon code at https://appbrewery.com/)
Do the first day of the course
Watch the videos
Do the interactive coding exercises
Finalize your semester project !!!
CONGRATULATIONS - YOU MADE IT !!!
Python Course in the Summer Term 2025
The session takes place every Wednesday 19h00 to 20h30 in starterkitchen (Kuhnkestr. 6) For the course it is mandatory to purchase the course material (https://www.udemy.com/course/100-days-of-code/. Discounts are available via udemy or https://appbrewery.com/. It should cost you around 15€.) This gitbook contains the main information you need for the course (e.g. homework assignments, project specifications and extra material)
Note1: Object Oriented Programming is a difficult but powerful concept, please take your time to revise the topic!
Note 2: If you want to install packages in the environment we set up during the course, you can do so by running %pip install
package_name
(notice the %-sign!) e.g. %pip install PrettyTable
in one of your notebook cells after you selected the environment. This is only needed once, after that it can always be reimported with import
. If it doesn't work (e.g. in Colab, try !pip install
package_name
with ! instead of %)
Do days 16 & 17 of the course
Watch the videos
Do the coding exercises
Get started with your group project
You can find all information regarding the Final Project here
Homework
Prepare slides for a five to ten minute presentation of your project
There will be room for discussion after each presentation
The format should be a project pitch, i.e. an interesting presentation of your vision
No code screenshots!
You can also talk about possible difficulties and options you tried
Upload the slides as PDF in the Mattermost channel before the session
Decide for one of the two final projects (they will be shown on your certificate)
Knowledge Cards: Flash Card Tool
Digital Pet: Interactive Virtual Companion
List out what data the program has to handle (e.g. flash card with front and back, pet stats like hunger) and the matching data structures you need in python
Create a flow chart for the program, like you have seen with hangman in the course:
We will form groups of ~4 people and you will get time to discuss together
Write a function draw_arrow(n)
that takes an integer n
and prints the following pattern:
n = 3
*
***
*****
*
*
n = 5
*
***
*****
*******
*********
*
*
Note that the length of the stem is always 2 and only the size of the arrowhead is changing
Use a .ipynb file.
Finalize your presentation !!!
Finalize your semester project !!!
OPTIONAL:
The deadline for submitting your well documented project is the 31/07/2025 23:59
You have to prepare a pitch presentation for the session on 02/07/2025
Your submission should tell a story:
What is the goal of the project?
What is the road map to reach that goal?
What did you try / did not work / can be improved upon?
You have to at least hand in a Jupyter Notebook documenting code snippets (i.e. spotlights on important code parts), also if you are just working with .py files
You can alternatively upload a zip file containing the Jupyter Notebook and needed project files (own libraries, resources, diagrams)
In a group project it should become clear, who participated and who worked on what part
The project should at least look and feel like the Projects you build in the course
Use a GUI
E.g. Tkinter (discussed in day 27)
Pygame is not difficult either
Use of libraries in general is encouraged!
Please follow the structure of this notebook for your submission (usage of chapters, introductory block, individual contributions, additional resources like diagrams etc.):
If you want to include graphics or other files, please contain everything in one zip file. The opencampus.sh system only accepts single file uploads. Subsequent uploads will overwrite previous submissions!
Instructions for PyCharm (Version 2025.1 or newer)
Make sure you have the latest, unified Version, not the Community Edition
If you are coming from the Community edition you can import all of your settings
To get rid of the messages to switch to Pro, you have to cancel the 30-days-trial-subscription (top right corner, scroll all the way down, click continue with core version, click cancel subscription and restart PyCharm)
Open a new project (File > New Project)
Select Pure Python and Interpreter Type Project venv and adjust the environment location on disk as needed
From the menu create a new file (File > New) and select Jupyter Notebook
Run a code cell to see that it works (takes some time on first start in a new project, because it installs some dependencies into the project folder's environment)
Instructions for VS Code
Install VS Code and then the extensions Python and Jupyter (both by Microsoft) from the extensions pane
In the file explorer pane open a folder where you want your project to be stored
Create a Jupyter Notebook (File > New > Jupyter Notebook)
Click on Select Kernel > Python enviroments > New environment > python venv > Python (global)
Run a code cell to see that it works (takes some time on first start in a new project, because it installs some dependencies into the project folder's environment)
After you have setup Notebook support in VS Code and/or PyCharm you can install new packages into the project folder (local venv environment) by executing a cell like this: %pip install package_name
Write a function draw_arrow(n)
that takes an integer n
and prints the following pattern:
n = 3
*
***
*****
*
*
n = 5
*
***
*****
*******
*********
*
*
Solution:
def draw_arrow(n):
for i in range(n):
#number of stars:
stars = (i*2 +1) * "*" # 1, 3, 5, 7, ...
#number of spaces
spaces = ((n-i) - 1) * " " # n-1, n-2, n-3, ...
#print row
print(spaces+stars)
#print shaft
shaft_spaces = (n-1) * " "
print(shaft_spaces+"*")
print(shaft_spaces+"*")
Try it out here
If you are not familiar with the Hugging Face API yet, do at minimum chapter 1 and 2 of the Hugging Face NLP course before the start of the course. Further, I strongly recommend to additionally complete the chapters 3, 5 and 6.
Register to the Alpha Signal newsletter.
Get a Discord account and enter the LAION community and the EleutherAI community.
Continue working on your semester project !!!
OPTIONAL:
Advanced Material with Additional Assignments (Totally Optional)
Assignments:
Assignments:
Assignments:
Assignments:
Assignments:
Assignments:
Assignments:
discuss important aspects of evaluating models.
discuss which models you want to use for your project.
Do days 12 & 13 of the course
Watch the videos
Do the interactive coding exercises (online at udemy and in PyCharm)
Do days 14 & 15, as these will be skipped and not discussed in the course
In the session we will setup PyCharm (and optionally VS Code) to work with Jupyter Notebooks.
If you want to use VS Code, please download the installer before the session.
Follow the instructions here
The conditions to be met in order to receive a Certificate of Achievement (and ECTS) are:
If you attend via Zoom, please make sure to use your full name, which should be the same that you used to register at edu.opencampus.sh. Otherwise your attendance will not be recorded!
Check the Projects section to learn more about how to get started, complete, and submit you project.
get all details about the structure and form of the course.
get to know your fellow course participants.
discuss the general types of training large language models.
discuss current sources for staying up-to-date.
learn about different ways of using special tokens for instruction tuning
discuss problems in model evaluation
Short blog on how to fine-tune with Hugging Face AutoTrain
discuss the definition of your project for the course.
discuss issues of Niels Rogge's video on Fine-Tuning
learn about different ways of using special tokens for instruction tuning
discuss problems in model evaluation
Notebook showing different examples of tokenizations
present your project in the final presentations. :-)
complete your project documentation and submit it according to the instructions given here