Welcome to INFO 5001

Lecture 1

Dr. Benjamin Soltoff

Cornell University
INFO 5001 - Fall 2024

August 27, 2024

Agenda

Agenda

  • What is data science?
  • Software
  • Application exercise
  • What is INFO 5001?
  • This week’s tasks

Staff intros

Meet the instructor

Dr. Benjamin Soltoff

Lecturer in Information Science

Gates Hall 216

Headshot of Dr. Benjamin Soltoff

Meet the course team

TAs

  • Hyunchul L
  • Kevin C
  • Melissa E
  • Siyuan T
  • Tung W
  • Yan T

Meet each other!

  • Name
  • Undergrad major
  • A book you’ve read recently
02:00

What is data science?

What is data science?

  • Data science is an exciting discipline that allows you to turn raw data into understanding, insight, and knowledge.

    [A]n interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract or extrapolate knowledge and insights from noisy, structured and unstructured data, and apply knowledge from data across a broad range of application domains1

  • We’re going to learn to do this in a tidy way – more on that later!

  • This is a course on computing applications for data science workflows

Software

Excel - not…

An Excel window with data about countries

ChatGPT - no.

A ChatGPT window with a conversation about data analysis

Alteryx - closer…

An Alteryx window with a workflow

R

An R shell

RStudio

An RStudio window

Data science life cycle

Data science life cycle

Data science life cycle

Import

Data science life cycle, with import highlighted

Tidy + transform

Data science life cycle, with tidy and transform highlighted

Visualize

Data science life cycle, with visualize highlighted

Model

Data science life cycle, with model highlighted

Understand

Data science life cycle, with understand highlighted

Communicate

Data science life cycle, with communicate highlighted

Understand + communicate

Data science life cycle, with understand and communicate highlighted

Program

Data science life cycle, with program highlighted

How we will do this

R and RStudio

R logo

  • R is an open-source statistical programming language
  • R is also an environment for statistical computing and graphics
  • It’s easily extensible with packages

RStudio logo

  • RStudio is a convenient interface for R called an IDE (integrated development environment), e.g. “I write R code in the RStudio IDE”
  • RStudio is not a requirement for programming with R,1 but it’s very commonly used by R programmers and data scientists

Major differences between R and Python

R Python
Syntax Functional language Object-oriented language
Statistical learning Developed by statisticians for statistical analysis Meh
Machine learning scikit-learn
Deep learning
Visualization ggplot2 matplotlib + others
Package management CRAN pip/virtualenv/PyPI/Anaconda
Speed Somewhat slower Somewhat faster
Community Academia and industry Larger (general-purpose programming language)

tidyverse

Hex logos for dplyr, ggplot2, forcats, tibble, readr, stringr, tidyr, and purrr

tidyverse.org

  • The tidyverse is an opinionated collection of R packages designed for data science
  • All packages share an underlying philosophy and a common grammar

Quarto

Quarto

  • Fully reproducible documents – each time you render the analysis is run from the beginning
  • Code goes in chunks – narrative goes outside of chunks
  • A visual editor for a familiar / Google docs-like editing experience
  • Similar (but IMO superior) to Jupyter Notebooks
  • Supports Python, R, Julia, Observable natively

Example output with title (ggplot2 demo), author (Norah Jones), and date (5/22/2021). Below is a header reading Air Quality followed by body text (Figure 1 further explores the impact of temperature on ozone level.) with a toggleable code field, and figure with caption Figure 1 Temperature and ozone level.

How will we use Quarto?

  • Every assignment / report / project / etc. is a Quarto document
  • You’ll always have a template Quarto document to start with
  • The amount of scaffolding in the template will decrease over the semester

Version control with Git

Git and GitHub

Git logo

  • Git is a version control system – like “Track Changes” features from Microsoft Word, on steroids
  • It’s not the only version control system, but it’s a very popular one

GitHub logo

  • GitHub is the home for your Git-based projects on the internet – like DropBox but much, much better

  • We will use GitHub (Enterprise) as a platform for web hosting and collaboration

Versioning

Versioning

with human readable messages

How we use Git and GitHub

How we use Git and GitHub

How we use Git and GitHub

How we use Git and GitHub

Let’s dive in!

Application exercise

Or more like demo for today…

📋 info5001.infosci.cornell.edu/ae/ae-00-unvotes.html

Who is this class for?

Jeri

An artificially generated headshot of Jeri created by DALL·E.

  • PhD student in information science
  • Feels comfortable with regression and econometric methods in Stata
  • Will be analyzing a large-scale dataset for her dissertation
  • Seeks a reproducible workflow to manage all her exploratory and confirmatory analysis

Fernando

An artificially generated headshot of Fernando created by DALL·E.

  • Entering the MPS program
  • Has a degree in computer science but has never taken courses in data science
  • Expects to analyze a collection of published news articles
  • Wants to understand code samples he finds online so he can repurpose them for his own work

Ryan

An artificially generated headshot of Ryan created by DALL·E.

  • Fourth-year undergraduate student in information science who is beginning early work towards the MPS degree
  • Has taken core classes in information science (including CS 1110) with a concentration in user experience/user design
  • Expects to use data science methods in industry for user testing and data analysis

Fang

An artificially generated headshot of Fang created by DALL·E.

  • Born and raised in Shenzhen, China
  • Background in psychology, plans to apply for doctoral programs in marketing
  • Is going to run 300 experiments on Amazon MTurk in the next six months
  • Expects to take courses in machine learning and Bayesian statistics which require a background in R

Course overview

Homepage

https://info5001.infosci.cornell.edu/

  • All course materials
  • Links to Canvas, GitHub, RStudio Workbench, etc.
  • Let’s take a tour!

Course toolkit

All linked from the course website:

Important

Make sure you can access RStudio before class on Thursday.

Activities: Prepare, Participate, Practice, Perform

  • Prepare: Introduce new content and prepare for lectures by completing the readings

  • Participate: Attend and actively participate in lectures and labs, office hours, team meetings

  • Practice: Practice applying statistical concepts and computing with application exercises during lecture, graded for completion

  • Perform: Put together what you’ve learned to analyze real-world data

    • Lab assignments x 6(-ish) (first individual, later team-based)
    • Homework assignments x 6(-ish) (individual)
    • Mid-semester take-home exam
    • Team project

Activities: Participate

Preparing for and participating in class

Not preparing for class, not actively participating

Cadence

  • Application exercises: Complete by the end of the day
  • Labs: Start and make large progress on Friday in lab section, finish up by Monday 11:59pm the following week
  • HWs: Posted Friday morning, due following Wednesday 11:59pm
  • Exam: Exam released Friday morning, no lab on Friday of that week, due by Monday 11:59pm
  • Project: Deadlines throughout the semester, with some lab time dedicated to working on them, and most work done in teams outside of class

Grading

Category Percentage
Homework 30%
Project 30%
Labs 15%
Exam 15%
Application Exercises 10%

See course syllabus for how the final letter grade will be determined.

15 minute rule

Support

  • Attend office hours
  • Ask and answer questions on the discussion forum
  • Reserve email for questions on personal matters and/or grades
  • Read the course support page

Announcements

  • Posted on Canvas (Announcements tool), be sure to check regularly (or forward announcements to your email)
  • I’ll assume that you’ve read an announcement by the next “business” day

Diversity + inclusion

  • I want you to feel like you belong in this class and are respected
  • We are committed to full inclusion in education for all persons
  • If you feel that we have failed these goals, please either let us know or report it, and we will address the issue

Accessibility

I want this course to be accessible to students with all abilities. Please feel free to let me know if there are circumstances affecting your ability to participate in class.

Course policies

Late work, waivers, regrades policy

  • We have policies!
  • Read about them on the course syllabus and refer back to them when you need it

Collaboration policy

  • Only work that is clearly assigned as team work should be completed collaboratively.

  • Homeworks must be completed individually. You may not directly share answers / code with others, however you are welcome to discuss the problems in general and ask for advice.

  • Exams must be completed individually. You may not discuss any aspect of the exam with peers.

Sharing / reusing code policy

  • We are aware that a huge volume of code is available on the web, and many tasks may have solutions posted

  • Any recycled code that is discovered and is not explicitly cited will be treated as plagiarism, regardless of source

  • All code must be written by you, the human being

Generative AI

Academic integrity

  1. A student shall in no way misrepresent his or her work.
  2. A student shall in no way fraudulently or unfairly advance his or her academic position.
  3. A student shall refuse to be a party to another student’s failure to maintain academic integrity.
  4. A student shall not in any other manner violate the principle of academic integrity.

Most importantly!

Ask if you’re not sure if something violates a policy!

Before Thursday

A film recommendation (nine years late…)

A poster for the film The Descendants featuring Evie, Mal, Carlos, and Jay.