Prework

Introduction

There are quite a few tasks and learning topics that are necessary to take care of before we can actually start learning how to be developers. Rather than using class time to get through these, I expect that you can accomplish and learn these things without assistance so that we can spend class time only on those things that are difficult to learn on your own. That being said, feel free to email me if you have any questions.

We don’t believe you can really learn to program by watching a few videos and answering some questions (and if you believed that, you probably wouldn’t be coming to The Iron Yard). However, skill acquisition takes a long time, and this work will help introduce you to some of the ideas and skills that will form the foundation of your in-person learning experience.

This work should be completed by April 27. I will assume that you have completed this work before class, so you will likely feel very far behind if you haven’t finished when we start class on May 3rd. If you have ANY questions at all, please reach out to me at clinton@theironyard.com.

In order to complete some of these tasks, you will need to register for an account with Treehouse. Treehouse is free for 14 days (which should be more than enough to finish the required courses), and is $25/month after the trial.

Objectives

The following are the learning objectives for this prework, all of which are important requirements expected of a professional developer. Although only a subset are technically "programming" skills, they are important to success both during the class and on the job.

The prework should assure us that you can:

Not surprisingly, you will continue to work towards these objectives throughout the course.

Accounts

GitHub

GitHub is a web-based hosting and communication service for software development projects that uses the Git revision control system.

  1. Sign up for an account at GitHub.
  2. Make sure to add a profile picture and your full name, since this will help me learn your name and face.

Treehouse

Sign up for an account at Treehouse. Signing up does require a credit card, but you will have a free trial for the first 14 days. If you do not have any access to a credit card, that is ok! Let me know via email and I can help you make that happen.

Topic 1: Your Brain

After reading these articles, please fill out the following survey:

Topic 2: Python

We will be covering the fundamentals of Python in detail in our class, but having a shared vocabulary from the beginning is essential to us quickly jumping in.

  1. Join the Python track on Treehouse.
  2. Complete the Python Basics, Python Collections, and Object-Oriented Python sections. Further sections are optional and may not apply fully to the class.

Topic 3: The Command Line

The command line is an interface to the internals of your computer, as opposed to the graphical user interface (GUI) that we commonly use. We will be using the command line extensively in our class, but the point of this prework is not to be an expert, just to start to get comfortable.

Especially if you’ve never used the command line before, you may want to go through these more than once. Make sure not just to read/watch, but really dive in and use the commands that you learn about.

  1. Read this Treehouse blog post about command-line basics.
  2. Go through the Treehouse course on Getting Started with the Console.
  3. Go through the Treehouse course on Users and Permissions.
  4. Go through the Treehouse course on Environment and Redirection.

Topic 4: Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

It is a command line tool that we will be using for every project we do in class. Again, the objective is not to become an expert before the class, but just to start to get comfortable.

  1. Go through the Treehouse course on Git Basics
  2. Do the Try Git Exercises
  3. Read some of the GitHub Guides:
  4. Hello World
  5. Getting Your Project on GitHub
  6. Understanding the GitHub flow
  7. Forking Projects
  8. Mastering Markdown

Topic 5: HTML/CSS

Almost done. Although we're not going to talk about them in the first few weeks of class, HTML and CSS are the foundation of all the content of a webpage or web app. This will help get you primed so that we can keep our momentum when we shift from pure Python to Django.

Fill out the final survey

Once you have finished the prework given above, complete the following survey:

Whew, you did it. Now, your only remaining assignment is to get some sleep before class starts. You're going to need it!

Bonus prework

The following exercises are not required! However, if you find yourself struggling with the above, or if you have more time you'd like to spend before class, here are some further resources: