Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions foundation/00_series-intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
Welcome to Foundation, a series aimed at making basic programming concepts accessible to everyone.

Whether you want to write your own software, build interactive websites, or are just curious how the tools you use everyday work – these videos are for you.

38 changes: 38 additions & 0 deletions foundation/01_thinking-like-a-computer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Thinking Like a Computer
In order to write instructions that we want a computer to run, we need to understand a little bit more about how computers "think." Of course, computers aren't able to reason through a situation like a human might, so that means the thinking is our job.
It should help to visualize programming as moving from some input, like five different numbers, to an output, like the average of those numbers. We can think through the steps it takes to calculate an average, so we simply have to pass along those instructions to the computer. That's really all code is!

In plain English, we add the numbers together, then divide the sum by how many numbers there are, and we have an average.
Let's write it out. 12 + 8 + 9 + 27 + 19

Input ---> Output

## Morning Routine
Let's say you want to program your morning routine. This is obviously a bit more complex than calculating an average, so we're going to walk through it.

Your alarm goes off.
If you aren't running late for work, you might hit the snooze once. Loop back to top.
Otherwise, if you are on time
you'll wake up
take a shower
get dressed
have breakfast
brush your teeth
get in your car and drive the speed limit to work
Otherwise, if you're late
you'll wake up
get dressed
brush your teeth
get in your car and speed to work

We can look at this situation as a series of events that branch off, sort of like a tree. This is how we might start to formulate a "program" for our morning routine.


alarmBuzz();
if (timeLeft > 45) {

} else if (timeLeft < 45 && timeLeft > 20) {
wakeUp();
} else {
wakeUp();
}
19 changes: 19 additions & 0 deletions foundation/series-brainstorm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
(Intro to CS)[https://en.wikiversity.org/wiki/Introduction_to_Computer_Science]

## Computational Thinking
Formalize the steps needed to take an input and produce an output
- Some form of pseudo-code that walks through a problem
- If/ElseIf/Else
- Loops
- Boolean conditionals
- Functions

## Introduction to Javascript
What is syntax and why does it matter?
- For loop, expanded syntax
- For loop, shorthand syntax
- Data types in Javascript
- Dynamic language... why?
- Objects
- Built-in objects like Math, Date, etc
- OOP and classes
Empty file added foundation/series-outline.md
Empty file.