Hello!
In this organisation, you'll find all my practical work and other projects done during my studies at HEIG-VD.
Important
This organisation is not meant to be a way for you to simply copy my work and submit it.
I don't really care if you do, but you'll learn nothing from it.
Know the principles of learning brought by Thorndike: readiness, exercise, and effect.
School is not about getting the best grades, it's about learning and understanding the concepts and ideas behind the courses, and to take the opportunity given to us to learn, assimilate and apply the knowledge we are given. Come ready for it and apply yourself, and you'll be rewarded with a better understanding of the subject, and better grades.
School should not be competitive, even though the elitism of the Swiss education system wants it to be, it should be a place to learn and grow, while helping each other to do so. Take the time to focus on these practical works, they are a great way to reflect on what you have assimilated, and to have a common goal you can work towards. Keep in mind that when practice occurs, learning continues.
A good learning environment is one where we can work together, not against each other. This principle applies even more in a professional environment. Get started in applying this idea, and use the repositories shared here as a way of mutual aid by taking it as a starting point, then share your own personal solutions that others would be happy to have as examples for their own learning exercises. You'll figure out quickly enough that this positive effect you'll have on others will strengthen your ability to learn and understand the subject. A work with great effect is one that will make you want to continue doing it.
- Introduction
- TOC
- Cheatsheets
- Semester 1
- Semester 2
- Semester 3
- Semester 4
- Semester 5
- Semester 6
- Summer 3
- Semester 7
- Semester 8
You can find all the cheatsheets that I have created in this repository
- Practical Work 1 - Manual parsing of Decimal and Floats (5.7)
- Practical Work 2 - Writing amounts in french word form (6.0)
- Practical Work 3 - Arithmetics from the CLI (5.7)
- Practical Work 4 - Investment strategies (not investment advice) (6.0)
- Practical Work 5 - Math with fractions (5.7)
- Practical Work 1 - Complexity evalutation
- Practical Work 2 - Recursion (5.5)
- Practical Work 3 - Sorting algorithms (5.2)
- Practical Work 4 - Dynamic memory allocation
- Practical Work 5 - Variable-length circular buffers
- Practical Work 6 - Singly-linked lists
- Practical Work 7 - Arithmetic expressions
- Practical Work 8 - Nearest value iterators
- Practical Work 9 - AVL trees (6.0)
- Practical Work 1 - Introduction to Python (6.0)
- Practical Work 2 - Tools for statistical anlysis (6.0)
- Practical Work 3 - Exploratory data analysis (6.0)
- Practical Work 4 - Data model and evaluation (6.0)
- Practical Work 5 - Linear regression (6.0)
- Practical Work 3 - Designing an UML diagram (4.2)
- Practical Work 5 - Matrix arithmetic (5.3)
- Practical Work 7 - Implementing Hanoï (5.3)
- Practical Work 8 - Inefficient scholarly chess implementation (5.4)
- Practical Work 0 - Introduction to Logisim
- Practical Work 1 - Checksum (6.0)
- Practical Work 2 - ALU (6.0)
- Practical Work 3 - Chenillard (6.0)
- Practical Work 1 - Introduction to speech recognition
- Practical Work 2 - Introduction to perceptrons
- Practical Work 3 - Classifying speakers using speech recognition (5.7)
- Practical Work 4 - Training deep convolutional neural networks (6.0)
- Practical Work 5 - Classifying car types based on transfer learning and open datasets (6.0)
- Practical Work 1 - Fetch implementation (6.0)
- Practical Work 2 - Execute and Decode implementation (6.0)
- Practical Work 3 - Interlude on multi-stage pipelines
- Practical Work 4 - Pipeline implementation with hazard handling (5.6)
- Practical Work 1 - Maze Generation using DFS (5.0)
- Practical Work 2 - Maze Generation with Kruskal and Solving using BFS (5.8)
- Practical Work 3 - Scholarly airline schedule representation (5.7)
- Exercises
- Practical Work 1 - Designing UML diagrams (5.1)
- Practical Work 2 - Basic SQL table creation
- Practical Work 3 - SQL queries (5.7)
- Practical Work 4 - Advanced SQL queries (5.7)
- Project - Track progress through Switzerland's railways (6.0)
- Practical Contents
- Practical Work 1 - Basic CLI application (6.0)
- Practical Work 2 - Multiplayer Chess (5.5)
- Practical Work 3 - Distributed Computed Monitoring (5.8)
- Practical Work 4 - Virtual Machine API (5.3)
- Analysis report (6.0)
- Exercises
- Practical Work 2 - Multi-threaded MD5 brute-force
- Practical Work 3 - Factory simulation (4.8)
- Practical Work 4 - Train branching simulation (5.7)
- Practical Work 5 - Barber shop simulation (6.0)
- Practical Work 6 - Parallel computation machine
- Practical Work 1 - Simple constructive heuristics (5.5)
- Practical Work 2 - Augmenting heuristics (5.9)
- Practical Work 3 - Equitable distribution (5.7)
- Practical Works (avg: 6.0)
- Practical Works (avg: 5.5)
- Practical Work 1 - Couchbase queries (6.0)
- Practical Work 2 - Neo4J queries (5.6)
- Practical Work 3 - Elastic Search (5.6)
- Practical Work 4 - Case Study: Resilience on Elastic Search (5.5)
- Practical Work 5 - Spark (5.7)
- Practical Work 1 - Observable stop watches (5.2)
- Practical Work 2 - Bouncers (5.2)
- Project - Visitor Pattern (5.5)
- Practical Work 1 - Git introduction
- Practical Work 2 - Class diagram
- Practical Work 3 - Use case diagram
- Practical Work 4 - Class diagram continued
- Practical Work 5 - Case study (5.4)
- Practical Work 6 - Activity diagram
- Practical Work 7 - State machine diagram (5.5)
- Practical Work 8 - Software development process (5.4)
- Practical Content (lives, exercises)
- Practical Work 1 - wc (5.5)
- Practical Work 2 - sets (5.9)
- Practical Work 3 - csvkit (6.0)
- Practical Work 4 - decaf (5.2)
- Practical Work 5 - zcc (6.0)
Practical Work 6 - haskeval
- Exercises in C++
- Exercises in Java
- Practical Work 1 - Matrix Reloaded (5.1)
- Practical Work 2 - Squadron (5.4)
- Practical Work 3 - River (5.9)
- Practical Work 4 - Buffy (5.3)
- Practical Work 0 - Introduction
- Practical Work 1 - Reflection use cases
- Practical Work 2 - JPA entities for Sakila (5.8)
- Practical Work 3 - Business layer using Sakila (6.0)
- Project - VineWard: wine reviews using auto-generated ABAC authorization
- Practical Work 1 - Introduction
- Practical Work 2 - Activities and Fragments (5.9)
- Practical Work 3 - MVC Interactions (6.0)
- Practical Work 4 - MVVM: Room + RecyclerView (5.9)
- Practical Work 5 - Async Tasks and Coroutines
- Practical Work 6 - MVVM: Data from HTTP APIs
- Workshop - Case Study: App widgets
- Exercises
- Practical Work 1 - Fault resilience (6.0)
- Practical Work 2 - Total order
- Practical Work 3 - Load balancing
- Practical Work 4 - Incomplete network
- Exercises
- Practical Work 1 - CSRF, XSS, SQL Injection (5.9)
- Practical Work 2 - Authentication
- Practical Work 3 - TBD
- Practical Work 0 - Introduction
- Practical Work 1 - Deezer (6.0)
- Practical Work 2 - Tetris 1 (6.0)
- Practical Work 3 - Tetris 2
- Practical Work 4 - Tetris 3
- Practical Work 5 - Security
- Project - TBD