- Intro to using Git software and the GitHub platform. It's like Dropbox but for code. It lets you collaborate with others and saves your history in case you screw up
- Intro to using Terminal or iTerm, it's faster!
- Downloading a good text editor like VSCode or SublimeText
- Developers use these all the time
- How to open them up / how to use them
- Using them to mess with the Facebook/Google homepage
- HTML is the skeleton
- CSS is the flesh
- Javascript is what makes it all move and respond to things
- Intro to jsfiddle.net for playing around and making shit
- Every website is basically just a bunch of boxes
- Some of the most important tags:
<div>
,<p>
,<h1>
,<span>
,<link>
,<input>
,<button>
and what they are used for
- Defining rules to make your shit look good
- Some of the most important styling properties:
position
,display
,border
,background
, and what they are used for
- You now know everything you need to build your own website and customise it better than SquareSpace and Wix, and put it online
- After this point is 'proper' programming - it can get tricky but this is the good shit. Stop here if you can't be arsed going further
- Javascript has different 'types' of data, what are they?
string
,number
and collections of strings and numbers i.e.array
andobject
, alsoHTML elements
- Intro to 'variables' i.e. storing references to data
- The special
Window
andDocument
objects; how to obtain references to HTML elements. It's thanks to these references that Javascript can do cool stuff
- Q. What kinds of things can you 'do' to data?
- A. Transform it, or display it
- Intro to loops, and how to write a loop. Computers are great at doing the same thing lots of times quickly
- Intro to
if
andelse
- Changing things on a page using
Window.setInterval
- Different data types come with different possibilities; introduction to 'methods'
- Intro to some important methods;
Array.map
,Array.forEach
,Object.keys
- Introduction to
event
s and how to respond to them i.e. responding to actions that the user performs on your page. This means;onclick
,onblur
,onchange
- How to package processes up into re-usable 'functions'
- How to define your own functions
- Programming is all about deciding what abstractions (functions) you need
- Modular thinking and its use even outside of programming