Syllabus
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.
- Slack:
@al_the_x
inTIY-Durham
- GitHub: @al-the-x
- Twitter: @al_the_x
- LinkedIn: althex
Schedule an Appointment with David via Calendly
- Slack:
@kelly
inTIY-Durham
- GitHub: @kellymurray
- Twitter: @kellyemm
- LinkedIn: kelly-murray
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.
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.
The Absence, Homework, and Code of Conduct are covered in The Student Bulletin that you received upon enrollment.
- Using the Command Line Interface
- Using GitHub and
git
- Programming with JavaScript
- Test-Driven Development
- 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
- 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)
- 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
- 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
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.
- 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
andng-bind
- Triggering events with
ng-click
andng-scope
- Virtual routes with
ngRoute
- 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
- Firebase ReST API
- Firebase Real-Time API
- Additional Topics TBD
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.