Andy's Notes

Course 1: Webpages, Documents, and Structure
Course 2: Telling Computers what to do
Course 3: The Power of Abstraction
Course 4: The Full Stack

Course 1: Webpages, Documents, and Structure

This was my introduction to the world of coding. I wrote some simple HTML and CSS to make static web pages. I was first introduced to the principle of 'Don't Repeat Yourself' in this course when I started using HTML classes and CSS styling to make similar HTML elements look the same.

  1. Lesson 1 - The Basics of the Web and HTML

    The internet is a bunch of computers communicating over HTTP

  2. Lesson 2 - Creating a Structured Document with HTML

    How elements within elements creates a structured 'box-like' model of a web page.

  3. Lesson 3 - Adding CSS Style to HTML Structure

    By giving similar HTML elements the same 'class', we can write all the styling for that class just ONCE and it will apply to every element.

Best Video: Interview with Jacques

Jacques, A professional front-end web developer, explains how he 'boxifies' designs.

More Resources

Course 2: Telling Computers what to do

I learned the programming basics: variables, functions various data types (strings, numbers, lists...), etc... This course was definitely hard and I still don't feel like an expert in solving problems with Python, but I can at least read and reuse other people's code if I want to.

  1. Lesson 1 - Introduction to Serious Programming

    Answers questions like: What's a program? What's a computer? What's a programming language?

  2. Lesson 2 - Variables and Strings

    We can store textual information (strings) in titled containers (variables)

  3. Lesson 3 - Input --> Function --> Output

    A function is something that takes input, does something with that input, and then returns something else as output.

  4. Lesson 4 - Decisions and Repetition - If and While

    Control flow statements (like 'if' and 'else') let us execute different blocks of code depending on some condition. While loops let us repeat a certain block of code many times until a certain condition is met.

  5. Lesson 5 - How to Solve Problems

    The first step in solving large problems is to understand the problem. We do this by 1) understanding the inputs. 2) understanding the outputs. And 3) writing a function to correctly produce the desired output from the input.

Best Video: Making vs Using Functions

A review of Python functions as well as a good explanation of the difference between making and using functions.

More Resources

Course 3: The Power of Abstraction

This course taught me how to avoid repetition in my code by defining 'Classes' of 'Objects' with similar properties. This 'Object-Oriented' style of programming also lets me think about programs in a way that I'm familiar with

  1. Lesson 1 - Use Functions

    A review of functions in Python.

  2. Lesson 2 - Use Classes - Draw Turtles

    Learn how to use Python 'classes' which other programmers have already written.

  3. Lesson 3 - Use Classes - Send Text

    Use 'Twillio' to send text messages to people with code!

  4. Lesson 4 - Use Classes - Profanity Editor

    Learn about how to work with files while making a profanity editor.

  5. Lesson 5 - Make Classes - Movie Website

    Learn how to make your own Python 'classes' and build a website that displays movie information.

  6. Lesson 6 - Make Classes - Advanced Topics

    Learn about topics like Class methods, Inheritance, and Method Overriding.

Best Video: Vocabulary Recap

A review of important vocabulary from the course like class, instance, constructor, instance variables, instance methods, and self.

More Resources

Course 4: The Full Stack

This course taught me how to actually make a web page! I learned about and wrote 'server-side' code and used Google AppEngine to host my page.

  1. Lesson 1 - Introduction to Networks

    Networks (like the internet) are made of a bunch of links between 'nodes'. Information can be sent on a network by passing it from node to node until it reaches its destination.

  2. Lesson 2 - Make the Internet Work for You

    When you type a URL into your browser and hit Enter, a 'request' gets sent to a server. The server handles that request and sends back a 'response'.

Best Video: Handling HTML Input

A great explanation of why it's so important to properly handle user input (and the bad things that could happen if we don't).

More Resources