Skip to content
main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
git
Jul 22, 2021
seo
Feb 16, 2021

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

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

Techtonica aims to be more like the workplace to make the transition into the industry better—instead of having an instructor constantly guiding you (which you won't have in any software engineering job), you are given a general schedule of topics and assignments (see our curriculum repo for an idea of the resources provided) and you're expected to figure out what to do on your own or in collaboration with volunteers, mentors, tech groups, and other participants. 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:

If you would like to contribute to the curriculum, please sign up here, then choose an issue in the to-do list.

Get started:

  • Choose an issue from the TO-DO column that seems right for you & leave a comment for Techtonica staff. If you know someone connected to Techtonica, they may be able to add you to our slack channel. If you are here for GHC or Hacktoberfest, message Alina, Leah, or TaLea and say you'd like to pick up the issue.
  • In the issue, you should find a link for a lesson outline and for corresponding slides.
  • If it is in the "TO-DO" column, that means it is available, even if there's an "assignee".
  • To create an outline, fork the repo or commit directly onto the main branch. Here is a topic outline template that explains what we need for each section.
  • To edit a slideshow, you'll need to request edit permission by clicking View Only > Request Edit Access, or message Alina. If you are logged into an account ending in @gmail.com, you can simply make a copy, edit, and transfer ownership to techtonicaorg@gmail.com when you finish. Either way, save on top of the sample template used in the slide, and cut any slides you find unnecessary.
  • To make a video, one effective solution has been to record your screen as you explain the lesson slides to the learner. An alternative can be a video found online that covers all the objectives of the lesson in a way suited to beginners.
  • Here is an example of a great lesson trio: MongoDB Slides, MongoDB Lesson Outline, MongoDB Video.

While working:

  • Comment in the issue if you have a question, or send a slack message.
  • People are welcome to team up on an issue. If you see someone is already assigned but you want to help, leave the other assignee a message on the issue about collaborating.
  • Please note the due date! Any amount of help is appreciated, but if the deadline approaches and you won't be able to complete it, please leave a comment about your progress and unassign yourself from the issue so someone else can pick it up. If you forked the repo, go ahead and make a pull request with what you have, and transfer ownership of a copied slideshow to techtonicaorg@gmail.com.

Completed curriculum:

  • Place a "completed" label on the issue once you've completed it, make a pull request to Techtonica/curriculum main, and leave comments about your work if you like. Grazie Mille!!

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, participants meet weekly for 4 weeks to learn JavaScript fundamentals. Participants should memorize common JavaScript built-in functions within the first month.

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 Review
  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. One of either: Living in Open Workspaces or Working Remotely depending on program status. 😷
  23. 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. Bootstrap
  12. Building Confidence
  13. Recipe Page Project: Bootstrap
  14. Solving Code Challenges
  15. Git Part 2: Study Guide
  16. Portfolio Project: HTML, CSS & Bootstrap
  17. Using GitHub for Project Collaboration
  18. Portfolio Project: Personal Branding
  19. Reading/Writing Documentation
  20. Writing Readable Code
  21. Deploy your Portfolio Project: Deploying Client-Side Apps with Netlify
  22. Portfolio Project: Collaboration and Review
  23. 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. Datetime
  8. Basic JavaScript Practice
  9. Testing & TDD
  10. Assigned Reading - Eloquent JavaScript

Week 4 - Intermediate JavaScript

  1. JavaScript DOM Manipulation - formerly jQuery
  2. HTML/JS Game Project
  3. a11y: Accessibility
  4. Portfolio Project: Incorporating a11y
  5. JavaScript 7 - Object-Oriented Programming
  6. Mini Project: Object Oriented Programming in JS
  7. Adding Jest 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. Node
  9. import & require
  10. Express

Week 7 - Databases

  1. Intro to Databases
  2. Data Modeling 1 (Single tables)
  3. Install Postgres
  4. SQL 1 (Single tables)
  5. Data Modeling 2 (Multiple tables)
  6. SQL 2 (Multiple tables)
  7. Adding Tests to your NodeJS project

Week 8 - Eventonica with React

  1. Eventonica Project
  2. All React Lessons

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 & Review

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

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: Underrepresented in Tech
  11. Difficult Workplace Situations
  12. Financial Literacy
  13. Negotiating
  14. Ethics in Software Engineering

Weeks 15+ Final Project

After Week 14, Participants build a full-stack web application in the course of one month, from inception to production. This includes:

  • Creating project planning docs with wireframes
  • Planning out must-have features for their MVP
  • Updating status on their Trello board to meet weekly milestones/sprints
  • Gathering user feedback and adapting their remaining MVP plan
  • Deploying their application to Heroku
  • Recording a compelling demo for the finished product

For more details, see Final Project.

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