Giter Site home page Giter Site logo

itc230's Introduction

ITC 230 - Advanced Javascript

Class Details

  • Location: BE 3156
  • Time: M,W 5:00 - 7:05 pm
  • Dates: April 3 - June 16, 2017
  • Instructor: Brenden West
  • Email: [email protected]
  • Credits: 5
Summary

Modern JavaScript has rapidly become a major force for full-stack web development, with Node.js allowing development in the same language on the server & browser. Client-side frameworks like Angular and D3 are enabling new and exciting applications in the browser.

This course will cover JavaScript technologies that power a modern full-stack development workflow, including server-side scripting, single-page web applications with MVC structure, package management, and JSON data storage. Students will finish the quarter having built a fully-functional client-server application they can reference for job applications or future projects.

Requirements

Students entering this class should understand HTML, CSS, and the core concepts of JavaScript programming either via WEB 150 or comparable experience. They should be comfortable with:
  • variables and operators
  • conditional logic
  • arrays and loops
  • functions, objects, and JSON
  • jQuery selectors, methods, and AJAX

Students will perform extensive hands-on development throughout the course and will require;

  • A computer onto which they can install software,
  • A working internet connection
  • A syntax-highlighting editor like Brackets or Sublime Text,
  • A github.com account

Note - Cloud9 provides free online development tools you can access from any computer via web browser.

This course will use Web Development with Node & Express as a textbook and also supplementary online materials as needed.

Class Structure and Topics
Each week, we'll cover a new topic, building on the previous week's work. In general we will cover new material in Monday lectures and exercise what we learned in Wednesday lab. We will cover the following topics, although the order and precise list is subject to revision:
  • Introduction to Node.js - Overview & installation, NPM, modules
  • Node.js programming - Callbacks, events, asynchronous operations
  • Unit testing with Mocha & Chai
  • Intro to Express and http request/response objects
  • Express application structures - routes, views, and static files
  • Templating with Handlebars
  • REST APIs & JSON
  • Data storage with MongoDB
  • MVC design & single-page-applications with Angular (or React)

Each Wednesday, you'll be given an assignment to test what you've picked up on that week's topic. Assignments are due by the start of class on the following Monday. These assignments allow me to evaluate your progress and to provide feedback. As such, most of your grade each week will come from turning the assignment in on time and showing that you tried to solve it using your own original work. Your homework should be completely your own: plagiarism will incur a grade penalty.

90% of your grade will come from homework and an in-class presentation, and 10% from class participation. Homework assignments will build toward a completed final project at the end of the quarter. For the in-class presentation, you will choose a piece of open-source JavaScript that you find interesting and share with the class. The presentation include a written summary of the source code with your comments.

Reference

Reading (optional)

Note - Seattle Public Library card-holders have free access to the following technical reference:

Development Tools

itc230's People

Contributors

brendenwest avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.