Zoom Meetings

CS50 occasionally holds live lectures and sections that anyone on the internet is welcome to attend or watch, whether taking any of CS50’s courses or not!

For any Zoom meeting you attend, please take care to

  • participate from a quiet office or similar space (and not from a bed, car, hammock, plane, or train), and
  • participate with your camera turned on, using horizontal (not vertical) video.

If unable to accommodate these norms some week, please watch the live stream or recording at youtube.com/cs50 instead.

CS50R

CS50’s team is in the process of filming a brand-new course, CS50’s Introduction to Programming with R, designed to supplement CS50 itself for students at Harvard College and Harvard Extension School:

An introduction to programming using a language called R, a popular language for statistical computing and graphics in data science and other domains. Learn to use RStudio, a popular integrated development environment (IDE). Learn to represent real-world data with vectors, matrices, arrays, lists, and data frames. Filter data with conditions, via which you can analyze subsets of data. Apply functions and loops, via which you can manipulate and summarize data sets. Write functions to modularize code and raise exceptions when something goes wrong. Tidy data with R’s tidyverse and create colorful visualizations with R’s grammar of graphics. By course’s end, learn to package, test, and share R code for others to use. Assignments inspired by real-world data sets.

Recall that CS50 itself, also known as CS50x, is an Introduction to Computer Science. You can take this new course on R before CS50x, during CS50x, or after CS50x. But for an introduction to computer science itself, you should still take CS50x!

Starting July 2024, CS50’s Introduction to Programming with R will be freely available to anyone online via edX at cs50.edx.org/r and via OpenCourseWare at cs50.harvard.edu/r.

You’re welcome to attend one, some, or all of the live lectures below! Space is limited, so please forgive if a Zoom Meeting fills up! You’re welcome to watch live via YouTube instead.

Schedule

Dress Rehearsal

2024-01-23T13:00:00-05:00/2024-01-23T16:00:00-05:00

A live lecture rehearsal on various topics within the course. Odds are we’ll start and stop a few times to fix things: so consider it an opportunity to see behind the scenes a bit!

Lecture 1 Representing Data

2024-01-30T13:00:00-05:00/2024-01-30T16:00:00-05:00

R. RStudio. Arithmetic. Storage Modes. Objects. Navigation. Vectors. Vector Arithmetic. Matrices. Arrays. Lists. Data Frames. Factors. Reading Data. Writing Data.

Lecture 2 Transforming Data

2024-02-02T13:00:00-05:00/2024-02-02T16:00:00-05:00

Logicals. Logical Operators. Logical Expressions. Logical Vectors. Subsets. Conditionals: if, else, ifelse, switch.

Lecture 3 Applying Functions

2024-02-09T13:00:00-05:00/2024-02-09T16:00:00-05:00

Defining Functions. Arguments. Return Values. Loops: while, for, repeat. Implicit Loops: apply and family.

How to use RStudio

If you’d like to try writing some R code during the lecture, you can:

  1. Install R for your operating system from cran.rstudio.com.
  2. Install RStudio Desktop from posit.co/download/rstudio-desktop.

Or you can use Visual Studio Code for CS50 at cs50.dev, in which CS50 has pre-installed RStudio Server:

  1. Sign up for a (free) GitHub account, if you don’t have one already, at github.com/signup.
  2. Log into cs50.dev with that account.
  3. Run update50 in your terminal window.
  4. Run rstudio in your terminal window and click Open in Browser when prompted.

Do consider CS50’s installation of RStudio Server to be in “beta,” as it might still be a bit buggy. Please report any bugs to sysadmins@cs50.harvard.edu!

Lecture 4 Tidying Data

2024-02-16T13:00:00-05:00/2024-02-16T16:00:00-05:00

Packages. tidyverse. dplyr: select, filter, arrange, distinct, group_by, summarize. Pipe Operator. tidyr. Tidy Data. Normalizing. stringr. Cleaning Strings.

How to use RStudio

If you’d like to try writing some R code during the lecture, you can:

  1. Install R for your operating system from cran.rstudio.com.
  2. Install RStudio Desktop from posit.co/download/rstudio-desktop.

Or you can use Visual Studio Code for CS50 at cs50.dev, in which CS50 has pre-installed RStudio Server:

  1. Sign up for a (free) GitHub account, if you don’t have one already, at github.com/signup.
  2. Log into cs50.dev with that account.
  3. Run update50 in your terminal window.
  4. Run rstudio in your terminal window and click Open in Browser when prompted.

Do consider CS50’s installation of RStudio Server to be in “beta,” as it might still be a bit buggy. Please report any bugs to sysadmins@cs50.harvard.edu!

Lecture 5 Visualizing Data

2024-02-20T13:00:00-05:00/2024-02-20T16:00:00-05:00

Plots. Grammar of Graphics. ggplot.

How to use RStudio

If you’d like to try writing some R code during the lecture, you can:

  1. Install R for your operating system from cran.rstudio.com.
  2. Install RStudio Desktop from posit.co/download/rstudio-desktop.

Or you can use Visual Studio Code for CS50 at cs50.dev, in which CS50 has pre-installed RStudio Server:

  1. Sign up for a (free) GitHub account, if you don’t have one already, at github.com/signup.
  2. Log into cs50.dev with that account.
  3. Run update50 in your terminal window.
  4. Run rstudio in your terminal window and click Open in Browser when prompted.

Do consider CS50’s installation of RStudio Server to be in “beta,” as it might still be a bit buggy. Please report any bugs to sysadmins@cs50.harvard.edu!

Lecture 6 Testing Programs

2024-02-23T13:00:00-05:00/2024-02-23T16:00:00-05:00

Exceptions. Unit Tests. testthat. Test-Driven Development. Behavior-Driven Development

How to use RStudio

If you’d like to try writing some R code during the lecture, you can:

  1. Install R for your operating system from cran.rstudio.com.
  2. Install RStudio Desktop from posit.co/download/rstudio-desktop.

Or you can use Visual Studio Code for CS50 at cs50.dev, in which CS50 has pre-installed RStudio Server:

  1. Sign up for a (free) GitHub account, if you don’t have one already, at github.com/signup.
  2. Log into cs50.dev with that account.
  3. Run update50 in your terminal window.
  4. Run rstudio in your terminal window and click Open in Browser when prompted.

Do consider CS50’s installation of RStudio Server to be in “beta,” as it might still be a bit buggy. Please report any bugs to sysadmins@cs50.harvard.edu!

Lecture 7 Packaging Programs

2024-02-27T13:00:00-05:00/2024-02-27T16:00:00-05:00

Packages. Package Structure. Licensing. Unit Testing. Writing Functions. Documenting Functions. Markup Languages. Building Packages. Distributing Packages.

How to use RStudio

If you’d like to try writing some R code during the lecture, you can:

  1. Install R for your operating system from cran.rstudio.com.
  2. Install RStudio Desktop from posit.co/download/rstudio-desktop.

Or you can use Visual Studio Code for CS50 at cs50.dev, in which CS50 has pre-installed RStudio Server:

  1. Sign up for a (free) GitHub account, if you don’t have one already, at github.com/signup.
  2. Log into cs50.dev with that account.
  3. Run update50 in your terminal window.
  4. Run rstudio in your terminal window and click Open in Browser when prompted.

Do consider CS50’s installation of RStudio Server to be in “beta,” as it might still be a bit buggy. Please report any bugs to sysadmins@cs50.harvard.edu!