FEW-2.5 Data Visualization with JavaScript

Course Description

Learn how to create effective visualizations and graphics on the web. The course covers programming in JavaScript D3 to display and visualize data as well as how to manage, transform, and normalizing data for display on the screen. Students will also learn how to create complex drawings and animations on the web using SVG and Canvas. SVG looks at vector graphics and the SVG language.

Tools: JavaScript, HTML, CSS, D3, Canvas, SVG

Why you should take this course

You should take this class if you have a desire to express ideas visually on a computer screen. If you have a fascination with data and trends taking this class will give you the tools and opportunities to express these ideas in your work.

If you want to practice the craft of making web applications with HTML, CSS, and javascript this class will give you ample opportunity to stretch these skills in new directions.

Course Specifics

Weeks to Completion: 7
Total Seat Hours: 37.5 hours
Total Out-of-Class Hours: 75 hours
Total Hours: 112.5 hours
Units: 3 units
Delivery Method: Residential
Class Sessions: 14 classes, 7 labs

Prerequisites

Learning Outcomes

Students by the end of the course will be able to ...

  • Analyze Data to express it's meaning
  • Normalize data to express its range and value on the screen
  • Implement standard and non-standard visual displays
  • Use JavaScript, Canvas, and SVG to express ideas graphically

Schedule

Course Dates: Monday, April 1 – Wednesday, May 15, 2019 (7 weeks)

Class Times: Monday and Wednesday from 1:30–1:20 pm (14 class sessions)

Class Date Topics
1 Monday, April 1 Lesson 1
2 Wednesday, April 3 Lesson 2
3 Monday, April 8 Lesson 3
4 Wednesday, April 10 Lesson 4
5 Monday, April 15 Lesson 5
6 Wednesday, April 17 Lesson 6
7 Monday, April 22 Lesson 7
8 Wednesday, April 24 Lesson 8
9 Monday, April 29 Lesson 9
10 Wednesday, May 1 Lesson 10
11 Monday, May 6 Lesson 11
12 Wednesday, May 8 Lesson 12
13 Monday, May 13 Final Class (presentations, etc)
14 Wednesday, May 15 Final Exams/Presentations

Class Assignments

Projects

All projects will require a minimum of 10 commits and must take place throughout the entirety of the course

All Homework projects should be hosted on GitHub pages.

  • Good Example: 40+ commits throughout the length of the course, looking for a healthy spattering of commits each week (such as 3-5 per day).
  • Bad Example: 10 commits on one day during the course and no others. Students who do this will be at severe risk of not passing the class.
  • Unacceptable Example: 2 commits the day before a project is due. Students who do this should not expect to pass the class.

Why are we doing this?

We want to encourage best practices that you will see working as a professional software engineer. Breaking up a project by doing a large number of commits helps engineers in the following ways:

  • It's much easier to retrace your steps if you break your project/product/code up into smaller pieces
  • It helps with being able to comprehend the larger problem, and also will help with your debugging (i.e. finding exactly when you pushed that piece of broken code)
  • It allows for more streamlined, iterative communication in your team, as it's much easier to hand off a small change to someone (updating a function) than a huge one (changed the architecture of the project)

Through this requirement, we hope to encourage you to think about projects with an iterative, modular mindset. Doing so will allow you to break projects down into smaller milestones that come together to make your fully-realized solution.

Final Exam

  • Passing the exam is a requirement for passing the class.
  • You will have 2 hours to complete this exam - it will be in class using paper and pencil, or a format of the instructor's choosing
  • There are no retakes for the exam.
  • If you have a disability that needs accommodation such as extended time or a different format, please take advantage of our accommodations program.

Other Class assignments

Evaluation

To pass this course you must meet the following requirements:

  • Complete all required tutorials
  • Pass all projects according to the associated project rubric
  • Pass the final summative assessment >=75%
  • Actively participate in class and abide by the attendance policy
  • Make up all classwork from all absences

Attendance

Just like any job, attendance at Make School is required and a key component of your success. Attendance is being on site from 9:30 to 5:30 each day, attending all scheduled sessions including classes, huddles, coaching, and school meetings, and working in the study labs when not in a scheduled session. Working onsite allows you to learn with your peers, have access to support from TAs, instructors, and others, and is vital to your learning.

Attendance requirements for scheduled sessions are:

  • No more than two no call no shows per term in any scheduled session.
  • No more than four excused absences per term in any scheduled session.

Failure to meet these requirements will result in a PIP (Participation Improvement Plan). Failure to improve after the PIP is cause for not being allowed to continue at Make School.

Make School Course Policies

Academic Honesty
Accommodations for Students
Attendance Policy
Diversity and Inclusion Policy
Grading System
Title IX Policy
Program Learning Outcomes