/curriculum

The curriculum of Techtonica, a free tech training and job placement program for women and non-binary adults with low incomes.

Primary LanguageJavaScriptCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

Welcome to the Techtonica curriculum!

Techtonica is a non-profit project of SocialGood that does free tech training and job placement for unemployed or underemployed folks. For more information, please see our website: Techtonica.org

Apprentices will learn to do full-stack web development using JavaScript. What bootcamps and apprenticeships like Techtonica have in common is the fact that they are intensive training. However, bootcamps can be pretty passive classroom learning with students and they cost between $15,000 and $30,000.

An apprenticeship aims to be more like the workplace to make the transition into the industry better—instead of having an instructor constantly guiding you, a facilitator gives you assignments and you're expected to figure out what to do with volunteers, mentors, tech groups, and other apprentices. In the best-case scenarios, there are regular check-ins with managers and mentors provide support. We’re making Techtonica’s program as hands-on and project-based as possible to best prepare you for work in tech.

Jump to Curriculum Table of Contents.

Volunteering:

We'd love your help in improving this curriculum. See CONTRIBUTING for details.

Table of Contents

The following is the approximate sequence of the topics during the program but is always being tuned and optimized so if you have questions, please open an issue.

Week 0 - Pre-Work

Before beginning the program, apprentices meet weekly for 4 weeks to learn JavaScript fundamentals.

Week 1 - Onboarding & Developer Tools

  1. Welcome, Tips, and Rules
  2. Expectations While at Techtonica
  3. How to Learn
  4. Professionalism
  5. Roles in Tech
  6. Intro to Command Line Interface Tools
  7. Advanced Command Line
  8. Bash Profile
  9. Vim
  10. Homebrew 📝
  11. How to Pair Program
  12. Project 0 - Week 1 Assessment
  13. Operating Systems
  14. Keyboard Shortcuts
  15. Ergonomics
  16. Growth Mindset
  17. Asking Good Questions
  18. Local Development with VS Code
  19. Networking (Career)
  20. How the Internet Works (The Other Kind of Networking)
  21. Intro to DNS
  22. HTML

Week 2 - Webpages: HTML & CSS

  1. Git Version Control
  2. Recipe Page Project: HTML
  3. .gitignore
  4. Using GitHub for Code Storage
  5. CSS
  6. Article: What Exactly is the DOM?
  7. Chrome Developer Tools: Setup
  8. Recipe Page Project: CSS
  9. Media Queries
  10. UI/UX
  11. Web patterns
  12. Bootstrap
  13. Building Confidence
  14. Recipe Page Project: Bootstrap
  15. Solving Code Challenges
  16. Git Part 2: Study Guide
  17. Portfolio Project: HTML, CSS & Bootstrap
  18. Using GitHub for Project Collaboration
  19. Portfolio Project: Personal Branding
  20. Reading/Writing Documentation
  21. Writing Readable Code
  22. Deploy your Portfolio Project: Deploying Client-Side Apps with Netlify
  23. Portfolio Project: Collaboration and Review
  24. Debugging

Week 3 - JavaScript Fundamentals

  1. JavaScript 1 - Variables, Strings, Numbers
  2. JavaScript 2 - Arrays, Functions
  3. JavaScript 3 - Conditionals, Comparisons, Booleans
  4. JavaScript 4 - Loops
  5. JavaScript 5 - Switch Statements
  6. JavaScript 6 - Object Literals
  7. Basic JavaScript Practice
  8. Node
  9. Testing & TDD
  10. Assigned Reading - Eloquent JavaScript

Week 4 - Intermediate JavaScript

  1. HTML/JS Game Project
  2. jQuery
  3. a11y: Accessibility
  4. Portfolio Project: Incorporating a11y
  5. JavaScript 7 - Object-Oriented Programming
  6. Mini Project: Object Oriented Programming in JS
  7. Adding Jasmine Tests to your project

Week 5 - Eventonica & Advanced JavaScript

  1. Eventonica Project
  2. JavaScript 8 - Regular Expressions / RegEx
  3. JavaScript 9 - Async, Callbacks, Promises
  4. Runtime Complexity
  5. Functional Programming

Week 6 - Web API's

  1. Intro to HTTP
  2. HTTP Requests Practice
  3. Intro to JSON (DigitalOcean)
  4. APIs & JSON
  5. TwilioQuest Exercise
  6. REST APIs
  7. Eventonica Part 4 - REST API
  8. Express

Week 7 - Databases

  1. Data Models
  2. SQL
  3. Install PostgreSQL
  4. Relational Databases
  5. Table Relationships and Join Queries by Treehouse
  6. Adding Tests to your NodeJS project
  7. Database Migrations

Week 8 - Eventonica with React

  1. Eventonica Project
  2. React Part 1
  3. React Part 2

Week 9 - PERN Mini-Project (Postgres+Express+React+Node)

  1. Deploying to Heroku with React and Node
  2. Optimizing your React/NodeJS Project
  3. Enzyme Testing

Week 10 - More PERN & Assessments

  1. Finishing PERN Mini-Project
  2. Coding assessment
  3. App development assessment
  4. Recursion
  5. Asset Optimization

Week 11 - Data Structures & Algorithms

Data Structures

  1. Intro to Data Structures
  2. Sprint Plan for Data Structures & Algorithms Week
  3. Data Structures: Stacks
  4. Data Structures: Queues
  5. Data Structures: Linked Lists
  6. Data Structures: Hash Tables
  7. JavaScript Map
  8. Data Structures: Trees

Algorithms

  1. Intro to Algorithms
  2. Algorithms: Searching
  3. Algorithms: Sorting

Week 12 - Final Assessments

  1. Navigating New Codebases
  2. Open-source Projects

Week 13 - Career Week!

  1. Technical Interviewing
  2. Take-home Problems
  3. Non-Tech Interviews
  4. Article by Techtonica Alum: Working in the field as a New Software Engineer out of Bootcamp
  5. Career Week: Machine Learning Engineer
  6. Career Week: Entrepreneurship
  7. Career Week: Data Science
  8. Career Week: Security
  9. Career Week: QA Engineer
  10. Career Week: Developer Advocate
  11. Career Week: Sales Engineering
  12. Career Week: Technical Program Manager

Week 14 - Project Prep Week & Electives

  1. Intro to Security in Web Development
  2. Refactoring
  3. Interviewing
  4. Resume Writing
  5. Front End Take-home Challenge
  6. Back End Take-home Challenge
  7. Technical Writing
  8. Final Project: Selecting Your Final Project
  9. Final Project: 5 weeks
  10. Resources: Women in Tech
  11. Difficult Workplace Situations
  12. Financial Literacy
  13. Negotiating
  14. Ethics in Software Engineering

Independent Topics

These are not blockers for any of the core sequence and so they are worked into the schedule as time permits.

  1. Interpersonal Conflict Resolution
  2. Diversity, Inclusion & Implicit Bias
  3. Tech Tips and Rules
  4. Giving Presentations
  5. Whiteboarding
  6. Whiteboarding Interview Challenges
  7. Agile Project Management
  8. Intro to Scrum

Optional / Elective Lessons

Creative Commons Open-Source License

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

CC BY-SA 4.0