Background image
logologo symbol

5 - Back-end & Infrastructure

Back-end - Workshop (16h-20h)

Description

In this guide it is recommended that you work together in groups of 3 people. You should create a workshop for the other students that you schedule after a Friday check-in or a Monday status meeting.
Choose one of the topics and make a workshop about it that should last around 10 to 15 minutes. You can have a lecture, a project, Kahoot or anything else that you can think of.
Feel free to choose either a main topic or a sub topic

Topics

  • Internet Protocols
    • HTTP - The protocol that transfers our HTML (basically all the content of the page) from the server to the client. HTTPS is the same protocol running over an encrypted connection, so nobody in between can read or change what is sent — which is why every site uses it now
    • TCP/IP - Kind of like the post service of the internet. It takes care of where data should go and how to make sure it got there, other similar protocols are UDP
    • SSH - is a way to connect to the terminal of a remote computer (for example web server). This is very common and a good reason to learn your terminal commands pretty well because you won't have any graphical interface there. Other similar protocols are Telnet and FTP
    • Others - There are loads of other protocols that you might be interested in, for example e-mailing protocols, routing protocols and more
  • Programming languages
    • PHP - Is a programming language made for back-end and was dominating as such in the 90's. Today it's legacy is mostly CMS systems like WordPress and Drupal although it has got some uprising in recent years with the fast PHP7 (now PHP8) and frameworks like Laravel
    • Python - Is a general purpose programming languages that got very popular as a back end language in the early 2000's with frameworks like Django, Bottle and Flask
    • .NET - Is probably the most used back-end framework today (at least in Iceland). It is used by all the banks and other large, conservative institutions. This Microsoft specific framework for C# is also used in a pretty popular CMS system called Umbraco used by some web agencies in Iceland
    • Other - There are plenty of other programming languages to explore. There are funny once like Brainfuck and Whitespace and then there are low level once like C and Rust and there is even an Icelandic one called Fjölnir
  • CI/CD
    • Continuous Integration - is the automatic process that takes place when you push your code to the main branch, this includes testing and building the code (like on Netlify or Vercel).
    • Continuous delivery - Is kind of a continuation of the continuous integration where the code is automatically ready to be published. This is very important in large projects that tend to hang because the group is never ready to publish anything because there is always something missing
    • DevOps - CI/CD is a part of DevOps but DevOps just takes to the entire process, not just development but also running the servers and more general IT subjects
    • Kubernetes - Is a way to help practice all of this by combining and "orchestrating" (meaning just to manage them) Docker containers. It is widely considered a best practice for large projects that have many developers from different backgrounds contributing to the project
  • Testing
    • End-to-end testing - Are tests that run the entire process of building the app and running it in the browser. This could for example be an automated test ensuring that only logged in users can see a page or that screen readers can always read some section of the page etc…
    • Unit testing - Are tests that test the output of a certain function in your code. For example if you have made a function that should return HTML code for a card when you call it with the text that should be in the card. This would make sure that all the elements that should be in the card are there
    • A/B testing - is when you publish a different version of your page to part of the users. For example if you want to see how people would react to a pink background you could select to publish the page with pink background color to 10% of your users and see how if they engage with the page as long as others or if they are more likely to buy some certain product on your page than others etc…
If you would like to pick some other topic you can also bring it up with a teacher and ask if that is ok.

Goals

Knowledge

Know how to research a topic of web development
Know how to explain a topic of web development

Skills

Be able to research a topic you did not know yesterday and get to the bottom of it
Be able to explain a technical topic to your classmates so they actually follow it
Be able to tell the difference between understanding something and having read about it

Idea for return

Make a slide show that explains the topic
Have a Kahoot (or some similar quiz) in the end for other students to enjoy