Participants will be able to:
- Identify the skills needed to work in tech
- Describe the impact they can have on society by building tech products
Participants will be able to:
- Describe what they can expect from the program
- Describe what the program expects of them
Participants will be able to:
- Ask for help effectively
- Get themselves unstuck
Participants will be able to:
- Celebrate their mistakes while learning from them
- Become aware of fixed mindset pitfalls and shift their mindset
Participants 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
Participants will be able to:
- Edit a file in Sublime Text
- Customize preferences in Sublime Text
Participants will be able to:
- Use the following shell commands:
- ls, cd, pwd
- mkdir, mv, cp- Edit their .bash_profile
- Update their PATH to add a new location
- Chain together commands using |
Participants will be able to:
- 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
Participants 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
- Select HTML elements using the type, .class and #id CSS selectors
- Explain the difference between classes and ids
- Explain what CSS properties and CSS values are, and how they're related
- Describe the 3 ways that CSS code can be incorporated into a project
- Sketch the basic file tree for web projects
- Describe several text properties that can be altered using CSS
- Describe how borders can be styled using CSS
- Describe the hierarchy of specificity for CSS selectors
- Describe the different parts of the "Box" model
- Effectively use the display property
Participants will be able to:
- Write and deliver a short presentation on a topic of their choice
Participants 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
- Design a website using the 12-column Grid system
- Inspect an HTML's box model using Chrome's developer tools
Participants 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
Participants will be able to:
- Use Sass to preprocess the CSS on a web page.
- Add dynamic programming functionality to CSS.
- Implement the DRY (don't repeat yourself) rule.
- Build modular and scalable CSS.
Participants 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
Participants will be able to:
- Create descriptive variable names
- St ore numbers and strings in variables
- Perform math operations on numbers
- Increment and decrement variables
- Obtain a random number
- Find the length of a string
- Index into a string
Participants will be able to:
- Create arrays using the proper syntax
- Create nested arrays
- Index into arrays
- Change data inside an array using index reassignment
- Change data inside an array using
.push()
,.pop()
,.shift()
and.unshift()
- Define a function using proper syntax
- Pass arguments into a function
- Understand the difference between global scope and local scope
Participants will be able to:
- Make comparisons of equality and value
- Determine the Boolean value of a given comparison
- Write a conditional control flow using
if
,else if
andelse
statements - Implement logical operators
&&
,||
and!
Participants will be able to:
- Write proper JavaScript for loop syntax
- Iterate through an array using a for loop
- Write proper JavaScript while loop syntax
- Increment a counter variable properly inside a while loop
Participants will be able to:
- Know when to use a switch statement instead of an if/else statement
- Write a switch statement using proper syntax
Participants will be able to:
- Create Object Literals in Javascript
- Understand property-value pairs
- Assign values to properties with both dot-notation and bracket-notation
- Change the value associated with a property
- Delete property-value pairs
Participants will be able to:
- Read and write RegExps in Javascript
- Use RegExps to test and replace strings
- Understand basic regular expression special characters,
.*+?\w\d
ript (Date Objects | Date Time): use Date() and its methods
Participants will be able to:
- Select a DOM element (much more easily now!)
- Modify existing elements and insert new ones
- Link to jQuery in their HTML pages in the correct place
- Incorporate jQuery code in the correct place in their HTML files
- Select HTML elements by their element type, class and ID with jQuery
- Implement the .on("click") and .on("hover") jQuery methods
- Implement the .append() jQuery method
- Implement the .remove() and .empty() jQuery methods
Participants will be able to:
- Recognize systemic problems and contribute to an inclusive community culture.
- Discuss unconscious bias, privilege, allyship, common issues, microaggressions, empathy, and strategies to improve environments.
Participants will be able to:
- Create request URLs
- Send requests to APIs
- Read and utilize JSON response data
Participants 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)
Participants will be able to:
- Explain the Pros and Cons of using React instead of other tools, like jQuery.
- Create a simple React Component.
- Hook up user actions to state changes in the UI.
Participants will be able to:
- Explain the MVC framework
- Create a basic web app using Node.js for the server and Express.js as the MVC framework
Participants will be able to:
- Download and install Node.js
- Run commands in the Node.js REPL
- Explain non-blocking I/O
- Explain (a)synchronous calls
- Explain event-driven programming
- Come up with a list of web design patterns they encounter frequently during their own Internet and mobile app usage
- Select 3 web design patterns they want to implement on their personal portfolio page
Participants will be able to:
- Explain the purpose of a database
- Explain the concept of a relational database and the use of schemas to enforce 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
Participants will be able to:
- Set up a MongoDB database on their laptops
- Create databases and collections in MongoDB
- Add, query, and remove documents
- Remove databases and collections
Participants 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
Participants 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
Participants 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
Participants will be able to:
- Deploy their web site to Heroku
Participants will be able to:
- Create objects in JavaScript
Participants will be able to:
- Implement a linked list
- Implement a stack
- Implement a queue
- Implement a tree
- Implement a hash table
Participants will be able to:
- Solve problems using common data structures
- Describe their thought process while solving a problem
- Analyze their solution for performance improvements
Participants will be able to:
- Understand the intent of refactoring
- Know when to refactor and when not to
- Know the potential impacts of refactoring
Participants will have a quick introduction to:
- Data visualization
- Import and clean data
- Embed D3 graphs in web apps
- Data science
- Mobile development
- How Objectives- C and Swift are used to develop apps for iOS and how Java is used to develop apps for Android