Skip to content

HackYourFutureBelgium/intro-to-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Introduction to Programming

Welcome to the Introduction to Programming course! In just 8 weeks, you’ll learn to build full-stack web applications using modern tools. We start with Git, JavaScript, and React on the frontend, then dive into backend development using FastAPI – a high-performance Python web framework – and finish with database integration and authentication.


πŸ“… Course Format

  • Duration: 8 weeks
  • Schedule: 5 days per week (Monday–Friday)
  • Format: In-person or Remote
  • Structure: Hands-on practice, code-along, and weekly challenges

🧭 Weekly Breakdown

  • Git basics: init, add, commit, status, log
  • GitHub collaboration: clone, push, pull, branching, PRs
  • Terminal & VS Code setup
  • Markdown & README writing
  • Project structure best practices

  • Variables, types, operators
  • Conditionals and loops
  • Functions and scope
  • Arrays and objects
  • DOM manipulation & events

  • Forms and input handling
  • Fetch API & JSON
  • Async JavaScript: Promises and async/await
  • Basic UI project: To-do app or weather app

  • JSX, components, props and state
  • Event handling
  • Lists & conditional rendering
  • useState & useEffect & useContext
  • Simple component-based app

  • Controlled forms & inputs
  • State lifting and prop drilling
  • React Router for navigation
  • Component organization
  • Mini project: Task tracker or blog UI

  • Python basics (data types, loops, functions)
  • Installing and using FastAPI
  • Creating your first routes (GET, POST, PUT, DELETE)
  • Understanding request/response
  • Using Pydantic models for validation
  • Serving JSON APIs to connect with frontend

  • Intro to SQL & databases (SQLite or PostgreSQL)
  • SQLAlchemy ORM integration with FastAPI
  • CRUD operations: Create, Read, Update, Delete
  • User registration and login with hashed passwords
  • JWT-based authentication
  • Protecting routes with auth middleware
  • Connecting React frontend to FastAPI backend

  • Design and build your own full-stack app
  • React frontend + FastAPI backend + database
  • Implement authentication and CRUD features
  • Deploy your app (Netlify + Render / Railway)
  • Final presentations & code reviews

πŸ›  Technologies Covered

πŸ§‘β€πŸ’» Frontend

  • HTML, CSS, JavaScript (ES6+)
  • React & React Router

🐍 Backend

  • Python 3.11+
  • FastAPI
  • Pydantic (for validation)
  • SQLAlchemy (ORM)
  • JWT (Authentication)

πŸ—ƒ Database

  • SQLite (local) or PostgreSQL (production)
  • MongoDB

πŸ”§ Tools

  • Git & GitHub
  • VS Code
  • HTTP clients (Postman or browser dev tools)
  • Deployment (Netlify, Render)

πŸš€ Learning Outcomes

By the end of this course, you will:

  • βœ… Understand Git & version control
  • βœ… Build interactive web apps with React
  • βœ… Develop RESTful APIs using FastAPI
  • βœ… Perform CRUD operations with a database
  • βœ… Implement authentication using JWT
  • βœ… Deploy full-stack apps to the internet
  • βœ… Work in a real-world project workflow

Happy coding! πŸš€πŸ’»