Skip to content

Latest commit

 

History

History
199 lines (137 loc) · 5.61 KB

roadmap.md

File metadata and controls

199 lines (137 loc) · 5.61 KB

Techtonica Roadmap

What is Tech?

Students will be able to:

  • Identify the skills needed to work in tech
  • Describe the impact they can have on society by building tech products

Welcome, Tips, and Rules

Students will be able to:

  • Describe what they can expect from the program
  • Describe what the program expects of them

How to Learn

Students will be able to:

  • Ask for help effectively
  • Get themselves unstuck

Growth Mindset

Students will be able to:

  • Celebrate their mistakes while learning from them
  • Become aware of fixed mindset pitfalls and shift their mindset

How to Pair Program

Students will be able to:

  • Pair program as the driver, typing code and figuring out syntax
  • Pair program as the navigator, telling the driver what to type

Developer Tools Setup

Students will be able to:

  • Edit a file in Sublime Text
  • Customize preferences in Sublime Text

Command Line

Students will be able to:

  • Use the following shell commands:
    • ls, cd, pwd
    • mkdir, mv, cp
    • sudo, man, grep
  • Edit their .bash_profile
  • Update their PATH to add a new location
  • Chain together commands using |

Git

  • Use the following git commands:
    • add, commit, status, log
    • rm, stash [pop], reset [soft/hard]
    • remote [-v/add], push [-f], fetch, clone
    • checkout [-b], merge, push -u
  • Fork a repository, clone it to their computer, and submit a pull request with their commits

HTML and CSS

Students will be able to:

  • Write semantic markup using <html> <head> <title> <body> <h1-6> <p> <ul>/<ol>/<li> <code>
  • Use <a> and <img> and explain the difference between a tag, tag name, tag attribute, and the content contained by the tag
  • Add structure to a site using <div> <span> <nav> and use CSS selectors to style different sections differently
  • Write CSS selectors that target a specific tag
  • Change the color, background-color, font, font-size, text-align, cursor

Giving Presentations

Bootstrap

Students will be able to:

  • Incorporate Bootstrap by linking to it from a CDN
  • Incorporate Bootstrap by downloading it to their project directory
  • Create a responsive layout that looks appropriate in both desktop and mobile browsers

UI/UX Design

Students will be able to:

  • Explain the role of user interface design in providing a good user experience
  • Choose fonts, layouts, and colors that support their site's goals

Sass

Students will be able to use Sass to preprocess the CSS on a web page.

JavaScript

Students will be able to:

  • Use variables and math operators
  • Use conditionals, loops, and functions
  • Use arrays and dictionaries
  • Use the <script> tag to add JavaScript to a web page
  • Select a DOM element
  • Use the Developer Console to debug their JavaScript

jQuery

Students will be able to:

  • Select a DOM element (much more easily now!)
  • Modify existing elements and insert new ones

Inclusion

Students will understand how to recognize systemic problems and contribute to an inclusive community culture. Students will discuss unconscious bias, privilege, allyship, common issues, microaggressions, empathy, and strategies to improve environments.

APIs / AJAX

Students will be able to:

  • Explain the difference between synchronous and asynchronous calls
  • Read the documentation for an API (e.g., Twilio API)
  • Make asynchronous calls to an API
  • Use threads and promises to update the UI when an API call returns
  • Execute tasks on specific threads (e.g., modifying UI on the main thread)

React

Students will be able to:

  • Explain the Pros and Cons of using React vs. other tools, like jQuery
  • Create a simple React Component
  • Hook up user actions to state changes in the UI

Web Patterns

Python

Django

Databases

Students will be able to

  • Explain the purpose of a database
  • Explain the concept of a commonly relational database and it's structure
  • Execute basic SQL commands for CRUD with a database
  • Perform basic selects and joins to find the requested information
  • Create tables using DDL
  • Understand the existence of different SQL dialects
  • Understand the existence of other database types

Agile Development

Students will be able to:

  • Explain the difference between agile and waterfall methodologies
  • Break down a business case into user stories and tasks
  • Estimate the relative sizes of user stories and assign it to an agile board
  • Participate in a team retrospective

Documentation

Students will be able to:

  • Add inline documentation in their HTML, CSS, and JavaScript files
  • Add a README.md file to their project with correct Markdown formatting

Testing

Students will be able to:

  • Practice Test-Driven Development by writing failing unit tests and making them pass
  • Write integration tests using a UI testing framework

Deployment

Students will be able to deploy their web site to Heroku.

Object-Oriented Programming

Students will be able to create objects in JavaScript.

Data Structures

Students will be able to:

  • Implement a linked list
  • Implement a stack
  • Implement a queue
  • Implement a tree
  • Implement a hash table

Interviewing

Students will be able to:

  • Solve problems using common data structures
  • Describe their thought process while solving a problem
  • Analyze their solution for performance improvements

Refactoring

Mobile Development

Students will understand how Objective-C and Swift are used to develop apps for iOS and how Java is used to develop apps for Android.

Data Visualization

Students will be able to:

  • Import and clean data
  • Embed D3 graphs in web apps

Data Science

Students will be able to: