Questions
                                        
                                            - What is the definition of a stakeholder?
 
                                            - What is the Scalability quality attribute good for?
 
                                            - What is the Usability quality attribute good for?
 
                                            - What is the definition of a bottleneck?
 
                                            - What is the definition of the CPU cache?
 
                                            - What is the definition of a Cache miss and how does it affects performance?
 
                                            - What is the job of a prefetcher?
 
                                            - What is memory padding and how does it affects the size of a structure / class?
 
                                            - How can address sanitizers help?
 
                                            - What is the definition of technical debt?
 
                                            - How can static source code analysis tools help us?
 
                                            - What is the error called ‘null pointer dereference’?
 
                                            - What is the error called ‘null test after dereference’?
 
                                            - What is a buffer overflow and what problems can occur due to it?
 
                                            - Why are code reviews important?
 
                                            - What is an SQL injection? How can we make sure we are safe from it?
 
                                            - What is the definition of a brute force attack?
 
                                            - What is the technique called ‘Default deny’ in Security topic?
 
                                            - Why we should write documentation?
 
                                            - What is the DevOps term and what do we want to achieve with it?
 
                                            - What is a source code repository?
 
                                            - What is the definition of black box testing?
 
                                            - What is the definition of smoke testing?
 
                                            - Why are automated tests better than manual tests?
 
                                            - What is dependency injection? How can you implement it?
 
                                            - Why would you mock an object? How does mocking work?
 
                                            - What is the term ‘Persistency’?
 
                                            - What is the difference between SQL and NoSQL?
 
                                            - What can you do with a project released under MIT License?
 
                                            - What is the definition of a single point of failure?
 
                                            - What is the definition of a load balancer and how does it help?
 
                                            - What is the difference between Vertical scaling and Horizontal scaling?
 
                                            - What are the 7 OSI layers?
 
                                            - What is the transport layer responsible for?
 
                                            - What is the difference between TCP and UDP?
 
                                            - What is the job of the kernel?
 
                                            - What is the definition of context switching?
 
                                            - What is the definition of starvation (in the context of process scheduling)?
 
                                            - What is a swap file?
 
                                            - What is the difference between virtual memory and physical memory?
 
                                            - What is the definition of a page fault?
 
                                            - What can be currently done with RPA?
 
                                            - What information can you extract when using big data?
 
                                            - What can be currently done with IoT (Internet of Things)?
 
                                            - What is the main issue we currently have with IoT?
 
                                            - What is the definition of SaaS (Software as a service)?
 
                                            - How is the blockchain handling privacy / transparency?
 
                                            - How does the concept of a public / private key pair works?
 
                                            - What is a perceptron?
 
                                            - What is the difference between supervised and unsupervised learning?
 
                                        
                                        
                                        
                                        Exercises - Research
                                        
                                        Security topic
                                        Download the sources of a big open-source software. Check the current libraries it uses, the versions each of them has, search the list of vulnerabilities for those versions, create diagrams for data in/out, scan ports.
                                        
                                        Architecture topic
                                        Create the system design of a big software.
                                        Define some customer specifications, and transform them into technical specifications.
                                        Create multiple views regarding the separation (component, class, deployment) and behavior (sequence, state).
                                        
                                        Exercises - Machine learning
                                        
                                        Web design
                                        Implement an application that recognizes some shapes drawn on a board and create a html page similar to the drawing.
                                        
                                        
                                        Object detection
                                        Create an application that can detect a face, or that can count how many persons are visible within an image.
                                        
                                        
                                        Spam classifier
                                        Build a tool to classify whether an email is spam or not based on the content. For example of emails, there’s a public data set from the Enron investigation to test your software.
                                        
                                        
                                        Music recommendation engine
                                        Create a software that tracks the music you listen to and generates a playlist with similar qualities, of songs you haven’t listened before.
                                        
                                        
                                        Data sets
                                        Create and automatically update a data set with things you’re interested in (e.g. stats about your favorite sports team, flights to destinations you’d want to visit, technology, etc.).
                                        The data set should constantly update based on new data – and this should be performed automatically.
                                        For example, if your sports team won a match, the data should automatically be scaped and added to your data set.