The curriculum of Techtonica, a free tech training and job placement program for women and non-binary adults with low incomes.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_templates add note about relevant companies in motivation section Oct 25, 2018
accessibility require axe download Nov 24, 2018
agile-development clarify material link names, add slides Oct 15, 2018
ajax Make spacing, plurals, and wording consistent. Aug 16, 2018
algorithms require time complex. lesson Dec 9, 2018
api add career week lessons to roles-in-tech/, finish README Oct 24, 2018
asking-good-questions replace depricated video with article Dec 11, 2018
bootstrap fix typos and clarify lines in early lessons Oct 21, 2018
chrome-developer-tools Make spacing, plurals, and wording consistent. Aug 16, 2018
command-line fix typo Dec 9, 2018
conflict-resolution add title Oct 12, 2018
css add prereqs and motivation Dec 6, 2018
data-structures Prioritize high level understanding over details Nov 21, 2018
data-visualization Point to new data viz slides. Aug 22, 2018
databases fix md Dec 12, 2018
datetime update with new slide and video link Aug 24, 2018
debugging Make spacing, plurals, and wording consistent. Aug 16, 2018
deploying clarify material types Oct 13, 2018
diversity-inclusion-bias just a typo Nov 2, 2018
ergonomics fix typos and clarify lines in early lessons Oct 21, 2018
ethics Merge branch 'master' into master Nov 28, 2018
express-js delete express-topic-outline.md (duplicate) Aug 21, 2018
financial-literacy remove duplicate prerequisite Aug 21, 2018
functional-programming feel free to reject this, but I wanted to try to show the motivation … Dec 7, 2018
git-version-control update with new slide and video link Aug 24, 2018
github-code-storage fix time estimate Dec 11, 2018
github-collaboration fix challenge section bugs Oct 23, 2018
giving-presentations fixing markdown formatting errors Aug 22, 2018
growth-mindset Add Khan Academy/PERTS Growth Mindset lesson plan PDF. Jul 2, 2016
html Update html.md Aug 21, 2018
interviewing Reorder the setup + project instructions Dec 11, 2018
javascript add extensions Dec 1, 2018
jquery Make spacing, plurals, and wording consistent. Aug 16, 2018
learning-to-learn Make spacing, plurals, and wording consistent. Aug 16, 2018
mobile-development Make spacing, plurals, and wording consistent. Aug 16, 2018
navigating-new-codebases Add link to article about navigating codebases Nov 2, 2018
networking add slideshow link and mention linkedin Dec 6, 2018
node-js Add Node.js handbook. Sep 17, 2018
oauth Merge branch 'master' into clare-oauthsample Dec 4, 2018
object-oriented-programming/design_yelp (feat) add comments below each method Oct 12, 2018
open-source Make spacing, plurals, and wording consistent. Aug 16, 2018
operating-systems Make spacing, plurals, and wording consistent. Aug 16, 2018
optimization Include slide and video links, clarify link titles Oct 15, 2018
pair-programming link prereq lessons Nov 29, 2018
personal-brand add check for understanding Nov 25, 2018
popular-tools Make spacing, plurals, and wording consistent. Aug 16, 2018
practice make git collaboration practice file Sep 28, 2018
professionalism initial commit Oct 25, 2018
projects Merge pull request #495 from Techtonica/assessment3 Dec 11, 2018
python Make spacing, plurals, and wording consistent. Aug 16, 2018
react-js update react slide Sep 7, 2018
reading-and-writing-documentation Make spacing, plurals, and wording consistent. Aug 16, 2018
recursion Make spacing, plurals, and wording consistent. Aug 16, 2018
redux initial commit Oct 2, 2018
refactoring Make spacing, plurals, and wording consistent. Aug 16, 2018
requests-and-responses add load balancing explanation Dec 7, 2018
roles-in-tech add career week lessons to roles-in-tech/, finish README Oct 24, 2018
runtime-complexity add note about relevant companies in motivation section Oct 25, 2018
sass Make spacing, plurals, and wording consistent. Aug 16, 2018
seo start slideshow at slide 1 Nov 22, 2018
socioeconomic-differences remove duplicate prerequisite Aug 21, 2018
technical-assessments Make spacing, plurals, and wording consistent. Aug 16, 2018
testing-and-tdd Update testing outline. Apr 24, 2018
ui-ux-design adjust projected time, add check for understanding Dec 11, 2018
vs-code add title Nov 3, 2018
web-patterns Make spacing, plurals, and wording consistent. Aug 16, 2018
welcome-tips-rules Update tech-industry-tips.md Oct 26, 2018
women-in-tech-resources add job board links Oct 24, 2018
writing-readable-code Add semantic. Aug 16, 2018
.gitignore Remove non-essential topics. Clean up duplicate folders. Jan 8, 2018
CONTRIBUTING.md initial commit Oct 5, 2018
LICENSE.MD Add CC BY-SA 4.0 license. Jul 17, 2016
README.md add dns lesson Dec 7, 2018
package-lock.json add career week lessons to roles-in-tech/, finish README Oct 24, 2018
roadmap.md Make spacing, plurals, and wording consistent. Aug 16, 2018

README.md

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.

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:

  • Click a "to-do" issue link and add yourself as the assignee, and pull it into the "in progress" column. (You'll need a github account to comment. If you know someone connected to Techtonica, they may be able to add you to our slack channel.)
  • 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. You are welcome to message questions to past assignees that may still show on the issue.
    • To create an outline, fork the repo or commit directly onto the master branch.
    • To edit a slideshow, you'll need to request edit permission by clicking View Only > Request Edit Access. 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 apprentices. 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, and add the "question" tag to help get our attention.
  • 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, and leave comments about your work if you like. Grazie Mille!!

Table of Contents

Onboarding

  1. Welcome, Tips, and Rules
  2. How to Learn
  3. Growth Mindset
  4. Professionalism
  5. Tech Industry Tips
  6. Roles in Tech
  7. Ergonomics

Programmer Tools

  1. Intro to Command Line Interface Tools
  2. Advanced Command Line
  3. Bash Profile
  4. Vim
  5. Operating Systems
  6. Keyboard Shortcuts
  7. Asking Good Questions
  8. Local Development with VS Code
  9. Networking
  10. Interpersonal Conflict Resolution
  11. How the Internet Works: Requests and Responses
  12. Intro to DNS
  13. How to Pair Program

Client-side Development && Confident Programming

  1. HTML
  2. Recipe Page Project: HTML
  3. Git Version Control
  4. .gitignore
  5. Using GitHub for Code Storage
  6. CSS
  7. Recipe Page Project: CSS
  8. Media Queries
  9. UI/UX
  10. Web patterns
  11. Bootstrap
  12. Building Confidence
  13. Recipe Page Project: Bootstrap
  14. Giving Presentations
  15. Diversity, Inclusion, and Bias
  16. Portfolio Project: HTML, CSS & Bootstrap
  17. SEO: Search Engine Optimization
  18. a11y: Accessibility
  19. Portfolio Project: Incorporating SEO & a11y
  20. Using GitHub for Project Collaboration
  21. Portfolio Project: Personal Branding
  22. Reading/Writing Documentation
  23. Writing Readable Code
  24. Deploy your Portfolio Project: Deploying Client-Side Apps with Netlify
  25. JavaScript: Lessons 1-8
  26. Whiteboarding
  27. Datetime
  28. Testing & TDD
  29. OOP Project: Object Oriented Programming
  30. Chrome Developer Tools: Setup
  31. Runtime Complexity
  32. Debugging
  33. jQuery
  34. AJAX
  35. APIs & JSON

Server-side Development && Agile Programming

  1. NodeJS
  2. ExpressJS
  3. Data Models
  4. .env & config
  5. Relational Databases
  6. SQL
  7. Database Migrations
  8. Intro to Scrum
  9. Eventonica Project
  10. MongoDB
  11. React
  12. Auth0
  13. Functional Programming
  14. Deploying to Heroku with React and Node
  15. Recursion
  16. Memoization
  17. Agile Project Management
  18. Refactoring
  19. Optimization

Data Structures & Algorithms

  1. Intro to Data Structures
  2. Sprint Plan for Data Structures & Algorithms Week
  3. Data Structures: Stacks
  4. Data Structures: Queues
  5. Data Structures: Deque
  6. Data Structures: Linked Lists
  7. Data Structures: Hash Tables
  8. Data Structures: Trees
  9. Intro to Algorithms
  10. Algorithms: Searching
  11. Algorithms: Sorting
  12. Data Visualization

Career Development && Final Project

  1. Navigating New Codebases
  2. Technical Interviewing
  3. Interviewing
  4. Open-source Projects
  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
  13. Final Project: Selecting Your Final Project
  14. Final Project: 5 weeks
  15. Mobile Development
  16. Resources: Women in Tech
  17. Financial Literacy
  18. Negotiating
  19. Ethics in Software Engineering

Optional Resources:

Creative Commons Open-Source License

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

CC BY-SA 4.0