Skip to content
David Rogers edited this page Nov 6, 2015 · 2 revisions

Your Instructors

Your instructors for this course are David Rogers and Kelly Murray. Additional contact information for them can be found in the team directory of the TIY-Durham Slack organization.

Schedule an Appointment with David via Calendly

Schedule & Holidays

The 2016 Spring cohort runs 12 consecutive weeks from Feb 1st through April 22nd.

Active instruction commences on Feb 1st and proceeds through March 24th. The campus will observe March 25th as a holiday. If you have holidays particular to your faith or tradition over this period of time, please make us aware of them at the beginning of the cohort, and we will accommodate to the best of our ability.

Lecture commences daily at 9am, Monday through Thursday, and concludes at 12:30pm, with regular breaks throughout. Depending on topic and our progress, we may end early, and we will always attempt to end on time.

Lab runs from 1:30pm to 5pm, Monday through Thursday, and 9am to 5pm on Friday. Expect regularly scheduled events to occur on Fridays that will require your attendance.

Instructor Availability

Expect one of us or our Teaching Assistants to be generally available during lab hours, however be mindful of our time whenever possible and schedule 1-on-1 time in advance, whenever possible. We may voluntarily make ourselves available outside of office hours, and please contact us directly in case of an emergency.

Short (15 minute) 1-on-1 meetings are scheduled on a rotating basis throughout the cohort, to seek your opinion on the pacing and management of the class to date, discuss struggles you might be facing, and solicit general feedback.

Policies

The Absence, Homework, and Code of Conduct are covered in The Student Bulletin that you received upon enrollment.

Topic Roadmap

Week 1 -- Introduction

  • Using the Command Line Interface
  • Using GitHub and git
  • Programming with JavaScript
  • Test-Driven Development

Week 2 -- JavaScript in the Browser

  • Using Google Dev Tools
  • Writing JavaScript inside of Chrome
  • Responding to user interactions with Event Listeners
  • Manipulating the DOM with Vanilla JavaScript and jQuery
  • Design Patterns: Revealing Module, Controllers (MVC)
  • Basic deployments: static resources

Week 3 -- Page Layout with CSS

  • Basic CSS layouts with CSS grids
  • Media Queries to target mobile devices
  • Mobile-first design
  • Using Sass and basic build processes
  • Build and deploy process
  • Progressive enhancement with JavaScript
  • Design Patterns: Models (MVC)

Week 4 -- Semantic HTML & Jade

  • Writing semantic HTML
  • Using purecss to create a baseline style
  • Using bower to manage dependencies
  • Using wiredep to wire dependencies
  • Advanced Sass techniques
  • Design Patterns: Routing, Views (MVC)
  • Using lodash.template
  • Using Jade instead of HTML

Week 5 -- Data-Driven Applications

  • Interacting with ReSTful APIs via Ajax (XHR)
  • Injecting API data into the DOM with jQuery
  • Munging API data with lodash
  • Binding data to the DOM with Vue JS

Week 6 -- HALFTIME: Review

During Week 6, we review the material covered until this point and revisit previous assignments. You'll have an opportunity to re-submit a previously uncompleted assignment or work on a functionally similar assignment for additional practice.

Week 7 -- Introduction to Angular JS

  • Setting up Angular JS: Modules and Expressions
  • Getting data from an API with $http
  • Sending data to an API with $http
  • Reactive Views with $scope and ng-bind
  • Triggering events with ng-click and ng-scope
  • Virtual routes with ngRoute

Week 8 -- Organizing an Angular JS Application

  • Breaking applications into separate Modules
  • Defining named Controllers and controller as alias
  • Using Restangular instead of $http
  • Dividing logic into named Services
  • Defining custom Directives

Week 9 -- Bonus topics

  • Firebase ReST API
  • Firebase Real-Time API
  • Additional Topics TBD

Week 10, 11, 12 -- Final Projects

In the final three weeks of the course, you'll be organized into a multi-disciplinary team of 2 to 5 students, potentially across classes, to realize a joint capstone project that demonstrates your combined skill. You'll also produce a single-page landing site for your project and present that project in front of an audience of hiring partners and technical peers in an event called Demo Day.