I stopped after Lesson 8 because I wasn’t interested in the rest of the lessons.
Products mentioned:
Scratch - a free, graphical programming drag-and-drop language and community developed by MIT
Visual Studio Code - a free source-code editor
Languages mentioned:
C - an older, lower-level programming language
Python - a more modern, higher-level programming language
HTML - this is not a programming language, but rather a markup language used in websites
Computational thinking is using programming to solve problems.
Problem-solving includes using inputs → outputs.
Binary
Unary (referred to as base-1) - using a single digit to solve a problem, such as counting people in a room using fingers on your hand.
Binary (referred to as base-2) - a two-digit system used by computers, with the digits, or bits, represented by 0s and 1s.
Think of 0s as a light bulb being switched off and 1s as a light bulb being switched on.
8 bits are in a byte.
Moving right to left, 11111111 the first 1 = 1, the second = 2, the third = 4, and all the way to the eighth 1, or the furthest left = 128. So it looks like 128 64 32 16 8 4 2 1
Kilobytes = thousands of bytes
Megabytes = millions of bytes
Gigabytes = billions of bytes
Letters of the Alphabet
Because all of the first eight bits are used to help represent numbers, letters are created differently.
A = 65, or 01000001 because the furthest right 1 = 1 and the next to furthest left 1 = 64; 1 +64 = 65
Thus, B = 66; C= 67
ASCII = American Standard Code for Information Interchange
Created by Americans
Mapped numbers in bits to letters
Unicode is a mapping of numbers to letters in multiple languages and emojis
Colors
Can be represented using binary, in a graphical interface, to designate how much RGB (Red; Green; Blue) is combined to make up a color
Videos
Are simply images made up of pixels that are changed over time, like a flipbook.
Programming terms
Abstraction = the simplification of how something works into high-level goals.
Algorithm = step-by-step instructions for solving a computer problem.
Input → Algorithm → Output
Functions are the equivalent of verbs, i.e. actions. Which is the implementation of an algorithm.
Conditional = an else/if statement.
Boolean expressions = a question with a true/false or yes/no answer.
Loops = code that tells the program to return to a previous line of code.
Arguments → Functions → Side Effects
A cloud-based drag-and-drop visual programming tool using puzzle pieces that link together to develop a program.
Sprite = an interactive character/image in a game or system.
Arguments = input into a function that modifies a behavior.
Side effect = is usually a visual response, or output, to an input.
Return value = when a function provides the user back with something.
From here on is a demonstration of manipulating Scratch. Pay attention, because it does elude to how code is written using the various programming terms and other things previously discussed.
Source code - code that a human programmer writes.
Machine code - the code, binary, the computer writes based on source code.
Compiling - taking the input of source code and outputting it into machine code.
Three goals of programming - correctness (i.e. not buggy), design (e.g. well-designed code runs faster), and style (e.g. formatting for easy visibility).
Visual Studio Code - a free source code editor that includes a compiler.
Terminal - a CLI (Command Line Interface) that uses keyboard strokes to manipulate or run a program.
GUI - Graphical User Interface that manipulates a program based on buttons and other non-keyboard-based interactions.
$ = indication of where to type.
make = command to compile a program in C.
To run a program you use . /<insert program name>