Instructor: Tamara Munzner (she)
First Class: Tue Jan 12 2021
Sync Livestream Classes: Thu 2-3:30 synchronous livestreamed
classes (see Canvas for Zoom URL & password)
Async Video Lectures: No Tue sync class
(except Tue Jan 11) watch
pre-recorded video lectures asychronously early in week.
Instructor Office Hours via Zoom: Tue 2-3:30, or by appointment (send me email at tmm@cs.ubc.ca to
arrange).
TA Office hours: Friday 9-10, 11-12, 4-5, and/or other times TBA
TAs: Francis Nguyen, Steve
Kasica
Portals:
Piazza |
Canvas |
UBC
Calendar
Page Index:
Hall of Fame |
Schedule Summary |
Detailed Syllabus |
Assignments |
D3 Tutorials |
D3 Case Studies |
D3 Examples |
Quizzes |
Delivery Mechanisms |
Description & Prereqs |
Structure |
Learning Outcomes |
Resources |
Grading Scheme |
Policies |
Previous Versions
Jump To Today
Although they are not mandatory, we very strongly recommend that you use these case
studies as resources in addition to the tutorials, when working on P1 and P2.
Every example in the public Github repo can be opened in the codesandbox
interactive web IDE by replacing github.com with
githubbox.com in the URL, for example:
D3 Examples
Full set of D3
examples on Github
These examples are featured in the tutorials above. For reference, the full
listing of individual examples is
Quizzes
Quizzes are due on Fridays at 5pm. They will be posted on Canvas just
under one week before
they are due, by 6pm the previous Friday. The lowest quiz score will be
dropped.
The prerequisite for this course is CPSC 310, which provides an introduction to the JavaScript programming language used in this course (and also experience on software projects). The inherited prerequisites are thus CPSC 210 and one of CPSC 107, CPSC 110, CPSC 260.
This course will provide an
undergraduate-level introduction to
visualization, with D3.js tooling that
provides practice with modern
web-based development environments. It will
train CS majors
in visualization for data exploration
and presentation. These foundational skills
are a crucial cornerstone
of data science and are increasingly
required in many other
areas ranging from business to data
journalism.
The course will be a hybrid
partially-flipped approach. The D3
tooling
will be taught in the first seven weeks
through a combination of written
tutorials you work through at your own
pace (checked by online quizzes), case
studies that will walk you through more
advanced visualizations, and post-class
work (checked by
programming exercises). The fundamentals
will be taught throughout
the term with a combination of pre-class
lecture videos, in-class
active learning, and post-class work
(checked by
foundations exercises).
The final project, in the final six
weeks, will require integration
and synthesis of the material initially
covered in both the
programming exercises and the
foundational exercises. Students
will work in self-chosen teams of three.
The completed
project will result in portfolio
materials that showcase both
technical achievements through
interactive visualizations that can be
demonstrated in any modern web browser,
and the ability to communicate
clearly in writing through the written
process log.
There will be TA office hours via Zoom
where you can book a time slot for
further in-person individual help,
particularly with D3.
The midterm will focus on assessing the
foundations material in a solo
setting, rather than the assessment of
programming skills which will
occur through the final project. The
midterm will be in week 12, after
the weekly programming exercises
conclude and as the project work
ramps up. There is no final exam.
For further reading about
theoretical foundations
beyond what's covered in
lecture, see the textbook Visualization
Analysis and Design.
The UBC library has multiple
ebook licenses so you can
read it for free: library
catalog page, EZProxy
direct link.
The students must pass
both the midterm exam
and the final project to
pass the course;
students who fail either
will receive a mark of
at most 45. The workload
is designed to be 12
hours per week in total,
1.5 in class (sync
lecture) and 10.5
outside of class
(asynchronous). Exam
marks may be scaled. The
instructor reserves the
right to modify the
grading scheme.
Wait List
Policy:
I'm not in
charge of the
class waitlist;
please don't
contact me
asking about
your chances of
getting into the
class. Instead,
please direct
any questions
you may have to
the CS
Department
Academic
Advisors. If you
are on the
waitlist and
want to take the
course, you
should
participate from
the beginning.
Students who
attend class
will be given
waitlist
priority (I'll
share attendance
information with
the main
office).
Students who
register for the
course late
still have to
complete all
assignments on
the same
schedule as all
other students.
Waitlisted
students are
eligible to
submit
assignments
before being
formally
registered.
Attendance:
Attendance
in all
synchronous
lectures is
expected.
You are
responsible
for all
material
presented
there. Some
material for
the
synchronous
class
sessions
will be made
available
online.
However,
there is no
guarantee
that
everything
covered will
be in the
posted
material,
and in
particular
any lecture
slides may
not fully
capture what
occurs in
the
in-class
exercises.
Your
participation
mark is
based on
both
in-class
activity and
substantive
participation
in Piazza
discussion.
Grace
Days
and
Late
Policy
It
is
important
that
assigned
work
be
completed
on
time,
because
subsequent
assignments
depend
on
your
comprehension
of
earlier
work.
To
allow
for
unforeseeable
circumstances,
you
will
be
allowed
two
days
of
grace
during
the
quarter,
which
can
be
used
on
any
programming
or
foundations
assignment
Illness
If
you
have
missed
assignment
deadlines
due
to
prolonged
and
serious
illness,
beyond
your
two
alloted
grace
days,
when
you
have
recovered
you
should
submit
the
following
self-declaration
form,
through
a
private
message
on
Piazza
(whether
or
not
you
discussed
it
with
any
instructional
staff
in
person
or
by
email):
Student
Absence
Due
to
Illness
or
Injury
Form
It's
your
responsibility
to
inform
me
in
a
timely
manner,
at
latest
within
three
days
of
recovering
and
returning.
I
will
decide
on
a
course
of
action
after
I
hear
from
you.
I
may
allow
you
to
turn
in
work
late
without
penalty,
I
may
excuse
you
from
completing
the
missed
work
and
grade
you
only
on
your
completed
work,
or
I
may
determine
that
the
work
cannot
be
made
up.
If
you
have
not
missed
any
deadlines,
you
do
not
need
to
submit
the
form.
Use
of
the
self-declaration
form
during
the
final
exam
period
is
not
accepted:
you
should
communicate
directly
and
immediately
with
me
through
a
Piazza
private
message
if
you
are
sick
and
unable
to
write
the
final
examinations.
Not
relevant
during
online
classes:
Academic
Honesty
You
are
required
to
read
about
my
expectations
for
academic
honesty
and
state
that
you
fully
understand
them
before
any
work
in
the
course
will
be
marked.
Ask
Tamara
or
the
TAs
right
away
if
you
have
any
questions,
on
Piazza
as
either
a
private
or
a
public
message,
about
these
three
writeups:
Regrading:
If
you
would
like
to
request
an
assignment
or
exam
regrade
from
the
instructor,
you
must
submit
a
detailed
written
explanation
of
why
you
think
the
grader
was
incorrect
for
the
particular
problem
that
you
are
disputing,
after
consulting
the
solutions
(if
applicable).
The
instructor
may
regrade
the
entire
assignment
or
exam,
not
just
the
particular
problem
in
question,
so
your
total
grade
may
end
up
higher
or
lower.
Submit
the
request
through
a
private
message
on
Piazza
(to
all
instructional
staff).
Equity,
Inclusion
and
Wellness:
Please
see
the
CS
Department's
resources
on
equity,
inclusion,
and
wellness.
UBC
provides
resources
to
support
student
learning
and
to
maintain
healthy
lifestyles
but
recognizes
that
sometimes
crises
arise
and
so
there
are
additional
resources
to
access
including
those
for
survivors
of
sexual
violence.
UBC
values
respect
for
the
person
and
ideas
of
all
members
of
the
academic
community.
Harassment
and
discrimination
are
not
tolerated
nor
is
suppression
of
academic
freedom.
UBC
provides
appropriate
accommodation
for
students
with
disabilities
and
for
religious
and
cultural
observances.
UBC
values
academic
honesty
and
students
are
expected
to
acknowledge
the
ideas
generated
by
others
and
to
uphold
the
highest
academic
standards
in
all
of
their
actions.
Details
of
the
policies
and
how
to
access
support
are
available
at
https://senate.ubc.ca/policies-resources-support-student-success.
Structure
Learning Outcomes
By the end of this course, students
will be able to:
Resources
Grading Scheme
Students will be graded on a
numerical basis. The grading
scheme is:
Policies
or
project
with
no
explanation
required
(or
desired).
Use
these
as
you
wish
to
help
manage
your
time,
but
use
them
wisely.
It
is
strongly
recommended
that
you
do
not
use
all
your
grace
days
early
in
the
term.
You
can
use
both
on
one
assignment,
or
spread
the
days
across
multiple
assignments.
One
grace
day
is
used
for
every
24-hour
period
after
the
deadline,
whether
it
is a
weekday,
a
weekend,
or a
holiday.
Think
of
this
policy
as
permission,
given
in
advance,
to
submit
work
late
because
of
illness,
travel,
starting
the
course
late,
conflicts
with
other
courses,
and
so
on.
No
further
allowance
will
be
made
for
failure
to
submit
work
on
time,
except
in
truly
exceptional
circumstances
such
as a
prolonged
and
serious
illness.
Late
demos
will
be
subject
to
the
availability
of
the
grader.
No
late
work
will
be
accepted
after
solutions
have
been
handed
out.
Students
are
encouraged
to
stay
at
home
if
they
have
a
communicable
illness
(such
as
flu-like
symptoms)
to
prevent
further
spread
of
illness
to
other
students,
staff,
or
faculty.
(UBC
no
longer
requires
a
doctor's
note,
it
is
your
responsibility
to
report
your
own
absence
due
to
illness
and
injury.)
Previous
Versions
Permanent
URL
for
the
page
is
https://www.students.cs.ubc.ca/~cs-436v/21Jan.
Tamara
Munzner
Last
modified:
Thu
Apr
8
17:14:31
PDT
2021