Lecture 01: Introduction

Slides:



Advertisements
Similar presentations
Course Outline Presentation Term: F09 Faculty Name : Asma Sanam Larik Course Name :INTRO TO COMPUTING Course Code : CSE145 Section :1 Semester : 1.
Advertisements

1 i206: Distributed Computing Applications & Infrastructure 2012
Intro to CIT 594
CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
General information CSE 230 : Introduction to Software Engineering
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
CSS-304: Computer Systems Interface Duisebekov Zhasdauren Faculty of Engineering Suleyman Demirel University.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
Platforms for Learning in Computer Science July 28, 2005.
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Data Structures, Algorithms, & Applications
COMP 175 | COMPUTER GRAPHICS Remco Chang1/ Introduction Lecture 01: Introduction COMP 175: Computer Graphics January 15, 2015.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
CSC 171 – FALL 2001 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Course Information Sarah Diesburg Operating Systems COP 4610.
CMSC104 Problem Solving and Computer Programming Spring 2011 Section 04 John Park.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
B.A. (Mahayana Studies) Introduction to Computer Science November March Preliminaries Some background information for this course.
DATA MINING: LECTURE 1 By Dr. Hammad A. Qureshi Introduction to the Course and the Field There is an inherent meaning in everything. “Signs for people.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
CSE6339 DATA MANAGEMENT AND ANALYSIS FOR COMPUTATIONAL JOURNALISM CSE6339, Spring 2012 Department of Computer Science and Engineering, University of Texas.
Lecture 01: Introduction September 08, 2015 COMP Visualization.
Networking CS 3470, Section 1 Sarah Diesburg
CS6501 Advanced Topics in Information Retrieval Course Policy
CMSC104 Problem Solving and Computer Programming Spring 2008
CSC207 Fall 2016.
INTERMEDIATE PROGRAMMING WITH JAVA
CSc 1302 Principles of Computer Science II
Course Introduction – Fall 2014
EECS 110: Introduction to Programming for Non-Majors
IT244 - Introduction to Linux / Unix Instructor: Bo Sheng
CMSC104 Problem Solving and Computer Programming Fall 2010 Section 01
Computer Science Courses
Goals Give student some idea what this class is about
IST 516 Introduction Fall 2011 Dongwon Lee, Ph.D..
Course Information Mark Stanovich Principles of Operating Systems
CS598CXZ (CS510) Advanced Topics in Information Retrieval (Fall 2016)
CS410: Text Information Systems (Spring 2018)
CS190/295 Programming in Python for Life Sciences: Lecture 1
Software Programming J. Holvikivi 2014.
Andy Wang Operating Systems COP 4610 / CGS 5765
Foundations of Programming Languages – Course Overview
CMSC 104 Problem Solving and Computer Programming Fall 2010
EECE 310 Software Engineering
Operating Systems CS 3013.
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
CS & CS Capstone Project & Software Development Project
CS6501: Text Mining Course Policy
Systems Programming Intro
CMSC104 Problem Solving and Computer Programming Fall 2010
Welcome to CS220/MATH 320 – Applied Discrete Mathematics Fall 2018
CMSC104 Problem Solving and Computer Programming Spring 2010
Principles of Programming Languages
Andy Wang Operating Systems COP 4610 / CGS 5765
Principles of Programming Languages
Lecture 00: Introduction
CSS-304: Computer Systems Interface
CMSC104 Problem Solving and Computer Programming Fall 2009 Section 2
Andy Wang Operating Systems COP 4610 / CGS 5765
CS4501: Information Retrieval Course Policy
CS 2530 Intermediate Computing Dr. Schafer
CSCE 221 Professor Lupoli TAMU CSCE 221 Intro.
CS 4620 Intelligent Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
CMSC104 Problem Solving and Computer Programming Spring 2010
Warmup Write a function to add two integer parameters and return the result.
Computer Science Courses in the Major
Presentation transcript:

Lecture 01: Introduction September 05, 2017 COMP 177 Visualization

People Instructor: Remco Chang remco@cs.tufts.edu Office: Halligan 221 Hours: TBD Head (Graduate) TA: Tomoki Shibata Undergrad TA: Chase Conley

NOTES A quick word about class size… Current Roster of 40 A few people on the waiting list Some preference given to incoming graduate students See me after class People might drop…

People Let me get to know you guys a little bit… Show of hand: CS Course Background … taken COMP 40 Know Java? Know JavaScript? Vis Programming Background … taken COMP 175 (Graphics) … taken COMP 171 (HCI) … taken COMP 86 (Object Oriented GUI) Other courses in graphics, visualization, HCI Proficiency with GUI frameworks or toolkits e.g., d3, openGL, MFC, X, Java, Swing, wx, QT, etc.

People Design Background Majors Courses in art Courses in design Courses in Human Factors Majors CS Human Factors Engineering Arts and Science Undecided Others?

This Course Primary Goals Work with data Understand what makes visualization good… …and what makes a good visualization Gain experience programming visualizations Learn technologies and techniques that are frequently used in conjunction: Databases Machine Learning / Statistics Web technologies

Relation to Data Science Story about TripAdvisor Data skills (storage, retrieval, cleaning) Analysis skills (stats, machine learning, data mining) Role of visualization Data exploration Data exposition (aka storytelling) Both?

Exploration: Anscombe's quartet

Anscombe's quartet

Exposition: Visual Communication

Visual Communication “Choose your own adventure” http://www.nytimes.com/interactive/2012/11/02/us/politics/paths-to-the-white-house.html Structured, yet flexible narrative http://www.nytimes.com/interactive/2010/02/02/us/politics/20100201-budget-porcupine-graphic.html

Data Journalism Data is the story Data augments the story https://www.bloomberg.com/graphics/2015-dangerous-jobs/ Data augments the story http://www.sfchronicle.com/airbnb-impact-san-francisco-2015/#1 Sensationalizing the Data http://graphics.wsj.com/3d-nasdaq/

How to Build Visualizations? Three major concepts: Pattern Recognition Color Theory Perceptual Theory Gestalt Psychology Externalization Symbols Distributed Cognition Visual Communication Storytelling Design Principles

Pattern Recognition Why do things “pop out”?

Pattern Recognition Why do things “pop out”?

Why Visualization Works… Algorithms question: what is the complexity (in big O notation) of finding a single red dot in n number of blue dots? What is the complexity (in big O notation) for a human to find a red dot in a sea of blue dots?

Gestalt Psychology Law of Proximity

Gestalt Psychology Law of Similarity

Color Theory

Perceptual Theory

Exposition and Exploration: Thought Externalization

Small Group Discussions For your chosen numeric system, identify the encodings: Symbols Counts Spacing

Small Group Discussions For your chosen numeric system, identify the encodings: Symbols Counts Spacing For the Arabic system, repeat the exercise

Small Group Discussions For your chosen numeric system, identify the encodings: Symbols Counts Spacing For the Arabic system, repeat the exercise Why did the Arabic system “win”?

Example: Arithmetic Slide courtesy of Pat Hanrahan

Example: Arithmetic Slide courtesy of Pat Hanrahan

(Addendum) Counting in Arabic Numerals

General Information Course website: Teams of 2 Syllabus Languages: http://www.cs.tufts.edu/comp/177 Teams of 2 Syllabus Lectures Labs New weekly partner Announced during lecture Languages: Processing (Java) Javascript Assignments Teams Switching Members (Projects 1+2, Projects 3+4+5) Submission via Provide Final Project Grading Labs No Text book Accommodation

Visualization Critique Form an opinion! Visualizations are not only for experts, feel free to decide if a visualization is good or bad regardless of what other people think! Figure out how you would make the visualization better!

Example (Bad)

Example (Bad)

(Not the Worst…)

Example (Good) Visualizing MBTA Data http://mbtaviz.github.io/

Example (Suggested Fixes) http://peltiertech.com/WordPress/use-bar-charts-not-pies/

Questions?

Event-Based Programming Loop The notion of an infinite loop checking for events GUI, network, hardware devices, etc. Idle Func Functions that are called repeatedly Setup Func Functions that are called once Animation How would you do it?

Processing Intro to Processing Example Program: bouncing balls Go through the website Difference between Processing and Java Danger of using Java code Processing.js Example Program: bouncing balls