MCPcopy Index your code
hub / github.com/Techtonica/curriculum

github.com/Techtonica/curriculum @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
268 symbols 566 edges 249 files 13 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Welcome to the Techtonica curriculum!

Techtonica is a non-profit project of SocialGood that offers a software engineering training with a need-based, sliding-scale, subsidized tuition and stipend scholarships for intensive 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 & Contributing:

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. Participant Weekly Expectations Checklist
  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 (YCLA Lesson Plan
  17. Asking Good Questions
  18. Networking (Career)
  19. Chrome Developer Tools: Setup
  20. One of either: Living in Open Workspaces or Working Remotely depending on program status. 😷
  21. HTML
  22. Intro to CSS
  23. JS HTML DOM Methods
  24. Debugging
  25. Recipe Page Project (Phase 1: HTML | Phase 2: CSS)

Week 2 - Webpages: HTML & CSS

  1. Git Version Control
  2. .gitignore
  3. Using GitHub for Code Storage
  4. GitHub Collaboration
  5. Operating Systems
  6. Local Development with VS Code
  7. Article: What Exactly is the DOM?
  8. How the Internet Works (The Other Kind of Networking)
  9. Intro to DNS
  10. Recipe Page Project (Phase 3: Bootstrap | Phase 4: DOM Manipulation))
  11. Media Queries
  12. UI/UX
  13. Bootstrap
  14. Building Confidence
  15. Solving Code Challenges
  16. Git Part 2: Study Guide
  17. Portfolio Project: HTML, CSS, & Bootstrap
  18. Using GitHub for Project Collaboration
  19. Personal Branding in the Portfolio Project
  20. Reading & Writing Documentation
  21. Writing Readable Code
  22. Deploy your Client Side Portfolio Project to Netlify
  23. Portfolio Project: Collaboration and Review

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. Date Objects | Date Time
  8. Basic JavaScript Practice
  9. intro to Testing & TDD
  10. Assigned Reading - Eloquent JavaScript

Week 4 - Intermediate JavaScript and React

  1. JavaScript DOM Manipulation - formerly jQuery
  2. Game Project (HTML & JavaScript)
  3. a11y: Accessibility
  4. SEO
  5. Portfolio Project: Incorporate SEO & a11y
  6. JavaScript 7 - Object-Oriented Programming
  7. Mini Project: Object Oriented Programming in JS
  8. Functional Programming
  9. All React Lessons

Week 5 - Web APIs

  1. Node.js
  2. JavaScript 8 - Regular Expressions / RegEx
  3. Runtime Complexity
  4. Intro to HTTP
  5. APIs & JSON
  6. HTTP Request Practice
  7. Express.js
  8. Game Project (React)

Week 6 - Databases

  1. JavaScript 9 - Async, Callbacks, Promises
  2. Intro to JSON (DigitalOcean)
  3. AJAX
  4. .env & config files
  5. TwilioQuest Exercise
  6. Require and Import Mini Lesson
  7. Install PostgreSQL
  8. Intro to Databases
  9. Data Modeling 1 (Single tables)
  10. SQL 1 (Single tables)
  11. Data Modeling 2 (Multiple tables)
  12. SQL 2 (Multiple tables)
  13. Intro to Docker
  14. Install and Run PostgreSQL using Docker
  15. REST APIs

Week 7 - Advanced JS and React

  1. Full-Stack Web App Using React and Express
  2. Recursion
  3. JavaScript Set Object with JavaScript Tutorial
  4. JavaScript Performance Optimization
  5. React Performance Optimization
  6. Connecting a Full Stack Weather App
  7. Connecting a Full Stack Weather App

Week 8 - Testing

  1. Adding Tests to your NodeJS project
  2. Testing with Jest
  3. Rithm School- Testing with Jestcreate free account to access resource
  4. Jest API Testing Documentation
  5. Testing React Components with Jest and React Testing Library
  6. Trivia Game Project with API Integration

Week 9 - Eventonica

  1. Eventonica Project
  2. Technical Interviewing
  3. Take-home Problems
  4. Non-Tech Interviews
  5. Article by Techtonica Alum: Working in the field as a New Software Engineer out of Bootcamp
  6. Navigating New Codebases

Week 10 - Full Stack Practice

  1. Deploying to Heroku with React and Node
  2. Optimizing your React/NodeJS Project
  3. Enzyme Testing
  4. Endangered Animal Sighting Tracker Project
  5. JavaScript Dequeue

Week 11 - Data Structures & Algorithms

2 mini projects in 1 week! Contact App and choice of Weather App or Game App

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 Hash Maps / Tables
  8. Data Structures: Trees
  9. NP versus P

Algorithms

  1. Intro to Algorithms
  2. Algorithms: Searching
  3. Algorithms: Sorting
  4. Approximation Algorithms
  5. Articulation Points
  6. AVL Tree
  7. Algorithms: Backtracking
  8. Bridges
  9. Distributed Algorithms
  10. Divide and Conquer
  11. External Sorting Algorithms
  12. Fenwick (Binary Indexed) Tree
  13. Fractional Knapsack (Greedy)
  14. Knapsack (Dynamic Programming)
  15. Longest Common Sequence
  16. Longest Increasing Sequence
  17. Minimum Spanning Tree
  18. Parallel Algorithms
  19. Polynomial vs Nondeterministic Polynomial
  20. Red-Black Self-Balancing Tree
  21. Segment Tree
  22. [Sliding Window Technique](/algorithm

Extension points exported contracts — how you extend this code

Event (Interface)
(no doc)
electives/optimization/optimizing-your-react-node-project/src/components/EventfulSearch.tsx
SearchResponse (Interface)
(no doc)
electives/optimization/optimizing-your-react-node-project/src/components/EventfulSearch.tsx
Event (Interface)
(no doc)
electives/optimization/optimizing-your-react-node-project/src/components/OptimizedEventCard.tsx
EventCardProps (Interface)
(no doc)
electives/optimization/optimizing-your-react-node-project/src/components/OptimizedEventCard.tsx

Core symbols most depended-on inside this repo

add_rating
called by 40
javascript/restaurant recommender/design_yelp.py
add_restaurant_to_tag
called by 35
javascript/restaurant recommender/design_yelp.py
add_restaurant
called by 31
javascript/restaurant recommender/design_yelp.py
size
called by 15
javascript/restaurant recommender/Heap.py
get
called by 13
electives/optimization/optimizing-your-react-node-project/src/components/EventfulSearch.tsx
add_user
called by 11
javascript/restaurant recommender/design_yelp.py
add_tag
called by 10
javascript/restaurant recommender/design_yelp.py
set
called by 7
pair-programming/week-7/react-forms-continued/src/Components/form.jsx

Shape

Function 194
Method 53
Class 17
Interface 4

Languages

TypeScript77%
Python23%

Modules by API surface

javascript/restaurant recommender/design_yelp.py32 symbols
javascript/restaurant recommender/Heap.py12 symbols
electives/optimization/optimizing-your-react-node-project/src/components/EventfulSearch.tsx12 symbols
runtime-complexity/runtime1-analyzing.js9 symbols
runtime-complexity/runtime.js9 symbols
prework/2_ConditionalsExercise.js9 symbols
pair-programming/week-4/mini-project-OOP/event.js9 symbols
projects/2023TemplateWithVite/client/src/components/Form.jsx8 symbols
objectives/quizzes/week_12/dom_manipulation_quiz/src/index.js8 symbols
runtime-complexity/runtime2-comparisions.js7 symbols
projects/2023TemplateWithVite/client/src/components/ListStudents.jsx6 symbols
objectives/quizzes/week_11/Quiz_Form_Validation_Testing/src/components/form.js5 symbols

Datastores touched

(mongodb)Database · 1 repos
dog_appDatabase · 1 repos
dbnameDatabase · 1 repos
techtonicaDatabase · 1 repos

For agents

$ claude mcp add curriculum \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page