Welcome to INFO 2951

Lecture 1

Dr. Benjamin Soltoff

Cornell University
INFO 2951 - Spring 2025

January 21, 2025

Agenda

Agenda

  • Announcements
  • Intros
  • What is data science?
  • Software
  • Application exercise
  • Course overview
  • This week’s tasks

Announcements

Announcements

  • Getting off the wait list
  • Discussion section enrollment as of January 21st
Discussion section Time Enrollment
201 9:05-9:55am 4
202 10:10-11:00am 12
204 11:15-12:05pm 18
205 12:20-1:10pm 5
206 2:30-3:20pm 0
207 1:25-2:15pm 7

Staff intros

Meet the instructor

Dr. Benjamin Soltoff

Lecturer in Information Science

Gates Hall 216

Headshot of Dr. Benjamin Soltoff

Meet the course team

Grad TAs

  • Sam G.
  • Psyche H.
  • Eunjeong K.
  • Ke L.
  • Dibyendu M.
  • Saif M.

Undergrad TAs

  • Afran A.
  • Israel D.
  • Gabby F.
  • Catherine G.
  • Amanda J.
  • Griffin M.
  • Philan T.

Meet each other!

Physically interact with at least 2 people sitting around you. Introduce yourselves to each other and share:

  • Your name - Prof/Dr. Soltoff
  • Your major - Political science
  • The last movie you saw - Cheaper by the Dozen
  • What you hope to get out of this class - A paycheck
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 domains

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

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

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 and RStudio

R logo

  • R is an open-source statistical programming language
  • R is also an environment for statistical computing and graphics

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…

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

Course overview

Homepage

https://info2951.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 8(-ish) (individual)
    • In-person midterm and final 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: In-person, date/times assigned by the registrar
  • 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
Exams 35%
    Prelim 15%
    Final exam 20%
Homework 25%
Project 20%
Labs 10%
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

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

 

As long as you meet
the prereqs

Prerequisites

  1. CS 1110 or CS 1112, AND
  2. MATH 1710 or equivalent
  • No prior experience with R is expected

  • You must have general-purpose programming experience AND be comfortable with basic probability and statistical inference

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!

Wrap up

Before Thursday

Acknowledgements