Skip to content

Instantly share code, notes, and snippets.

@djbowen95
Last active December 4, 2023 21:14
Show Gist options
  • Save djbowen95/2846640d520a16165b9b23db2d9e0926 to your computer and use it in GitHub Desktop.
Save djbowen95/2846640d520a16165b9b23db2d9e0926 to your computer and use it in GitHub Desktop.
University of Birmingham Full-Stack Development Coding Bootcamp: Overview Document!

University of Birmingham Full-Stack Development Coding Bootcamp: Overview Document

This document is an overview of the University of Birmingham and Trilogy/2U Full-Stack Coding Bootcamp: a 24-week intensive bootcamp program that I was enrolled on between November 2021 and June 2022. I have created this document as an easy reference point to link to in my projects, and it is intended to provide:

  • Information on the structure of the program
  • Overview of the topics covered on the course
  • Index of the projects built while on the program

I hope this is useful for anyone who wants to know what was covered on the course!

This is a work in progress - adding to it as I go back and polish my projects, review concepts etc. - 15/08/2023

Contents

  1. About the Course
  2. Course Structure
  3. Modules In Depth
  4. Module 1: Front-End Development (HTML, CSS, JavaScript)
  5. Module 2: Back-End Development (Node, Express, SQL)
  6. Module 3: React (MongoDB/NoSQL, GraphQL)
  7. Contact
  8. Notes

About the Course

There are so many bootcamp programs, and they leave graduates with varying levels of capabilities, skill sets and technology stacks. I am pleased with the program I chose and I think these are the things that make the program unique:

  • 24-week program with 10+ contact hours, and 20+ additional independent study hours each week: this program was work/study intensive - with assignments and independent learning tasks often taking over the prescribed time; although it was advertised as part-time, it amounted to almost a year of full-time study.
  • Building a project every week for assessed homework assignments: every week we learned a new skill, added technology to our stack or added a whole new development concept to our knowledge base - then were immediately asked to build a real world scenario project that applied the skills we had just learned - meaning this program gave us particularly strong hands on experience.
  • In person, instructor-led teaching from industry professionals: all of our sessions were led by a classroom teacher with extensive industry knowledge (our teacher had led developer teams at MasterCard and Just Eat) and a second classroom based support tutor; we also had weekly 1-on-1 support sessions with an additional online tutor and 24/hour access to a live support chat, who could review our code as we needed.
  • End of module group projects in a mock agile style: each module / eight week block of the course was assessed by a two week project, that we were asked to treat as an agile sprint, to develope a full-stack application. These projects were required to use Git for version control, and we were asked to present each project to a mixed technical and non-technical background audience.

Course Structure

The course was broken down into three modules / blocks, each eight weeks in length - six weeks of tutor-led learning and weekly homework assignments, then two weeks applying those skills to a big full-stack group project. This table outlines each of the blocks / modules:

Topic Basics + Front-End
(Weeks 1-8)
Back-End: RESTful APIs and Relational Databases (SQL)
(Weeks 9-16)
Advanced Full-Stack:
React, NoSQL, and GraphQL
(Weeks 17-24)
Main Concepts
  • HTML + CSS
  • Advanced CSS: Responsive Design
  • JavaScript Fundamentals
  • Web APIs and the DOM
  • Third-Party APIs
  • Fetching from Server-Side APIs
  • Node.js and ES6+
  • Object-Oriented Programming and Test Driven Development
  • Express.js and RESTful APIs
  • SQL / MySQL
  • Sequelize and Object-Relational Mapping
  • Model-View-Controller, Templating and Node Auth
  • Computer Science for Web Developers
  • MongoDB and NoSQL
  • Webpack and SPAs
  • React
  • GraphQL and JWT
  • Advanced React and Redux
Favourite Projects Password Generator, Come Rain or Shine Team Profile Builder, e-Commerce Back-End Hit the Bucket, Social Network API
Final Project Where Are We? Weight a Minute Rat World!

Front-End Devlopment

Unit 1: Front-End Development
Topic Stack + Concepts Covered Projects Notes
HTML + CSS HTML, CSS, Git. Box model, positioning, selectors. Semantic HTML and accessibilty testing. Horiseon, Cat Complaints, Charli XCX Fanpage These are my earliest projects: scroll down to see better examples/something more complicated!
Advanced CSS Responsive design. Media queries, flexbox, grid. CSS variables; complex selectors (pseudo-classes, pseudo-elements); typography. Wireframing. CSS resets. Original Portfolio, CSS Cheat Sheet Rebuilding from scratch
JavaScript Fundamentals Variables and primitive types. Comparisons and conditionals; arrays, loops, iteration; functions; objects; methods; scope. Console logging. Password Generator, Rock, Paper, Scissors, Consult the Forest Witch Tried to make a new front-end for the password generator and made a mess of it! Will tidy when I have time.
Web APIs The window object. Traversing the DOM, DOM manipulation. Timers, event listeners, data attributes. Keyboard events, event bubbling, preventing default. Local storage. JavaScript Quiz, Word Guess, To Do List Needs a bit of CSS love
Third-Party APIs jQuery and jQuery UI. Bootstrap. Google fonts. Moment.js. Work Day Scheduler, Project Tracker
Server-side APIs RESTful APIs. Fetch API. Promises. Parsing JSON. HTTP requests. Come Rain or Shine, Congress Search Engine Also needs CSS love!
Final Project Where Are We?

Back-End Development

Unit 2: Back-End Development and RESTful APIs with SQL
Topic Stack + Concepts Covered Projects Notes
Node.js Node, Node Package Manager (npm): fs for reading/writing the file system; inquirer for command-line applications; process arguments. ES6+ JavaScript: modularization; arrow functions; template literals; let/const; functional loops; for/off; rest and spread; object destructuring. Quick and Read ME, Portfolio Generator Read me needs updating, portfolio generator needs making from scratch
Object-Oriented Programming Object-Oriented Programming with JavaScript; Constructors, Prototypes, Polymorphism, Classes, Subclasses, Multiple Classes; Async JavaScript: Promises, Promise All; Test-Driven Development: Core Concepts, Passing Simple Tests; Organising Tests; Mocks Team Profile Builder, Guessing Game READMEs need updating, guessing game needs finishing!
Express.js Express; RESTful APIs; HTTP requests; CRUD (Create, Read, Update, Delete) operations; routing HTML pages and API functions; the Fetch API; middleware; uuids; diagnostics reporting; wildcard/404 pages; data persistance; modular routing; body parsing; JSON Note Worthy, Routing Mini-Project Need rehosting as Heroku free membership gone!
SQL Employee Tracker, Movie Review Database Employee tracker needs better write up, movie database needs building (but think I'll do it soon)
Object-Relational Mapping E-Commerce Back-End, Travel Planner E-Commerce is one of my better projects - but want to add a personal flair to it!
Model-View Controller and Authorisation Tech Blog, Crowdfunding App
Final Project Weight a Minute...!

React

Unit 3: NoSQL, React, and Complex Full-Stack Applications
Topic Stack + Concepts Covered Projects Notes
Computer Science for JavaScript Global execution context; Stacks and Queues; Higher-Order Functions; Callback Queues; Closures; Factory Functions and Constructors; Linear and Binary Searches; Recursion There wasn't a project for this week, but we had to write a regex tutorial
MongoDB, Mongoose and NoSQL Mongo: Compass and Atlas; Create, Read, Update, Delete (CRUD); Embedded Documents and Subdocuments; Models/Schemas; Mongoose (Object Data Modelling); Mongoose CRUD; Instance Methods; Aggregate functions; Virtuals Social Network API, Student Statistics Back-End
PWAs, SPAs and Webpack Lighthouse; Webpack Bundle, Loader, Plugin; Client-Server; Service Workers; Caching Images
React Fundamentals Creating a React app; Components; Props; State; Event Handling and Forms; JSX Expressions; Conditional Rendering; React Styling; React Testing Library; the useEffect Hook and Fetching Data React Portfolio, Hit the Bucket
Full-Stack React (MERN + GraphQL) GraphQL with Apollo Server: Queries, Resolvers, Mutations, Arguments; MERN Setup; React Hooks: useQuery, useMutation; React Router; Apollo Cache; JSON Web Tokens (JWT): Signing and Decoding Book Search Engine
Tech / Dog Match-Up App
Need to redeploy these projects: were deployed on Heroku free tier.
Advanced React (State Management + Redux) State Management. Providers, Consumers, Reducers, Actions. React Hook: Use Reducer. Stripe. Redux Store, Context API refactor
Final Project Rat World!

Contact

You can contact me at djbowen95@gmail.com.

Notes

These notes are just for my use - stuff I might edit into / add to the document at some point. Ignore please! - 15/08/2023

I'm gonna bring this up the document at some point I think.

My goal is this document will have:

  • A general summary of the bootcamp
  • Tables that outline the three modules / blocks of the course
  • Outline of the key projects
  • Links to gists explaining some of the things I learned that aren't demonstrated in the projects too, or blog posts explaining how exactly I did a particular thing

Its also just a really useful resource for me - this is my go to sheet for reminding myself which projects demonstrate what skills - helps me visualise where I might have gaps, or work out what I might want to go over.

About the Bootcamp

I will put a link to the university website summary here.

This coding bootcamp was a intensive 24-week program: an in-person program with 10 contact hours with an industry professional tutor; an additional commitment to 20 hours of independent learning; a weekly assessed assignment

, with 10 in-person contact hours with two industry professional tutors, and an additional 20-hour per week minimum commitment to

Placeholder. This is a public gist because I want to link to it in other docs I am writing. In this file I'm going to:

  • Give an overview of what the course was
  • Outline the course structure
  • Link to everything I built on the course, and from the course materials graduating
  • Put some thoughts on what I experienced more generally

The tables below are an overview of the course - each row in the table represents a week of the course.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment