Skip to content

Instantly share code, notes, and snippets.

@mbburch
Last active October 22, 2016 21:43
Show Gist options
  • Save mbburch/82b2a10a5e8e3b100b41 to your computer and use it in GitHub Desktop.
Save mbburch/82b2a10a5e8e3b100b41 to your computer and use it in GitHub Desktop.
If you have about a month to prepare for Turing, here are your pre-work requirements and a schedule to follow.

Prework: If you Have a Month

Priorities:

First Week's Suggested Schedule

Daily Tasks:

Task Accountability Check Time Frame
Task A- Practice typing:
http://typing.io - Aim for 25 wpm without looking at the keyboard. Focus on Ruby, but other languages are also valuable practice.
As you finish each level, save a screenshot of your progress and post it as a comment in your Gist (see Day One task). 10 minutes a day
Task B- Algorithmic Thinking & Logic:
Sign up for a free account & do all of the free Computer Science Warmups Concepts & Challenges at Brilliant.org. Spread these exercises out over the next week as you see fit.
Take a screenshot when you complete each quiz (Labyrinth Liberation, Dinner Date, Algorithm Accomplished) and post it as a comment in your Gist (see Day One task). About 5 minutes a day

Day One:

Task Accountability Check Time Frame
Task C- Create a public GitHub Gist where you will keep track of your pre-work progress. Watch this video for instructions on forking the template I've created for you.

Use this template for your Gist: https://gist.github.com/mbburch/6800167c8e757c85f78b.
Any time you add a comment to your Gist, reference the task label (A, B, C, etc.) as I've done in the example Gist. This will make it easier for you and your mentor to know what Gist responses go with which tasks. Note: When adding images to your Gist, make sure they are saved as a .jpg or a .png file.
Share the link to your Gist with your student mentor. Check your email if aren't sure how to contact your student mentor. 10 minutes
Task D- Set up your environment (Atom, Ruby, etc.)

If you are a Mac user: Watch this screencast or read this post to guide you. The screencast and the post cover the same information.

If you are a Windows user: Rachel add info here! Cloud9??
Respond to the following questions in your Gist:
  • Did you run into any issues?
  • How do you open Atom from your Terminal?
  • What is the file extension for a Ruby file?
  • What is the Atom shortcut for hiding/ showing your file tree view?
  • What is the Atom shortcut for quickly finding a file (fuzzy finder)?


Type the following commands into your Terminal to ensure you have Ruby, RVM, and Git installed. Take a screenshot that shows the versions of each of these, and post it as a comment in your Gist:
  • which ruby
  • git --version
  • rvm --version
About 45 minutes
Task E- Start learning to use the command line.
Watch this video.

Read AND do these exercises in your terminal: http://cli.learncodethehardway.org/book
For today:
  • Introduction: Shut Up And Shell
  • The Setup
  • Paths, Folders, Directories (pwd)
  • What's Your Computer's Name? (hostname)
Did you make the flashcards in Setup? Post a picture of your flashcards as a comment in your Gist.

Answer the following questions in your Gist:
  • What does pwd stand for, and how is this command helpful?
  • What does hostname tell you, and what shows up in YOUR terminal when you type hostname?
About 45 minutes
Daily Tasks (Typing Practice & Algorithmic Thinking/ Logic) See instructions in Daily Tasks section 15 minutes

Day Two:

Task Accountability Check Time Frame
Task E- Read AND do these command line exercises in your terminal: http://cli.learncodethehardway.org/book
For today:
  • Make A Directory (mkdir)
  • Change Directory (cd)
  • List Directory (ls)
Take a screenshot of your terminal after completing each exercise, and post all three as comments to your Gist. 20 minutes
Task F- Choose your Ruby adventure!
  • Option 1: If you are ready to jump into using your own text editor (Atom) and the terminal to learn Ruby (I think any of you can tackle this, but see option 2 if you need to ease in more), go here: http://curriculum.railsbridge.org/ruby/ and go to the directions for Option 1 below.
  • Option 2: If you are feeling totally overwhelmed by Terminal, command line, etc., and just want to start with some basic Ruby practice before trying Option 1, go here: http://tryruby.org and go to the directions for Option 2 below.
See directions for the option you choose. n/a
Option 1:
Pace yourself as you work through this, and plan to spend at least 30 minutes a day on it. Focus on the sections from "irb" through "hashes" (you may skip "Summary: Tools").
If you don’t understand something, try doing it again. IRB, in particular, is a very helpful tool that you will use often.
In your Gist, list the sections that you work through each day, and answer the questions in the Gist template that connect to the sections you worked through. 30 minutes
Option 2:
Complete Try Ruby through Level 4. Sign up for CodeSchool so you can save your badges and track your progress.

When you are finished, you will move on to Option 1! It’s okay to skim through some of the things you already learned, but focus on using irb, and take your time with new information. Repetition is your friend.
In your Gist, list the levels you work through each day. As you finish each level, take a screenshot of your badge, and post it as a comment in your Gist. 30 minutes
Daily Tasks (Typing Practice & Algorithmic Thinking/ Logic) See instructions in Daily Tasks section 15 minutes

Day Three:

Task Accountability Check Time Frame
Task E- Read AND do these command line exercises in your terminal: http://cli.learncodethehardway.org/book
For today:
  • Remove Directory (rmdir)
  • Moving Around (pushd, popd)
Take a screenshot of your terminal after completing each exercise, and post them as comments in your Gist. 20 minutes
Task F- Continue learning Ruby with the option you chose above. Option 1: In your Gist, list the sections that you worked through today, and answer the questions in the Gist template that connect to those sections.
Option 2: In your Gist, list the levels you worked through today. As you finish each level, take a screenshot of your badge, and post it as a comment in your Gist.
30 minutes
Daily Tasks (Typing Practice & Algorithmic Thinking/ Logic) See instructions in Daily Tasks section 15 minutes

Day Four:

Task Accountability Check Time Frame
Task E- Read AND do these command line exercises in your terminal: http://cli.learncodethehardway.org/book
For today:
  • Making Empty Files (Touch, New-Item)
  • Copy A File (cp)
  • Moving A File (mv)
Take a screenshot of your terminal after completing each exercise, and post them as comments in your Gist. 20 minutes
Task F- Continue learning Ruby with the option you chose above. If you started with Try Ruby, switch to Option 1 today, and make sure you read over the directions from Day Two! Option 1: In your Gist, list the sections that you worked through today, and answer the questions in the Gist template that connect to those sections.
Option 2: In your Gist, list the levels you worked through today. As you finish each level, take a screenshot of your badge, and post it as a comment in your Gist.
30 minutes
Daily Tasks (Typing Practice & Algorithmic Thinking/ Logic) See instructions in Daily Tasks section 15 minutes

Day Five:

Task Accountability Check Time Frame
Task E- Read AND do these command line exercises in your terminal: http://cli.learncodethehardway.org/book
For today:
  • View A File (less, MORE)
  • Stream A File (cat)
  • Removing A File (rm)
Take a screenshot of your terminal after completing each exercise, and post them as comments in your Gist. 20 minutes
Task F- Continue learning Ruby. You should be working on Option 1 at this point. In your Gist, list the sections that you worked through today, and answer the questions in the Gist template that connect to those sections. 30 minutes
Daily Tasks (Typing Practice & Algorithmic Thinking/ Logic) See instructions in Daily Tasks section 15 minutes

Day Six:

Task Accountability Check Time Frame
Task F- Continue learning Ruby. You should be working on Option 1 at this point. In your Gist, list the sections that you worked through today, and answer the questions in the Gist template that connect to those sections. 30 minutes
Daily Tasks (Typing Practice & Algorithmic Thinking/ Logic) See instructions in Daily Tasks section 15 minutes

Day Seven:

Task Accountability Check Time Frame
Task F- Continue learning Ruby. You should be working on Option 1 at this point. In your Gist, list the sections that you worked through today, and answer the questions in the Gist template that connect to those sections. 30 minutes
Daily Tasks (Typing Practice & Algorithmic Thinking/ Logic) See instructions in Daily Tasks section 15 minutes

Next Steps

#### After the first week of pre-work, spend at least 30 minutes a day working through the following tasks in order:
Priority Level Task Accountability Check
Priority 1 Complete the Railsbridge Curriculum you started above, from "Loops" through "How to Write a Program." Respond to the following prompts in your Gist:
  • Loops: Take a screenshot of your "Challenge" program, and post it as a comment in your Gist
  • What challenges did you try for "Summary: Basics"? Post a screenshot of one of your programs
  • Functions: How do you call a function and store the result in a variable?
  • Describe the purpose of the following in Ruby classes: initialize method, new method, instance variables.
  • How to Write a Program: Screenhero with your student mentor and share your program. In your Gist, write a bit about what you found most challenging, and most enjoyable, in creating your program.
Priority 2 Dive deeper, and reinforce your Ruby knowledge, by following along & doing the exercises in Launch School's Ruby book. (You may skip over all the setup in "Preparation," but do read all the sections from Documentation onward.) As you complete the exercises for each section, take a screenshot of your terminal or text editor that shows your work, and post it as a comment to your Gist, listing the exercise topic as the comment heading.
Priority 3 Learn how to use Git & GitHub for version control (you’ll use this all the time at Turing): https://www.codeschool.com/courses/try-git. Be sure to read the advice section as you work your way through. After you complete the course, save a screenshot of your badge as a jpeg, and post it as a comment in your Gist.
Priority 4 Improve your workflow with Regis’ video on using Atom & Spectacle Write a brief Gist describing your thinking on effective workflow. What shortcuts do you think you'll find most useful? What would you like to learn or practice that will most help you improve your speed and workflow?
Priority 5 Become a command line master by working through Michael Hartl's command line book. Take time to do the exercises. (NOTE... don't need to repeat what you've already done in the prior command line lessons) As you complete each section, respond to the related questions below (mostly taken directly from the tutorial exercises):
  • 1.3: By reading the "man" page for echo, determine the command needed to print out “hello” without the trailing newline. How did you do it?
  • 1.4: What do Ctrl-A, Ctrl-E, and Ctrl-U do?
  • 1.5: What are the shortcuts for clearing your screen, and exiting your terminal?
  • 2.1: What is the "cat" command used for? What is the "diff" command used for?
  • 2.2: What command would you use to list all txt files? What command would you use to show all hidden files?
  • 3.1: How can you download a file from the internet, using the command line?
  • 3.3: Describe two commands you can use in conjunction with "less".
  • 3.4: What are two things you can do with "grep"?

Extend your Learning

#### If you have completed all the priorities above, the following options are not required, but give them a try if you just haven't had enough Ruby.
Task Accountability Check
Write a Ruby program to encrypt and decrypt secret messages (get better with Atom & the command line): http://tutorials.jumpstartlab.com/projects/encryptor.html. Contact your student mentor, and ask them to help you use Screenhero to share your work with them. If you’re feeling extra savvy, try using GitHub for version control as you do this tutorial. Spread the work on this out over a few days, and give yourself time for repetition. There are some concepts in here that you’ll use a lot (classes, File I/O, etc.) Walk your student mentor through your project over Screenhero. If you used GitHub, post your repo to your Gist.
Work through the Ruby lessons on CodeAcademy to reinforce your learning (this is a good resource if you have somehow made it this far without setting up your environment). Take a screenshot of your completion badges, and post it as a comment in your Gist.
More algorithmic thinking & logic: Return to https://brilliant.org and work through the free logic sections. Brilliant will also give you new challenges on the home page each day. Try your hand at these. Take a screenshot when you complete each section (numbers turn green when you have answered correctly) and post it as a comment to your Gist.
Continue working on http://typing.io. Try and reduce your errors and get your speed up to 35-40 wpm. Work through the Ruby section twice. As you finish each level, take a screenshot and post it as a comment to your Gist.
If you still want more, here are two paid, in-depth options for learning Ruby:
These are completely optional! No need to keep track of anything in your Gist.

Task G (final task)- Pre-work Reflection:

To sum up your pre-work, answer the following questions in your Gist:

  • Were you able to get through the work? Did you rush to finish, or take your time?
  • What are you most looking forward to learning more about?
  • What topics would you most like to see reinforced by instructors?
  • What is most confusing to you about what you've learned?
  • What questions do you have for your student mentor or for your instructors?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment