GithubHelp home page GithubHelp logo

philihp / curriculum Goto Github PK

View Code? Open in Web Editor NEW

This project forked from techtonica/curriculum

0.0 3.0 0.0 8.55 MB

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

License: Creative Commons Attribution Share Alike 4.0 International

Shell 6.63% HTML 6.55% Python 58.21% JavaScript 28.60%

curriculum's Introduction

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 [email protected] 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 [email protected].

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. 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. UI/UX
  9. Web patterns
  10. Bootstrap
  11. Building Confidence
  12. Recipe Page Project: Bootstrap
  13. Giving Presentations
  14. Diversity, Inclusion, and Bias
  15. Portfolio Project: HTML, CSS & Bootstrap
  16. SEO: Search Engine Optimization
  17. Portfolio Project: Incorporating SEO
  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. JavaScript: Lessons 1-8
  24. Whiteboarding
  25. Datetime
  26. Testing & TDD
  27. OOP Project: Object Oriented Programming
  28. Chrome Developer Tools: Setup
  29. Runtime Complexity
  30. Debugging
  31. jQuery
  32. AJAX
  33. 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. a11y: Accessibility
  18. Agile Project Management
  19. Refactoring
  20. 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. Algorithms: Searching
  10. Algorithms: Sorting
  11. 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

curriculum's People

Contributors

achhunna avatar allardbrain avatar alodahl avatar amychan331 avatar arcticmouse avatar at4260 avatar bnak avatar chulinguy avatar davidimoore avatar gitsteph avatar jdq22 avatar jeffct0216 avatar jmorris270 avatar karla-isabel-sandoval avatar kimerie avatar kristalane avatar ladyshaitan avatar lalpert avatar michelleglauser avatar mitzirubi avatar mmedina3 avatar murphdasmurf avatar rcoh avatar sharonw avatar sherzader avatar smcueto avatar spyapali avatar subatomicat avatar wrbooth avatar zzyou avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.