Skip to content

Latest commit

 

History

History
1638 lines (1197 loc) · 60 KB

C02_classroom.md

File metadata and controls

1638 lines (1197 loc) · 60 KB

#Cohort 2 Classroom Calendar

At a Glance

Date Week Topic
Sept 2 Week 01 Bash, Git, Ruby
Sept 8 Week 02 Ruby II
Sept 15 Week 03 Ruby III
Sept 22 Week 04 Testing, Sinatra, HTTP, DOM & HTML
Sept 29 Week 05 HTML & CSS
Oct 6 Week 06 Intro to Rails
Oct 13 Week 07 Rails II
Oct 20 Week 08 Adv Ruby & CS Fundamentals
Oct 27 Week 09 Rails III, Intro to Agile
Nov 3 Week 10 Testing in Rails
Nov 10 Week 11 Intro to Javascript
Nov 17 Week 12 Special Topics & Group Rails Project
Nov 24 Week 13 Group Rails Project, Thanksgiving
Dec 1 Week 14 2 week pairing Rails Project
Dec 8 Week 15 2 week pairing Rails Project
Dec 15 Week 16 SOA Rails Project
** Holiday Break **
Jan 5 Week 17 Individual Student-Defined Rails Project
Jan 12 Week 18 Pair JS Framework Project
Jan 19 Week 19 Pair JS Framework Project
Jan 26 Week 20 Final Rails Project
Feb 2 Week 21 Final Rails Project
Feb 9 Week 22 Final Rails Project
Feb 16 Week 23 Final Rails Project Presentations
Feb 23 Week 24 Internship Spike Project
Mar 9 INTERNSHIP BEGINS

Week 1

Learning Goals

  • Introduction to the program
  • Working Ruby development environment
  • Comfort with basic OS X Hotkeys
  • Comfort with basic UNIX command-line skills
    • navigation
    • file manipulation
    • grep
    • man pages
    • modifying your terminal
  • Ruby history & background
  • Learning basic ruby concepts
    • irb
    • Methods
    • Iterators
    • Variables
    • Conditionals
    • Object Orientation
  • Learn about basic tools
    • Text Editors (Atom)
    • Git
    • Terminal
  • Discuss what is Ada?

Schedule

Tuesday

Time Topic
9:00 - 10:00 Meet & Greet with Community Members + Breakfast
10:00 - 12:00 Get to know you games
11:00 - 12:00 Ada Overview (handbook, culture, & expecations)
12:00 - 1:00 Lunch
1:00 - 1:30 How to OS X
1:30 - 2:30 Introduction to Unix
2:30 - 3:30 Installfest
3:30 - 4:00 Ruby Messaging
4:00 - 5:00 Introduction to Ruby

Homework

  • Introduction and Chap 1 - Learn To Program
  • Introduction and Chap 2 through "Turning ideas into Ruby code" - Beginning Ruby
  • Setup an account on Twitter, Github, and Gravatar (with same email address)

Resources

Wednesday

Time Topic
9:00 - 9:30 Introduction to Ruby
9:30 - 10:00 Introduction to Atom
10:00 - 12:30 Rails Bridge Setup & Tutorial
12:30 - 1:30 Lunch
**1:30 - 3:30 ** Rails Bridge Continued
**3:30 - 5:00 ** Git Immersion lab

Homework

  • Read chapters 2-5 of Learn to Program.
  • Create a directory called ltp_5_6 and initialize it into a git repo.
  • Complete the two exercises in section 5.6. (saving the files into the ltp_5_6 dir).
  • Create a ltp_5_6 repo on Github.com.
  • Push your assignments to Github!

Thursday

Time Topic
9:10 - 10:30 Ruby 102
**10:30 - 11:00 ** Flow Control
**11:00 - 12:00 ** Calculator Lab
12:00 - 1:00 Lunch
**1:00 - 5:00 ** Calculator Lab
**3:00 - 5:00 ** After completing calculator: gitimmersion.com

Homework

  • Read through Chapter 2 of Beginning Ruby
  • Keep working through Git Immersion (gitimmersion.com) (upto lab 25)

Friday

Time Topic
9:00 - 10:00 Ruby 103
10:00 - 10:30 More on Conditionals & Flow Control
10:45 - 12:00 Ruby Objects
12:00 - 1:00 Lunch
1:00 - 5:00 Adventure Game lab part 2. Page 149-158 in Beginning Ruby

Homework

  • Work through Chapters 7, 8 of Learn to Program
  • More Git Immersion (upto lab 25)

Optional Lesson: More About Methods

Can't get enough methods? Check out Chapter 6 of Learn to Program. It'll go over some common (and not-so-common) methods for some of our favorite types of objects: integers and strings.

Week 2

In Week 2 we continue to discover the Ruby language with more exercises involving command-line scripts. We will focus the majority of our time on Objects, cementing the learning of Hash, Array, and String functionality, and begin to explore other standard classes from Ruby core (Dates and Times, for example.)

Learning Goals

  • Scope
  • Learn core Ruby concepts
    • Objects
    • Object Inheritance
  • Solidify our knowledge of Strings, Arrays, and Hashes
  • Explore Date and Time classes
  • Create a game in Gosu

Schedule

Monday

Time Topic
9:00 - 10:20 Local & Instance Variables & Scope
10:30 - 11:30 Revisiting Classes
11:40 - 12:00 Variable Quiz
12:00 - 1:00 Lunch
1:00 - 5:00 Orange Tree (from L2P)

Tuesday

Time Topic
09:10 - 10:00 Hashes
10:00 - 11:00 Hash Practice
11:00 - 2:00 Solar System Project
2:00 - 5:00 Baby Dragon Project* from L2P

* If you finish with the solar system.

Homework

  • Read Chapter 6 Beginning Ruby up to "Modules, Namespaces, And Mix-Ins"

Wednesday

Time Topic
9:00 - 9:30 Introducing Gems
9:30 - 12:00 Week 1 & 2 Recap
9:30 - 5:00 Hangman or MasterMind

Thursday

Time Topic
9:00 - 10:30 Week 1 & 2 Recap
10:30 - 12:00 Live Code Hangman
1:00 - 5:00 Hangman or MasterMind

Friday

Time Topic
9:15 - 10:00 Live Code a Class
10:00 - 10:30 Installing Koans
10:30 - 11:30 Assertions
11:30 - 12:30 Ruby Koans
12:30 - 1:30 Lunch
1:30 - 2:30 Ruby Koans
2:30 - 3:30 Inheritance
3:30 - 5:00 Project Time

Homework

  • Read Chapter 9 of Beginning Ruby, up to Storing Objects and Data Structures
  • Read about assertions: Assertions

Week 3

In Week 3 we will be learning some intermediate ruby ideas such as attr_accessor, advanced variables, memoization, and Enumerable. For the project we will be building a pure ruby application backed by a CSV database called FarMarFinder. By the end of the week students should be able to build a ruby DSL for a relational CSV backed database using basic ruby methodologies and best practices.

Learning Goals

  • Learn basic/intermediate ruby concepts and methods
    • Defining attributes with attr_accessor
    • Scopes of all variable types (local, instance, global, etc...)
    • Performance with memoization
    • Enumerable methods
  • Unit testing your application with Rspec
  • Build a CSV backed ruby application
  • Practice pair programming
  • Collaborate on code via Github

Schedule

Monday

Time Topic
9:15 - 9:30 Pairing
9:30 - 10:00 Reading from CSV
10:00 - 11:00 Enumerable Methods
11:00 - 11:30 CSV Quiz
11:30 - 12:30 CSV Project Intro (FarMarFinder)
1:30 - 2:30 Syncing project via Github: Getting Started on Far Mar Finder
2:30 - 5:00 FarMarFinder Project Time

Tuesday

Time Topic
9:00 - 9:30 Koans: Iteration & Classes
9:30 - 10:30 RSpec
1:00 - 5:00* FarMarFinder Project Time

Wednesday

Time Topic
9:00 - 9:30 Koans
9:35 - 11:00 Advanced Variables
11:00 - 5:00* FarMarFinder Project Time

Thursday

Time Topic
9:00 - 9:30 Koans
9:30 - 5:00* FarMarFinder Project Time

Friday

Time Topic
9:00 - 9:30 Koans
9:30 - 10:00 Self
10:00 - 10:30 Memoization
10:40 - 11:00 Rubocop
11:00 - 11:15 SimpleCov
11:15 - 4:00* FarMarFinder Project Time
4:00 - 5:00* Retro

Homework:

  • Reading Beginning Ruby:
    • pgs. 139-149 (Modules, Namespaces, and Mix-Ins)
    • pgs. 228-246 (Relational Databases and SQL)

Week 4

In Week 4 we introduce introduce Test-Driven Development (TDD) and basic networking concepts. We will spend 2 days exploring TDD and the rspec toolset through building our own testing projects and tests. We then pivot into an introduction of the "plumbing" of the Internet and how clients such as web browsers communicate with servers. We build a pair of applications using the streamlined website framework Sinatra to begin exploring HTTP response cycles and basic Model-View-Control (MVC) techniques through building and deploying a blog.

Learning Goals

  • Introduced to basic TDD concepts
    • rspec
    • how to write a test
    • becoming comfortable writing code against a spec
  • Learn basic architecture of the Internet
  • Learn the HTTP response cycle
  • Build a personal blog in Sinatra
  • Grow skills in reading technical documentation by working with the Sinatra: Up and Running book
  • Gain exposure to deployment via Heroku

Schedule

Monday

Time Topic
9:00 - 10:00 Koans
10:00 - 12:00 CS Fundementals
1:30 - 2:30* FizzBuzz Testing
2:30 - 5:00* Scrabble

Homework

Tuesday

Time Topic
9:00 - 9:45 Morning Warmup -- Word Count
9:50 - 12:30 Scrabble
1:30 - 5:00* Dictionary

Wednesday

Time Topic
9:00 - 11:00* Sinatra Practice
11:00 - 12:00 Intro to HTTP, Clients, & Servers
1:00 - 5:00 Sinatra Blog

* Take an hour lunch at any time

Thursday

Time Topic
9:00 - 9:30 Building Hashes
9:30 - 10:30 Sinatra Walkthrough
10:30 - 11:30 Views and Forms
11:00 - 5:00 Project Time - Sinatra Blog

* Take an hour lunch at any time

Friday

Time Topic
10:00 - 11:30 Forms
2:00 - 4:00* Regular Expressions with Nell
4:00 - 5:00 Retro

Homework:

Week 5

In week 5 we will be learning the basics of HTML & CSS. By the end of the week we will style a single page website using the common HTML & CSS practices and deploy it to Heroku. We will also rebuild a blog to implement as side pages to our single page site.

Our learning will focus on the usage of basic HTML tags and their potential attributes. We will learn about CSS selectors, cascading rules, and common techniques for creating important web page elements. By the end of the week students should be able to create and style a webpage using valid HTML and CSS.

Learning Goals

  • Learn basic techniques and best practices for HTML
  • Learn basic techniques and best practices for CSS
  • Create a personal website focusing on styling
  • Reiterate the concepts of views and layouts of Sinatra

Schedule

Monday

Time Topic
9:30 - 10:30 HTML
10:30 - 11:30 Starting HTML
11:30 - 5:00* Personal Website Project

Homework

Read Lessons 2 & 3 of http://learn.shayhowe.com/html-css/getting-to-know-css/

Tuesday

Time Topic
9:00 - 9:30 Warm up
9:30 - 10:00 More CSS
10:00 - 12:00 Live Code CSS
12:00 - 5:00 Personal Website Project

Homework Read a little about JavaScript in Eloquent JavaScript: Intro Values, Types, and Operators

Wednesday

Time Topic
9:30 - 10:30 Basic JavaScript
10:30 - 12:30 Try jQuery
1:30 - 5:00 Personal Website Project

Thursday

Time Topic
9:00 - 9:30 Koans
9:30 - 11:00 ??? (students choice)
11:00 - 5:00 Personal Website Project

No Friday. Yay!

Resources

  • For additional online resources see the resources page.

Week 6

Week 6 we introduce students to the Ruby on Rails framework, which will be the focus of much of their work for the remainder of the course. Working in pairs, students build a basic Rails application. The focus is on learning how Rails and its implementation of MVC differ from Sinatra, how to work with ActiveRecord models and relationships, and begin to develop very basic proficiency with Rails.

Learning Goals

  • Solidify understanding of web response cycle
  • Introduce Rails
  • Improve workflow
  • Practice pair programming skills

Schedule

Monday

Time Topic
9:00 - 10:00 Blog Presentations
10:00 - 10:30 Agile
10:40 - 12:00 Setting up Rails
1:00 - 2:30 Running Rails & HTTP
2:30 - 3:30 Database

RoRT Online: + review sections 1.2.3 & 1.2.5 + read section 1.2.6 and all of Chapter 2

Tuesday

Time Topic
9:00 - 10:15 ActiveRecord
10:25 - 11:30 Model Relationships
11:30 - 12:00 ActiveRecord Practice
1:30 - 2:00 params & session
2:00 - 2:30 Project Planning
2:30 - 2:35 Stand Up
2:35 - 5:00 FarMar Project

Homework

  • Complete one trello task. Before leaving class clearly define tasks that can be completed which are not dependent on each other (front end, back end).
  • Push the change to github.
  • If the push is rejected, it means your partner has pushed first, you need to pull first then retry the push.

Wednesday

Time Topic
9:00 - 9:30 HTTP Body Parser
9:30 - 10:30 Forms
10:30 - 10:35 Pairing
10:35 - 10:40 Stand Up
10:35 - 5:00 FarMar Project

Thursday

Time Topic
9:00 - 9:30 HTTP Body Parser
9:30 - 11:00 Routes & REST
11:00 - 11:15 Standup
11:15 - 5:00 FarMar Project

Homework

Make sure you've at least tried the following koans (by running the following from your main koans directory):

$ ruby koans/about_beginning_the_search.rb $ ruby koans/about_guessing_game.rb $ ruby koans/about_hash_backed_dictionary.rb

NOTE! If you haven't done about_beginning_the_search.rb, you may be surprised that the tests hang when you try to run it. This is because the koan has an infinite loop that you need to fix. Open the file and try to figure out how to get the to get the while loop at line 47 to terminate.

Friday

Time Topic
9:00 - 9:30 Koans Review: Search, Guessing Game, Dictionary
9:30 - 10:00 Group Koan: Array Backed Dictionary
10:00 - 11:00 Insertion Sort
11:00 - 11:15 Stand Up
11:15 - 5:00* FarMar Project

Homework:

For the weekend:

  • RoRT:
    • work through 3.3 and 3.4, and the first exercise of 3.5

* Take an hour lunch at any time

Week 7

In week 7 we will focus on reinforcing the major components of Rails, seen in this rails stack diagram. Each day we will have a lecture on a piece in order of the request cycle. We will also be working on Betsy, an online webstore for independent merchants to sell their goods. At the end of the week students will have learned and practiced the rails stack.

Learning Goals

  • Learn about the major components of a rails app
    • User Authentication
    • Controllers
    • Views
    • ActiveRecord
    • Validations
  • Practice implementing features within a rails app
  • Use project management software
  • Use agile development practices in a group of four

Schedule

Monday

Time Topic
9:00 - 9:30 Koans
9:30 - 10:30 Controllers
10:30 - 11:30 User Authentication
11:30 - 2:00 Beginning bEtsy
2:00 - 4:00 James Spence on Designing a Project
4:00 - 5:00 bEtsy

Homework Git Branching & Merging

Tuesday

Time Topic
9:00 - 9:20 Warm Up
9:20 - 9:45 Branches & Merging
9:45 - 10:45 Validations
11:30 - 5:00* Betsy Project Time

Wednesday

Time Topic
9:00 - 9:15 Stand up
9:20 - 5:00 Betsy Project Time

Homework

Thursday

Time Topic
9:30 - 10:30 Views
10:30 - 5:00 Betsy Project Time

Homework

Make sure you've at least tried the following koans (by running the following from your main koans directory):

$ ruby koans/about_array_backed_dictionary.rb

You don't need to finish the entire koan, but at least try to solve the problem for the small word set.

Friday

Time Topic
9:00 - 9:20 Warm Up
9:30 - 10:30 Ordered Insertion and the Array Dictionary
10:30 - 12:00 Linked Lists and Recursion
12:00 - 12:15 Stand up
12:00 - 4:00 Betsy Project Time
4:00 - 5:00 Weekly Retro

Resources

  • For additional resources on the topics covered this week see weekly resources.

Week 8

In Week 8 we will continue working in groups of 4 on the Betsy project introduced in Week 7. The majority of the week will be devoted to project time, with short lectures and assignments to introduce students to basic computer science concepts.

Learning Goals

  • continued exposure to Rails
  • increasing skills in group work habits
  • improving technical workflow
  • increasing git/github competency
  • extended introduction of computer science material

Schedule

Monday

Time Topic
9:00 - 1:30 Betsy Project Time
1:30 - 2:15 Guest Speaker: Rohit from ApexLearning
2:15 - 5:00 Betsy Project Time

Tuesday

Time Topic
9:00 - 9:30* Warmup
9:30 - 10:30* Rails Forms
9:00 - 5:00* Betsy Project Time

* Take an hour lunch at any time

Wednesday

Time Topic
9:00 - 5:00* Betsy Project Time

* Take an hour lunch at any time

Thursday

Time Topic
9:00 - 5:00* Betsy Project Time

* Take an hour lunch at any time

Friday

Time Topic
9:00 - 9:30* Betsy Trial Quiz
9:30 - 11:30* Project Time
11:30 - 12:30* OO Design
1:30 - 4:00* Recursion and Merge Sort
4:00 - 5:00 Weekly Retro

Week 9

In week 9 we will be focusing on comprehension of the rails request cycle. Students will be creating a simple rails app to store and rank media by type. By the end of the week students will be able to identify each piece of the rails request cycle and the methods and variable scopes available within each of them.

Learning Goals

  • Identify the role of HTTP request
  • Advanced understanding of the role, scope, and syntax or routes.rb
  • Understanding of rails controller
    • Native controller method (params, session, render, redirect_to, etc...)
    • Scope with inter-controller methods and instance variables
  • Understanding of rails views,
    • Availability of controller methods and instance variables
    • View Helpers
  • Learn to identify and describe the current state and availabilty of different methods and variables at any given point in the request cycle.

Schedule

Monday

Time Topic
9:15 - 10:00 Project Presentations
10:00 - 11:00 Betsy Quiz
11:00 - 11:30 Media Ranker Overview
11:30 - 12:30 Rails request state
12:30 - 5:00 Media Ranker

Tuesday

Time Topic
9:00 - 9:30 Warm Up)
9:30 - 9:45 Quiz
9:45 - 10:15 Betsy Quiz Recap
10:15 - 11:15 Lecture
11:15 - 1:30 Media Ranker
1:30 - 2:15 Aki & Erica from Marchex
2:15 - 5:00 Media Ranker

Wednesday

Time Topic
9:30 - 10:15 View methods
10:15 - 11:15 Routes 102
11:15 - 4:30 Media Ranker
4:30 - 5:00 Carol Lin from Zillow

Thursday

Time Topic
9:00 - 9:30 Quiz
9:30 - 11:15 Refactoring
11:15 - 5:00 Media Ranker

Friday

No Class.

Extra Lectures

Time Topic
Rails RESTful Routes
Controller methods

Weekend Homework

Create your own app

OR

Create a single serving (no users) version of Twitter. The app should have:

  • Tweet model
    • body (must be present, max 140 characters long)
    • author
  • TweetsController
    • An index action which shows all of the tweets
    • A show action to view a specific tweet
    • A new action (optional, you can put the form on index)
    • A create action where tweets are created

optional

  • tweet_spec.rb
    • Testing validations of body (presence and length)
    • Testing any addition methods you add
  • tweets_controller_spec.rb
    • Test each controller action
    • No need to test private actions

Extra Credit

Implement Users using a TDD approach.

Week 10

In week 10 we will be learning more about rspec. We will practice TDD while solidifying out understanding of relationships in databases and Rails.

Learning Goals

  • Learn rspec
  • Solidify knowledge of database relationships
  • Practice TDD

Possible Lectures

  • Rspec rails
  • Form Objects
  • Associations
  • ActiveRecord Querying

Monday

Time Topic
9:00 - 10:00 Media Ranker Quiz
10:00 - 5:00 Sam Livingston-Gray

Tuesday

Time Topic
9:00 - 5:00 Sam Livingston-Gray

Wednesday

Time Topic
9:30 - 11:00 ActiveRecord Associations
1:30 - 2:15 David Weiser from Moz
2:15 - 5:00 Ada Cooks

Thursday

Time Topic
9:00 - 9:15 Group Interview Prep?
9:15 - 9:45 Rspec Rails Setup
9:45 - 11:00 Form Object
11:00 - 1:30 Ada Cooks
1:30 - 2:15 Joe Goldberg from EnergySavvy
2:15 - 4:00 Ada Cooks
4:00 - 5:00 Marchex Fieldtrip

Friday

Time Topic
9:00 - 10:00 Megan Kiester
11:00 - 12:00 Peter Abrahamsen
12:00 - 5:00 Ada Cooks
1:30 - 2:15 Adam from Chef
2:15 - 4:30 Ada Cooks
4:30 - 5:00 Weekly Retro

Week 11

Week 11 will be a break from Rails to focus on JavaScript and jQuery. We'll focus first on learning core JavaScript language concepts, and then how to use JavaScript and jQuery to program web pages in the browser. Students will create a simple to do list app to add to do list items dynamically to a web page. By the end of the week, students will be able to use JavaScript and jQuery to interact with and modify web pages, and use JavaScript variables, types, arrays, functions, objects, and jQuery methods.

Learning Goals

  • Understanding of core JavaScript concepts and features:
    • variables
    • types
    • arrays
    • functions
    • scope
    • objects
  • Understanding of the DOM and how the browser loads and represents web pages.
  • Using JavaScript and jQuery to modify a web page:
    • with the JavaScript document object and associated methods
    • with jQuery's $ function and associated methods
  • Understanding event handlers to write code that responds to user interaction.

Schedule

Monday

Time Topic
9:00 - 9:30 Warmup
9:30 - 12:30 Lecture: JavaScript fundamentals. JS notes & Files
12:30 - 1:30 Demo: Using the JavaScript console
1:30 - 5:00 Project: Console to do list maker Biggest # Objects

Tuesday

Time Topic
9:00 - 9:30 Warm Up
9:30 - 11:30 Lecture: Working with the DOM resources
11:30 - 12:30 Mini-project: handling events
12:30 - 1:30 Example: Adding new elements to the DOM
1:30 - 5:00 Project: To do list maker

Resources

Element Object

Wednesday

Time Topic
9:00 - 9:30 Warmup
9:30 - 10:00 How this works with event handlers
10:00 - 12:30 jQuery fundamentals, looking at jQuery documentation
12:30 - 5:00 Project: rewrite the to do list maker using jQuery

Thursday

Time Topic
9:00 - 9:30 Warmup
9:30 - 12:00 Devon Persing
1:00 - 5:00 List App Project

Friday

Time Topic
9:15 - 10:00 Dave & William from PNNL
10:00 - 12:00 Beginning rspec in rails
12:00 - 4:00 Project Time
4:00 - 4:45 Retro

Weekend Homework

Look at the jQuery ajax (http://api.jquery.com/jquery.ajax/) API and think about how you might send a list of to do items to store on the server with Rails. In this week's projects, the to do items are not saved; they go away each time you reload the page. By sending the items to the server you can save them for use in a subsequent session.

OR

Take a look at JavaScript's JSON object (https://developer.mozilla.org/en-US/docs/Glossary/JSON), and the Local Storage API (https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage). Add code to your to do list manager to save items in localStorage.

Week 12

In week 12 work on SeeMore project, in which the students will create a RESTful web API from a public or private data source, and learn to work within a larger Agile team.

Learning Goals

  • Identify when to use an external web API
  • Create a web API
  • Build data in JSON or XML format
  • Consume data in JSON or XML format
  • HTTP from Ruby (HTTParty)
  • local User creation via OAuth service
  • push to authorized services via APIs
  • increasing comfort with API interactions
  • increasing professional comportment and team project skills
  • focus on project "polish" and customer deliverables

Monday

Time Topic
9:00 - 9:30 Pivotal
9:30 - 9:45 Environment Variables
9:15 - 9:45 Web Api 101
9:45 - 10:15 Consuming an Api
10:15 - 10:30 Practice Consuming an Api
10:30 - 1:30 Starting SeeMore
1:30 - 2:30 Authentication w/ OmniAuth
2:30 - 5:00 See More Project Work

Tuesday

Time Topic
9:00 - 9:30 SeeMore Requirement Review
9:30 - 10:30 Omniauth / API recap
10:30 - 5:00 See More Project work

Wednesday

Time Topic
9:00 - 9:15 Stand Up
9:30 - 10:30 Omniauth / API recap
10:45 - 5:00 See More Project work

Thursday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 5:00 See More Project work

Friday

Time Topic
9:00 - 9:30 Golf Jquery Warmup
9:30 - 10:30 Ajax Lecture
10:30 - 4:00 See More Project work
4:00 - 5:00 Katherine & Rhea from Isilon

Week 13

In week 13 we will continue working on SeeMore project, in which the students will consume a RESTful web API from a public or private data source, and learn to work within a larger Agile team.

Learning Goals

  • Identify when to use an external web API
  • Create a web API
  • Build data in JSON or XML format
  • Consume data in JSON or XML format
  • HTTP from Ruby (HTTParty)
  • local User creation via OAuth service
  • push to authorized services via APIs
  • increasing comfort with API interactions
  • increasing professional comportment and team project skills
  • focus on project "polish" and customer deliverables

Monday

Time Topic
9:00 - 5:00 See More Project Work

Tuesday

Time Topic
9:00 - 2:00 See More Project work
11:30 - 1:30 See More Sprint Check-ins
2:00 - 4:00 Kronda
4:00 - 5:00 See More Project work

Wednesday

Time Topic
9:15 - 10:15 [/week15/friday/basic-mocks-and-stubs.md]
9:00 - 5:00 See More Project work

Thursday

Friday

Week 14

In Week 14 we will be starting a 2 week long pairing project in which students will build a community garden planning application. The emphasis will be on building strong pair programming skills, revisiting the lessons of the previous 2 projects, and continuing to develop competency with testing.

Learning Goals

  • Successful pair programming experience
  • Develop personal project management skills
  • APIs
    • Calendering
    • Weather
  • Revisit
    • Resque
    • ActionMailer
    • Scheduler
  • Time-based events

Additional Lectures

| 1:00 - 2:00 | Using Ajax

Monday

Time Topic
9:15 - 10:15 On Debugging: Processes and Tools
10:00 - 11:00 Debugging Tools: Chrome DevTools
11:00 - 12:00 ActionMailer
12:00 -5:00 SeeMore Project Time

Homework Chapter 1 videos and challenges for CodeSchool Chrome DevTools: Elements

Tuesday

Time Topic
9:05 - 10:00 See More Presentations
10:00 - 11:30 Background Jobs w/Resque
11:30 -5:00 PPP Project Time

Homework Chapter 2 videos and challenges for CodeSchool Chrome DevTools: Sources

Wednesday

Time Topic
9:00 - 10:00 Whenever Gem
10:00 - 5:00 PPP Project Time

Homework Chapter 3 videos and challenges for CodeSchool Chrome DevTools: Console

Thursday

Time Topic
9:00 - 9:45 Rake
9:45 - 2:00 PPP Project Time
2:00 - 4:00 Kelsey Foley
4:00 - 5:00 PPP Project Time

Homework Chapter 4 videos and challenges for CodeSchool Chrome DevTools: Debugging

Friday

Time Topic
9:00 - 4:00 PPP Project Time
4:00 - 5:00 Weekly Retrospective

Week 15

In Week 15 we will be continuing a 2 week long pairing project in which students will build a community garden planning application. The emphasis will be on building strong pair programming skills, revisiting the lessons of the previous 2 projects, and continuing to develop competency with testing.

This week lectures may be à la carte, some potential topics to talk about as a class or in smaller groups:

Learning Goals

  • Successful pair programming experience
  • Develop personal project management skills
  • APIs
    • Calendering
    • Weather
  • Revisit
    • Resque
    • ActionMailer
    • Scheduler
  • Time-based events

Monday

Time Topic
9:00 - 2:00 PPP Project Time
2:00 - 5:00 Norma Timbang

Tuesday

Time Topic
9:00 - 1:30 PPP Project Time
1:30 - 2:15 Jason Greer from General UI
2:15 - 5:00 PPP Project Time

Wednesday

Time Topic
9:00 - 10:00 Rspec Practice
10:00 - 5:00 PPP Project Time

Thursday

Time Topic
9:30 - 10:30 Linked Lists, for Fun and Profit
11:00 - 2:00 PPP Project Time
2:00 - 3:00 Class Conversation w/ Elise
3:00 - 5:00 PPP Project Time

Friday

Time Topic
9:00 - 10:00 Lecture Time
10:00 - 4:00 PPP Project Time
4:00 - 5:00 Weekly Retrospective

Week 16

In Week 16 we will be begin a 2 week long unit on Refactoring and Service Oriented Architecture. Build a Shipping service for a ecommerce projects. The emphasis will be on instilling good code craftsmanship and citizenship, exploring service APIs, and continuing to develop competency with testing.

This week lectures may be à la carte.

Learning Goals

  • Build an API
  • Practice SOA

Monday

Time Topic
9:00 - 5:00 Microsoft Garage

Tuesday

Time Topic
9:00 - 9:30 SOA Overview
9:30 - 10:00 Building APIs
10:00 - 11:00 Creating an Api in Rails
11:00 - 5:00 SOA Shipping

Wednesday

Time Topic
9:00 - 10:00 Lecture
10:30 - 3:00 SOA Shipping
3:00 - 4:00 Holiday Party Setup
4:00 - 6:00 Holiday Party

Thursday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 10:30 Lesson TBD by students
10:30 - 3:00 SOA Shipping
3:00 - 4:00 Amazon in class
4:00 - 5:00 SOA Shipping

Friday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 3:00 SOA Shipping
4:00 - 6:00 Holiday Party

Homework

Holiday Break Project

Week 17

Learning Goals

Monday

Time Topic
9:00 - 9:30 Warm Up
9:30 - 10:30 Interview Prep w/Dean
10:30 - 12:00 Starting Capstone Spike
12:00 - 4:00 Capstone Spike
4:00 - 5:00 Estimating w/Jeremy

Tuesday

Time Topic
9:00 - 9:30 Warm Up
9:30 - 10:30 Interview Prep w/Dean

Wednesday

Time Topic
9:00 - 9:15 Stand Up

Thursday

Time Topic
9:00 - 5:00 Project Time
1:00 - 3:10 Mock Interviews

Friday

Time Topic
9:00 - 10:00 Project time
10:00 - 10:30 Let's talk about the framework project with Ellen!
10:30 - 12:00 Intro to AngularJS with Ellen
1:30 - 2:30 Nordstrom
2:30 - 4:00 Project Time
4:00 - 4:30 Interview Feedback
4:30 - 5:00 Project Pitches

Homework: We are going to be doing a lot of JavaScript next week.

Week 18

In Week 18, we will start a two week AngularJS project. We will focus on learning the basics of front-end javascript frameworks.

Learning Goals

  • Rapid Learning
  • Learn the benefits of frameworks
  • Build an AngularJS application
  • Further explore the area of frameworks that you find most interesting

Monday

Time Topic
9:00 - 9:15 Debugging AngularJS
9:15 - 9:45 Why use a front-end framework?
9:45 - 5:00 AngularJS Tutorial

Tuesday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 10:00 Introduction to Blahg
10:00 - 11:00 AngularJS setup and Hello World
11:00 - 5:00 Finish AngularJS Tutorial; begin Blahg

Wednesday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 9:17 Ellen talks about progress/where we are
9:17 - 9:30 Why use a server?
9:30 - 10:00 Routing and Controllers, pt 1: First route and controller
10:00 - 10:15 Break
10:15 - 10:45 Rails vs Angular: Some Comparisons
11:00 - 5:00 AngularJS Tutorial and Blahg

Thursday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 10:00 Scope, Forms, and Input
10:00 - 10:45 Filters
10:00 - 5:00 AngularJS Tutorial and Blahg

Friday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 9:30 Let's fix that ugly url!
9:30 - 10:00 Routes and Controllers, pt 2: More routes and refactoring!
10:30 - 11:00 Student-led discussion
11:00 - 11:30 Optional lecture about tags in the conference room
11:30 - 5:00 AngularJS Tutorial and Blahg

##Debugging resource: Debugging AngularJS

Week 19

In Week 19, we will continue our two week AngularJS project. We will focus on learning the basics of front-end javascript frameworks.

Learning Goals

  • Rapid Learning
  • Learn the benefits of frameworks
  • Build an AngularJS application
  • Further explore the area of frameworks that you find most interesting

Monday

Nothing! WOOOOO! Day off :D

###Tuesday -- Class will be at Moz

Time Topic
9:00 - 9:15 Stand Up
9:15 - 9:30 Technical difficulties and chatting, lbr
9:30 - 10:30 Let's talk about lightning talks
10:30 - 10:45 Break
10:45 - 11:30 Promise Objects
11:30 - 2:00 Project time for Blahg
2:00 - 3:00 Making an API call
3:00 - 5:00 Project time for Blahg

Wednesday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 9:45 Structure
9:45 - 10:45 Refactoring!
10:45 - 11:30 Services, Factories, and Directives
11:15 - 5:00 Blahg
**there will be a break someplace in here

Thursday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 9:20 Ellen's lightning talk
9:15 - 10:30 Tags, part 2
10:30 - 10:45 Basic steps in refactoring
10:45 - 11:00 Break
11:00 - 12:00 Optional: refactor-along
3:00 - 3:15 Bri's lightning talk
11:00 - 5:00 Blahg

Friday

Time Topic
9:00 - 9:15 Stand Up
9:15 - 11:00 Blahg
11:00 - 4:00 Lightning Talks
4:00 - 5:00 Retrospective

Week 20

In Week 20 we begin capstone projects. In this week we will have lectures on relevant topics for a wide variety of capstone requirements. Students will have frequent checkins with an instructor to ensure the project is on track, review stories, and consult on any problems.

Learning Goals

  • prepare for capstone project
  • identify areas for extra study
  • practice self-organized learning habits
  • practice technical communication skills

Monday

Time Topic
9:00 - 10:30 Capstone Product Plan
10:30 - 1:30 Capstone Project Time
1:30 - 3:00 On Languages by Andrew Gorcester
3:00 - 5:00 Capstone Project Time

Tuesday

Time Topic
9:00 - 11:30 Deploying to EC2
11:30 - 5:00 Capstone Project Time

Wednesday

Time Topic
9:00 - 5:00 Capstone Project Time

Thursday

Time Topic
9:30 - 11:00 Jack Danger Canty
11:00 - 5:00 Capstone Project Time

Friday

Time Topic
9:30 - 11:00 Jack Danger Canty
11:00 - 5:00 Capstone Project Time

Additional Topics

Week 21

In Week 21 we continue capstone projects. In this week we will have guest lectures on relevant topics for a wide variety of capstone requirements. Students will have frequent checkins with an instructor to ensure the project is on track, review stories, and consult on any problems.

Learning Goals

  • Continue development of Capstone project
  • Discover gaps in learning and identify resources to fill them in
  • Code!

Monday

Time Topic
9:00 - 1:30 Capstone Project Time
1:30 - 3:00 On Performance by Andrew Gorcester
3:00 - 5:00 Capstone Project Time
  • Checkins with Bookis during project time

Tuesday

Time Topic
9:00 - 5:00 Capstone Project Time

Wednesday

Time Topic
9:00 - 10:00 DNS Configuration
10:00 - 5:00 Capstone Project Time

Thursday

Time Topic
9:00 - 10:30 CarrierWave
10:30 - 5:00 Capstone Project Time

Friday

Time Topic
10:30 - 11:30 Collecting Collections and Other Loose Ends
10:30 - 5:00 Capstone Project Time

Week 22

In Week 22 we continue capstone projects. In this week we will have 2 guest lectures on relevant topics for a wide variety of capstone requirements. Students will have regular checkins with an instructor to ensure the project is on track, review stories, and consult on any problems.

Lecture topics include:

  • Internationalization (i18n)
  • Revisting EC2

Learning Goals

  • Continue development of Capstone project
  • Discover gaps in learning and identify resources to fill them in
  • Code!

Monday

Time Topic
9:00 - 11:00 Revisiting Deploying to EC2
11:00 - 5:00 Capstone Project Time

Tuesday

Time Topic
9:00 - 5:00 Capstone Project Time

Wednesday

Time Topic
9:00 - 5:00 Capstone Project Time

Thursday

Time Topic
9:00 - 5:00 Capstone Project Time

Friday

Time Topic
9:00 - 10:00 Graphs
10:00 - 4:00 Capstone Project Time
4:00 - 5:00 Brad & Amaranth

Week 23

In Week 23 we continue capstone projects. In this week we will have guest lectures on relevant topics for a wide variety of capstone requirements. Students will have frequent checkins with an instructor to ensure the project is on track, review stories, and consult on any problems.

Learning Goals

  • Begin final features of Capstone
  • Evaluate features that may be cut
  • Code!

Monday

Time Topic
9:00 - 5:00 Capstone Project Time

Tuesday

Time Topic
9:00 - 5:00 Capstone Project Time

Wednesday

Time Topic
9:30 - 10:30 Jeremy Flores on Preprocessors
9:00 - 5:00 Capstone Project Time

Thursday

Time Topic
9:00 - 5:00 Capstone Project Time

Friday

Time Topic
9:00 - 3:00 Capstone Project Time
3:00 - 5:00 Capstone Presentation Practice

Week 24

In week 24 we will break into teams by the language being used within internships. Each team will have a guest lecturer for the day. Each lecturer will prepare a 1-3 hour lecture, a small exercise, as well as supporting material.

Monday

Time Topic
1:00 - 5:00 Anne Kimsey: Intro to Java I
1:00 - 5:00 Deeper JS: Getting Started

Tuesday

Time Topic
1:00 - 5:00 Anne Kimsey: Intro to Java II/Intro to Processing

Java:

Create classes for each of the above and print results from each method to the console. After completing those work on:

Wednesday

Time Topic
1:00 - 5:00 Steve Huynh/Anne Kimsey: Continuing Java/Creating an API

Thursday

Time Topic
10:00 - 3:00 Jon Bauman: Python
1:00 - 5:00 Steve Huynh: Continuing Java

Friday

Time Topic
1:00 - 5:00 Steve Huynh: Continuing Java