GithubHelp home page GithubHelp logo

curriculum's Introduction

HackYourFuture Curriculum

Here you can find an overview of the HackYourFuture program. It gives insight in how our program is structured, organized, what you can expect from the modules that we teach and last but not least where we teach and where you can find support during the week. Our half year course is divided into modules that last 3 weeks with exception of the project module that lasts 6 weeks. Below you can find 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 teacher? Take a look here for some practical tips on how to get started!
  • Are you a new student? Take a look here to see how to prepare for your first class!

What do we teach?

Week Topic Reading Materials Homework Lesson Plan
1. Command Line Interface basics, HTML/CSS syntax W1 Reading W1 Homework W1 Lesson Plan
2. Introduction to GIT, Responsive design W2 Reading W2 Homework W2 Lesson Plan
3. GIT branches, CSS frameworks, Working with the browser W3 Reading W3 Homework W3 Lesson Plan

Welcome to the wonderful world of web development! In this module you will learn the basic building blocks of the web: HTML and CSS. HTML gives us the power to add text, images and videos to a page. CSS gives us the power to organize these parts and make it look nice. The products of HTML and CSS comprise a two-thirds of what is called frontend (the final third is client-side JavaScript, which you will learn about in later modules). What is frontend? It's another word for the presentational part of a piece of software. In terms of web development we're talking about "what you see" when you go to any website. Think of it like this: if a webpage were a person, the HTML would be the skeleton and CSS the skin and clothing! You'll also be learning GIT, software that will allow you to save your folders and files in case they accidentally get deleted or end up corrupt. It can do much more and you'll learn all about that starting from week 2!

Module goals

  • Be able to write syntactically correct HTML and CSS
  • Understand what is meant by "responsive" web development
  • Practice navigation your computer using the command line interface (CLI)
  • Learn about GIT and its basic usage
  • Become familiar with Trello and GitHub as a way to submit your homework
  • Explain your code by presenting what you've done
  • Know your way around Visual Studio Code
  • Feel comfortable working with your browser's inspector
Week Topic Reading Materials Homework Lesson Plan
1. What is JavaScript?, Variables, Data Structures & Naming Conventions Reading W1 Homework W1 Lesson Plan W1
2. Statements vs. Expressions, Control flow, Loops, Operators, Conditional statement Reading W2 Homework W2 Lesson Plan W2
3. Functions, Thinking like a programmer I, How JavaScript relates to HTML/CSS Reading W3 Homework W3 Lesson Plan W3

In this module you'll make a start into wonderful world of programming. We will be using the programming language JavaScript to do so. You'll learn about the basic buildingblocks of programming: `loops, functions, control flow and more. Consider these as the ABC's of programming, without them it's impossible to write working software!

Module goals

  • Have an idea of what computer programming is
  • Know the basic building blocks of JavaScript
  • Correctly write and use variables, functions and loops
  • Understand the control flow
  • Think like a programmer

In this module we will learn about JavaScript, combined with HTML and CSS and there will be a test at the end.

Week Topic Details
1 Javascript 2 Details
2 Javascript 2 Details
3 Javascript 2 Details
- Formative test Details

Module goals for JavaScript2

  • Capturing user input
  • Basic DOM manipulations [img src, innerHTML]
  • Code debugging using the browser
  • Code commenting
  • Structuring code files
  • Functions + JSON/Arrays
  • Array Manipulations
  • JSON
  • Map and filter
  • Arrow functions
  • Closures
  • Scope
  • Events
  • Callbacks

In this module we will learn about more advanced concepts of Javascript.

Week Topic Details
1 Javascript 3 Details
2 Javascript 3 Details
3 Javascript 3 Details

Module goals for JavaScript3

  • Object Oriented Programming
  • Code flow (order of execution)
  • Async VS Sync
  • Structure for a basic SPA
  • XHTTP Requests
  • API calls
  • (re)writing data structures (in JSON)
  • Promises

In this module we will learn about Node.js.

Week Topic Details
1 Node Details
2 Node Details
3 Node Details

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 the list goes on.

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.

What will we learn?

  • What is Node.js?
  • Using Node Package Manager (NPM)
  • Using require to include modules
  • Using http to handle http requests and respond
  • Using fs to read from and write to files.
  • Using process to read arguments from the CLI
  • Using express to make a RESTful API

In this module we will learn about databases using MySQL.

Week Topic Details
1 Database Details
2 Database Queries Details
3 Database design Details

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, students should have a familiarity with and basic understanding of the following:

  • Entities
  • The relational model
  • The Structured Query Language (SQL)
  • The construction of a database system
  • MySQL as an example of a relational database system
  • Non-relational data and NoSQL
  • MongoDB as an example of a NoSQL database

In this module we will learn about React.

Week Topic Details
1 Thinking in React Details
2 Data flow in React Details
3 Advanced React Details
4 Client-side routing Details
5 Test Details

Module goals

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

  • React Components
  • State and Lifecycle
  • Forms and Managing State
  • Flux & MobX MobX
  • API Integration

This six week project module will simulate parts of a real working experience in a typical software company.

Module goals:

  • Learn to understand an existing codebase in a short period of time

  • Get experience working on existing projects

  • Get experience working on open-source projects

  • Get familiar with the basics of project management with agile

  • Become comfortable with reporting about your work and communicating within a team.

    After this module we offer (technical) interview and cv training for those who are interested. The goal of these sessions are to:

  • Get your CV and LinkedIn ready for when you are ready to go to interviews.

  • Get an understanding of how (technical) interviews go in the Dutch job market.

Our curriculum is subject to CC BY copyright. This means you can freely use our materials, but just make sure to give us credit for it:)

curriculum's People

Contributors

mkruijt avatar gijscor avatar wouterkleijn avatar remarcmij avatar daanaerts avatar isalga avatar noergitkat avatar marcianoviereck92 avatar ibudasov avatar pankaj28843 avatar unmeshvrije avatar ynaut avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.