CHAPTER

Part 3 Checklist - “Building Blocks”

Social Activity - Necessary For Getting A Job

[ ] You have found at least 2 meetups to regularly attend each month.

[ ] You have electronically connected with people you met at meetups by on GitHub, LinkedIn, and/or Twitter.

[ ] You have followed at least 50 people on GitHub.

[ ] You have starred at least 100 repositories on GitHub.

[ ] Your Stack Overflow reputation score is at least 10.

[ ] Your GitHub.com user profile says you have committed at least 75 times in the past year.

[ ] You have found mentorship.

Emotions

[ ] You are proud of what you have achieved.

[ ] You are willing to abandon projects if you are too bogged down.

[ ] You know that practice is the only path to greatness when it comes to programming.

HTML

[ ] You know that HTML documents are for marking up content.

[ ] You know that HTML pages should begin with a !doctype declaration

[ ] You know that meta-information goes in the HEAD and that visible content goes in the BODY.

[ ] You understand what “nesting” is.

[ ] You know that some HTML elements are made with opening and closing tags, while others are made with self-closing tags.

[ ] You know the different between opening/closing tags and self-closing tags.

[ ] You know what an HTML attribute is.

[ ] You are familiar with all of the following tags: html, head, meta, link, title, body, div, h1, h2, ul, li. You have notes written in your Coding Journal for each of these tags.

[ ] You know how to write an HTML comment.

[ ] You know how to nest inputs inside a form.

CSS

[ ] You know that CSS stylesheets are for styling HTML elements.

[ ] You know the three ways to connect your CSS to an HTML document.

[ ] You understand how to build a CSS rule.

[ ] You know what how basic CSS selectors work.

[ ] You know how to select an HTML element by class.

[ ] You know what the “cascade” is.

[ ] You know that not all properties are inherited. You know what “inheritance” is.

[ ] You know how the width and height properties work.

[ ] You know the difference between margin, padding, and border.

[ ] You can explain the CSS box model.

[ ] You know the difference between inline, block, and inline-block elements.

[ ] You understand how the display: flexbox and flex: <number> properties work together.

[ ] You know how to write a CSS comment.

[ ] You have used 50 different CSS properties (Make a list in your coding journal until you have at least 50) and you have a pretty good idea of what all of them do.

[ ] You can name 5 different CSS properties that affect how text is formatted.

[ ] You know what height: 50vh means.

[ ] You know how to use media queries.

Libraries

[ ] You understand the insane power of open-source software libraries.

[ ] You have begun to wonder how developers keep track of their libraries, what with their many different versions and all.

[ ] You know what a content delivery network is.

[ ] You know how to import the Bootstrap CSS framework and its dependencies.

Developer Tools

[ ] You are extremely comfortable using the Web Inspector. You know how to dig in and find any element on

[ ] You know how to use the Network developer tools to inspect HTTP headers and bodies.

[ ] You have started to learn hot keys, like command-Z for undo or command-s for save. You are motivated to learn hot keys because they are much faster than the mouse.

[ ] You know how to launch a simple Python HTTP server from the command line.

[ ] You have learned to start checking the JavaScript console for errors when your page isn’t working.

[ ] You know how to disable the browser cache in the Network tab.

[ ] You have installed at least three of the following four browsers on your computer: Microsoft Edge/Internet Explorer, Google Chrome, Mozilla Firefox, and/or Apple Safari.

[ ] You have used the Web Inspector/Elements developer tool on three browsers.

[ ] You have used the Network developer tool on three browsers.

Graphic Design

[ ] You know what graphic design is.

[ ] You know what a mockup is.

[ ] You understand that content can be seen as being contained by boxes.

[ ] You can describe the Box Model.

[ ] You understand that a grid system describes how visual components of a webpage are sized in relation to one another.

[ ] You know that the “Responsive” in Responsive Web Design means that the webpage is responding to different viewport widths.

[ ] You have drawn box diagrams of at least 20 different webpages on the internet, organizing content into rows, columns, and containers. Your Coding Journal is full of these diagrams.

Software Development in Practice

[ ] You understand that debugging is just another part of the software development process.

[ ] You know that you should always think and make a plan before you start writing code.

[ ] You can describe the client-server model, complete with rudimentary drawings.

[ ] You can describe the request-response cycle, complete with rudimentary drawings.

[ ] You know that HTTP is a communications protocol.

[ ] You know that HTTP headers are for metadata.

[ ] You know that HTTP bodies are for data.

[ ] You know what HTTP status codes are.

[ ] You understand that various software components can interface with one another to form larger software systems.

[ ] You know what a dependency is.

[ ] You know what software bloat and technical debt are.

[ ] You know what an API is.

[ ] You know which three programming languages all browsers can understand.

[ ] You know what front-end web development is.

[ ] You know what a relative path is.

[ ] You feel confident in your ability to deploy a webpage to GitHub Pages.

[ ] You know you can use software libraries to write better software faster.

[ ] You know that open-source software is a vital public good.

[ ] You are beginning to think of webpages as software systems.

Job Prep

[ ] You have read the Glossary and written down all of the buzzwords you’ve learned in your Coding Journal.

[ ] All of your repositories have READMEs.

[ ] You have an idea of how to work with business management, designers, and engineering managers.

[ ] You know how to turn tutorials into GitHub repositories that will help you improve your resume.

Required and Inspired Reading

[ ] Read or skimmed the The CSS Book, including Chapters 2, 3, 7, 8, 11, 12, 14, 16, and 17.

[ ] Read Chapters __ of The Linux Book

[ ] You know how to locate documentation on any CSS property or HTML tag on the Mozilla Developer Network.

[ ] You have solved problems by consulting the index of the CSS Book.

[ ] You have solved problems by consulting the index of the Linux Book.

[ ] You have solved problems by finding answers on Stack Overflow.