Python - Jan 2015

Resources for the TIY-Durham Python course.

View the Project on GitHub tiyd-python-2015-01

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.

I 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 January 5 and any deliverables should be emailed to me at clinton@theironyard.com by then. 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 January 12th.

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. Though they are not technically “programming” skills, they are crucially important to success both during the class and on the job.

  1. Be able to communicate technical accomplishments and struggles in writing.
  2. Be able to learn in contexts that aren’t necessarily suited to your primary learning style.
  3. Adapt to the workflows used by professional developers (using the command line in particular)
  4. Be able to write very simple Python programs.
  5. Describe the importance of mindset on learning and be able to analyze one’s own type of mindset.

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.
  3. Email me the username you choose so that I can get you added to the group we’ll be using for class. (You will need to email me several things. Feel free to bundle these up.)

Treehouse

  1. 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.
  2. At the top of the page once you’re signed in, you should see your picture. Click on that and go to “view profile.” Once you’re on your profile, copy the URL and email it to me. The URL will look like this: http://teamtreehouse.com/clintondreisbach, but with your name in the URL instead of mine.

Mindset

  1. Read Fixed vs. Growth: The Two Basic Mindsets That Shape Our Lives.

  2. Compose an email to me answering the following questions:

    • Which type of mindset (growth or fixed) do you think you are most strongly associated with? Why?
    • What difficulties do you predict that you will encounter during our course? How have you reacted to similar situations in the past? How do you plan on reacting to these situations during the class?

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.

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. When reading the article, go through all the exercises in the article.
  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.

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.

Go through the Treehouse course on Git Basics.

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: