I211 Unit 1: Foundations

In I210, we learned the foundations of programming using Python. The goal was to write a computer program.

In I211, the goal is to write multiple computer programs, using multiple languages and an upgraded workflow, that work together as a web application.

The structure of our programs will change. In I210, you likely learned programs contain these three steps:

INPUT
PROCESSING
OUTPUT

In I211, programs will be upgraded to at least this:

INPUT 
  (+ format input to be usable within our program + data cleaning)
PROCESSING 
  (+ data validation)
OUTPUT 
  (+ more complex data + databases)

What are our goals in I211?

The goal is to be able to create a full stack web application, which will require us to address the following:

  • Design: How do we turn an idea or a feature into a program?

  • Code: Write better code, manage code changes, and share code with others.

  • Test: What are edge cases and how do we test for them? How do we prevent bad or malicious data entry? How do we ensure that your code will work in another environment?

  • Release: How do we move code from one environment to another?

We will also upgrade our workflow

Your workflow will not just be running Python in VS Code, it will involve multiple technologies working together. We will begin by introducing the command line, and technologies that support web development, such as Git and Github.

We will then review Python with the goal of introducing testing of our code, working with GitHub repositories, and eventually installing Flask (a popular Python-based web application framework).