Giter Site home page Giter Site logo

code-201-prework's Introduction

Code 201: Foundations of Software Development

Pre-work

There is mandatory pre-work for Code 201 that counts as 5% of your total course grade. You'll have the opportunity to report your progress on these assignments in our Learning Management System shortly after you've completed the enrollment process. In the meantime, please keep notes on your progress through these pre-work assignments, including the time you have invested in them and also details on any questions or problems you encounter.

Pre-work is outlined in nine steps on this page. Note that in Step 3 there are specific instructions that are dependent upon your operating system, and also keep in mind that upon completing those steps that there are still Steps 4-9 to complete on this page, including code tutorials that take quite a bit of time.

Start on the pre-work as soon as you can and be sure to allow yourself plenty of time to complete it. Expect to spend, at a minimum, several evenings and a weekend day or two to get everything completed. Allow yourself more time than you think you will need so that you can take breaks and work at a methodical pace without rushing or trying to cut corners. Detailed time estimates are provided in the following overview.

NOTE: If you have taken Code 101 already, skip to #3. The guide in #3 is similar to Code 101's pre-work but contains additional steps you must complete prior to Code 201.

Overview of Pre-work Steps (time to complete per item)

  1. Code 101 (optional, one full 12-hour day) Details
  2. Laptop readiness (time for this can vary widely depending upon the age and condition of your laptop)
  3. Setup Guide for Your OS (multiple downloads are involved; 1-3 hours depending on your network speed)
  4. Download and Install Slack (15-30 minutes)
  5. Purchase Required textbooks (15-30 minutes)
  6. Brush up on Algebra (1-2 hours)
  7. Practice the Terminal (2-3 hours)
  8. Read through a Git tutorial on Udemy (1-2 hours)
  9. Tutorials on Codecademy
  • HTML/CSS (Codecademy estimates 7 hours; we suggest allowing 10 hours)
  • JavaScript (Codecademy estimates 10 hours; we suggest allowing 20 hours because this is the most challenging piece of the pre-work)
  1. Complete the textbook readings for Day 1 of class (2-3 hours)

Total estimated time for pre-work Steps 3-10: 23.5 to 43 hours of working time (not counting breaks)

1. Code 101 (optional, one full 12-hour day)

If you are completely new to coding, consider completing Code 101 to build your first website using HTML and CSS and to find out if a career in software development is right for you.

2. Ensure your laptop up to the task of coding (time for this can vary widely depending upon the age and condition of your laptop)
  • Is virus and malware free
  • Uses the latest, stable, updated version of its operating system
  • Has a functioning screen, keyboard, and trackpad
  • Has plenty of free hard drive space and memory
  • Can reliably connect to wireless networks
3. Complete the setup guide for your computer's operating system (multiple downloads are involved; 1-3 hours depending on your network speed)

Following completion of these Pre-work assignments, you should:

  • Have a terminal with a Git compatible prompt
  • Be able to receive a valid response when typing "git --version"
  • Be able to open Atom from the Terminal or Git Bash.
4. Purchase the required textbooks (15-30 minutes)

If you haven't already, purchase this textbook set prior to the first day of class:

5. Brush up on Algebra (1-2 hours)

Take some time to review essential algebra. These kinds of logical and mathematical concepts will be very useful to you as you dig into writing code.

Here's a list of algebra topics for your review:

http://www.mathsisfun.com/algebra/index.html

You don't need to read through each topic, but you should have familiarity with most of them. You should have good familiarity with exponents and polynomials, and be sure to read the sections on Functions and Logarithms, as well as any others that look interesting to you.

6. Practice the Terminal (1-2 hours)

One significant aspect of creating software is interacting directly with text files. One of the most efficient ways to do this is through the Terminal, or Command Line.

If you aren't already, this is a great time to get used to the command line. Here are a few tutorials that can assist you:

  1. Treehouse - This is a great set of online video tutorials with practice problems/quizzes. It is free to try (2 week trial).

    Do the first part of Console Foundations course (just the "Getting Started With the Console" section, which takes about an hour) [https://teamtreehouse.com/library/console-foundations] (https://teamtreehouse.com/library/console-foundations) Feel free to explore the more advanced topics if you wish (Users and Permissions, Environment and Redirection, etc.) but those topics are beyond the scope of the Code 201 course!

  2. Linux Tutorial (Mac and Linux are pretty similar): http://linuxtutorial.todolistme.net

    Please work through sections 1 through 5 of the linux tutorial. Also recommended: 7 and 8.

Using the terminal may feel a little scary at first, but stick with it and give it some practice. This is you, in charge of your computer. :]

7. Read through this Git tutorial on Udemy (1-2 hours)

There is a lot of useful information in this tutorial, but it is a lot to digest for beginners. Read through as much of it as you can while still understanding what is going on. Learning about version control is one of the most challenging things in the first week of the class. Above all, strive for a conceptual understanding of how version control works, and why we use it in software development. The details are much more easy to grasp once the concepts are in place.

https://blog.udemy.com/git-tutorial-a-comprehensive-guide

8. Tutorials (17-30 hours)

Complete these tutorials prior to the first day of class.

9. Complete the textbook readings for Day 1 of class (2-3 hours)

We get started right away on Day 1, so be sure to read the following chapters from the textbooks AND complete the associated discussion assignments in our Learning Management System (which you will have access to once your enrollment process is complete):

  • From the HTML & CSS textbook:
    • Chapter 1: "Structure"
    • Chapter 8: "Extra Markup"
    • Chapter 17: "HTML5 Layout"
    • Chapter 18: "Process & Design"
  • From the JavaScript textbook:
    • Chapter 1: "The ABC of Programming"

Plan to spend about 20-30 minutes with each chapter. Do not strive to methodically read and retain every single word, because we cover hundreds of pages of text in the first two weeks of the course. Instead, aim for an understanding of the big topics and orientation to where the details are so that you can find them when you need them. And be sure to read closely enough to come up with questions and observations based on your reading!

10. Download and Install Slack (do this step after your enrollment is completed) (15-30 minutes)

We use Slack to distribute files and collaborate before, during, and after the workshop.

Look for an email from us prior to class, in order to join our Slack team.

Once you have joined, add a nice profile picture of your lovely face. Then say hello in your class channel, and introduce yourself.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.