HackYourFuture-CPH / curriculum

Overview of the different modules and learning goals of the program.
Other
68 stars 18 forks source link
backend cli curriculum databases expressjs frontend git html-css javascript mongodb nodejs reactjs students teachers

Curriculum

HackYourFuture Denmark 🇩🇰

Here you can find an overview of the HackYourFuture program and a short listing of the contents and deliverables/learning goals of the different modules. The headers of the different modules link to the actual repositories that are used by teachers to post assignments/reading materials etc. Be aware that some of the modules make use of more than one repository.

Are you a new volunteer? Take a look here for some practical tips on how to get started!

Are you a new trainee? Then check out here for some extra info about how our program works and what it requires.

In any case, please read the Code Of Conduct before you join our community ❤️

When do we run our workshops?

Workshops on Sundays

Sessions take place every Sunday from 12.00 to approximately 16/16.30.

What do you learn at HYF?

Curriculum graphic + project

HTML/CSS

HTML is the standard markup language for creating Web pages. CSS is a language that describes the style of an HTML document. This module will introduce the basic concepts of HTML5 and CSS. We spend time getting you familiar with your text editor and handy developer tools. After this we will focus on responsive web development. Making responsive websites is an important part of front-end programming. You will learn how to make your websites responsive by using media queries using a “mobile first” approach. Last but not least we will spend time practicing some soft skills that we think are important for becoming a good developer. These include: give and receive feedback to your fellow trainees, presenting and explaining your work.

Module goals

GIT + CLI

GIT is a software for tracking changes in any set of files. It's usually used for coordinating work among developers collaboratively working on the same source code during software development. The command line (CLI, shell) is the interface between you (the user) and the operating system which interprets your commands and allows the computer to respond to your command. In this module trainees get familiar with the command line and learn what GIT is and what problem it solves.

Module goals

GIT:

CLI:

JavaScript1

In this repo you can find a very nice overview of some of the fundamental JavaScript concepts

Module goals

JavaScript2

Module goals

JavaScript3

Module goals

Database

What is a database? A place to store “things”. Could be as simple as a phone book (physical) or as complex as storing all the inventory for Amazon.com. Why use databases? Easier than having data all over the place. Puts the problem of collecting, storing, sorting and searching data in a single place. There are two primary types of database systems - relational and NoSQL. Relational databases have tables that relate to one another and can be “joined” ACID vs BASE

Module goals By the end of this module, trainees should have a familiarity with and basic understanding of the following:

NODE.js

Node.js is a server-side platform built on Google Chrome's JavaScript Engine (V8 Engine). For almost any web application, it is essential to have a backend. The backend is a place where we, the developers, can store our data, communicate with users and let the users communicate with us, do smart things like calculations, data processing etc.

There are many languages for this. We might've heard of Java, C, C++, Go, Python, Ruby, PHP and many more.

There are two reasons why we at HYF choose Node.JS over others:

  1. You already know JavaScript, so it's easier to get started than other languages
  2. Node.js is great for making web APIs because it is asynchronous by nature and thus allows for high input/output. By this we mean that it allows many users to make very light requests at the same time.

Module goals

React

The React Module is split into 2 modules.

React 1

Module goals

By the end of this module, trainees should have a familiarity with and basic understanding of the following:

React 2

Module goals

By the end of this module, trainees should have a familiarity with and basic understanding of the following:

Career Training

The goal of this series of sessions is to optimally prepare the trainees for the job hunt in Denmark's IT industry and to shape a better understanding of why quality code and solid code projects are the most valuable assets they have.

Module Goals

Final Project

In this module trainees work together in a team on a predefined project. The goal of this module is to combine all your acquired skills from the last modules into a project, often in collaboration with a real-world organization and real-world challenge to solve. In this project, scoping, requirement analysis, and project management are core themes while building your first full-stack project! đź’Ş

Module goals

The HackYourFuture curriculum is subject to CC BY NC SA copyright. This means you can freely use our materials, but just make sure to give us credit for it and don't use it commercially, as it is the intellectual property of our volunteers :)

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.