Syllabus

Welcome to AEM 2850 / AEM 5850! I’d like to preface the syllabus with three points:

  1. Your success in this class is important to me. I am committed to making appropriate accommodations that meet your needs and that also allow you to complete the requirements of this course. My goal is for you to learn everything you want to learn in this class.

  2. This course is a work in progress. This is its third offering. This means you have a unique opportunity to help improve the class for yourself as well as for future students. Please take advantage of it! The best way to provide constructive feedback throughout the semester is by emailing me and/or the TAs.

  3. Get the semester off to a good start: read the syllabus!

Contents

Course details

  • Tuesdays and Thursdays
  • January – May, 2024
  • 08:40am - 09:55am (sec. 2)
  • 10:10am - 11:25am (sec. 1)
  • Warren 150

Contacting me

Email is best for short and concrete questions. Please use office hours for complex or open-ended questions.

Meeting times and locations

Class

Tuesdays and Thursdays 08:40 - 09:55 or 10:10 - 11:25 in Warren 150

Professor office hours

  • Tuesdays 11:30am - 12:30pm in Warren 464
    • these are “drop-in” office hours—come at any time, in any number
  • Other times by appointment at aem2850.youcanbook.me

TA office hours

See below for tips on how to make the most of office hours and email.

Course overview

Course description

This course provides business students with an introduction to the most important tools in R for programming and data visualization. Students will learn the basics of R syntax, data structures, data wrangling, and data visualization using the grammar of graphics.

After taking this course, students will have the tools to complete basic tasks in R and interface effectively with statisticians and data scientists in business settings. This course also provides a foundation for future coursework to implement more advanced statistical methods in R.

Course outcomes

  1. Develop basic proficiency in R programming
  2. Understand data structures and manipulation
  3. Describe effective techniques for data visualization and communication
  4. Construct effective data visualizations
  5. Utilize course concepts and tools for business applications

Prerequisites:

  • There are none! This is introductory programming course
  • AEM 2010, AEM 2011, or equivalent (Spreadsheet Modeling) is helpful but not required

Course materials

All of the readings and software used for this class are free.

Books, articles, and other materials

We will draw on multiple textbooks, all of which are available online (for free!). You also have the option to get print versions of these books if you are interested.

R and RStudio

You will do all of your analysis with the open source (and free!) programming language R. You will use RStudio as the main program to access R. Think of R as an engine and RStudio as a car dashboard—R handles all the calculations produces the actual statistics and graphical output, while RStudio provides a nice interface for running R code.

R is free, but it can sometimes be a pain to install and configure. To make life easier, we’ll start by using the free Posit Cloud service, which lets you run a full instance of RStudio in your web browser. This means you won’t have to install anything on your computer to get started with R!

Posit Cloud is convenient, but it can be slow and it is not designed to be able to handle larger datasets or more complicated analysis and graphics. You also can’t use your own custom fonts with Posit Cloud. So you’ll want to install R, RStudio, and other R packages on your own computer and wean yourself off of Posit Cloud over the first few weeks of the semester.

Online help

Programming can be difficult. Little errors in your code can cause hours of headache, even if you’ve been coding for years.

Fortunately there are tons of online resources to help you with this. Two of the most important are:

  1. StackOverflow: a Q&A site with tons of answers to all sorts of programming questions
  2. RStudio Community: a forum specifically for RStudio and the tidyverse (that’s you!)

These tools, and others, are valuable resources that can help you learn and work. That said, they can also provide misleading or incorrect answers. I encourage you to use them as tools for debugging your code, not as replacements for you and your developing expertise.1

Searching for help with R online can sometimes be tricky because the program name is, ya know, the letter R. Search engines are generally smart enough to figure out what you mean when you search for “r scatterplot”, but if it does struggle, try searching for “rstats” instead (e.g., “rstats scatterplot”). Also, since most of your R work will deal with tidyverse packages like ggplot2, it’s often easier to use those keywords instead of the letter “r” (e.g., “ggplot scatterplot”).

Finally, there are some excellent tutorials on R available through Posit Primers.

Success in this course

I know you can succeed in this class.

Learning R can be difficult at first—it’s like learning a new language, just like Spanish, French, or Chinese. Hadley Wickham—the chief data scientist at RStudio and the author of some amazing R packages you’ll be using like ggplot2made this wise observation:

It’s easy when you start out programming to get really frustrated and think, “Oh it’s me, I’m really stupid,” or, “I’m not made out to program.” But, that is absolutely not the case. Everyone gets frustrated. I still get frustrated occasionally when writing R code. It’s just a natural part of programming. So, it happens to everyone and gets less and less over time. Don’t blame yourself. Just take a break, do something fun, and then come back and try again later.

Even experienced programmers find themselves bashing their heads against seemingly intractable errors. If you’re finding yourself taking way too long hitting your head against a wall and not understanding, take a break, talk to classmates, email me and the TAs, etc.

Course schedule

The schedule page provides an overview of the topics we will cover. Note: the schedule will inevitably change throughout the semester as we go.

Office hours and email

Office hours

Please watch this video:

Office hours are set times dedicated to you.

This means that I or a TA will be in an office and/or on zoom neeting waiting for you to talk to us about whatever questions you have. This is the best and easiest way to find us and the best chance for discussing class material and concerns.

I highly encourage you to utilize Professor and TA office hours, especially if you have trouble with basic R programming. Times and locations are listed at the top of the syllabus.

Email

You can also reach us by email. The best approach for generic, time-sensitive questions is to email all of us at the same time (and reply-all in follow-up emails). You can do that with one click here.

Email is a blessing and a curse. Here are some tips to help us get the most out of our email exchanges:

  • Use a short but informative subject line. For example: AEM 2850 - Final Project Grading
  • Use your University-supplied email for University business. This helps me know who you are.
  • Ask direct questions. If you’re asking multiple related questions in one email, use a bulleted list. If you have multiple questions that aren’t related, use multiple emails.
  • One topic, one email. If you have multiple questions that aren’t related, I prefer multiple emails.
  • Be concise.

Assignments and grading

Assignments

Your grade in this course will be based on completing the following assignments:

  • Labs are short weekly homework assignments that require you to practice programming.

    • Late lab submissions will be accepted, with a penalty of 1 point per day late.
  • Prelims are intended to assess programming and data visualization proficiency. Prelims will be completed in class.

    • In-class prelims are mandatory. No make up exams will be offered due to time conflicts (including but not limited to personal travel).
  • The group project is intended to synthesize and reinforce the individual skills you develop in class, and to provide examples of their application to business and life more generally.

  • Class participation and regular attendance are expected due to the interactive nature of this course.

    • Completing in-class examples are an important part of class participation and learning. If you miss class, you are still expected to complete the in-class examples for any classes that you miss.
    • Excessive absences and failure to complete weekly in-class examples will impact your final grade. There is no penalty for the first three absences (except for the in-class prelims, which are mandatory).
    • Please do not notify the instructor that you will miss class unless you anticipate missing more than three classes.

Note: Students in AEM 5850 will have to complete a few extra assignments and meet slightly different requirements for the project.

Please read the assignments page for more details on the assignments and their underlying rationale.

Assignment Percent
Labs 35%
Prelim 1 20%
Prelim 2 20%
Group project 20%
Class participation 5%
Total 100%

Grading scale

Grade Range Grade Range Grade Range
A+ 🦄 A 93-100 A- 90-92
B+ 87-89 B 83-86 B- 80-82
C+ 77-79 C 73-76 C- 70-72
D+ 67-69 D 63-66 D- 60-62
F <60

Dyson grading policy: Dyson faculty policy mandates that grades reflect a range of outcomes distinguishing between failing, poor, good, and excellent performance. The latter category is awarded an A grade and is considered the top mark in this course. The grade of A+ is awarded only for extraordinary achievement far above the mean and will in no case make up more than 5% of total final grades.

Course resources

I am fully committed to making sure that you learn everything you are hoping to learn from this class. I will make whatever accommodations I can to help you finish your assignments, do well on your project, and learn and understand the class material.

You never owe me personal information about your health (mental or physical). But you are always welcome to talk to me about things you’re going through. Even if I can’t help you, I may know someone who can.

Please come to meet with me during set office hours, or sign up for another time to meet with me here.

I want you to learn a lot in this class (R! the tidyverse! grammar of graphics!), but I primarily want you to stay healthy, balanced, and grounded.

University resources

Counseling & Psychological Services (CAPS)

Life at Cornell can be complicated and challenging, especially during a pandemic. You might feel overwhelmed, experience anxiety or depression, or struggle with relationships or family responsibilities. Counseling & Psychological Services (CAPS) provides confidential, professional support for Cornell students. Please do not hesitate to contact CAPS for assistance.

Accommodations for students with disabilities

Your access in this course is important. In order to have adequate time to arrange your approved accommodation, please request your accommodation letter as soon as possible. If you need an immediate accommodation for equal access, please speak with me in person, email me, and/or email SDS at sds_cu@cornell.edu. If the need arises for additional accommodations during the semester, please contact SDS.

For students with testing accommodations, we will manage alternative testing locations through Dyson for the Spring 2024 semester. If you are approved for exam accommodation(s), please be sure to have a letter sent from SDS to me as early in the semester as possible.

Inclusivity

We understand that our members represent a rich variety of backgrounds and perspectives. The Dyson School of Applied Economics and Management is committed to providing an atmosphere for learning that respects diversity. While working together to build this community we ask everyone to:

  • share their unique experiences, values and beliefs
  • be open to the views of others
  • honor the uniqueness of their colleagues
  • appreciate the opportunity that we have to learn from each other
  • value each other’s opinions and communicate in a respectful manner
  • keep confidential discussions that the community has of a personal nature
  • use this opportunity together to discuss ways in which we can create an inclusive environment in this course and across the Cornell community

Acknowledgements

This site and many of the course materials build on the course Data Visualization with R by Andrew Heiss. Other materials and inspiration came from Claus Wilke, Grant McDermott, Ivan Rudik, Justin Kirkpatrick, Ed Rubin, Jenny Bryan, Allison Horst, Magdalena Bennett, Ariel Ortiz-Bobea, and Reza Moghimi.

University policies

Academic integrity

Each student in this course is expected to abide by the Cornell University Code of Academic Integrity: https://cuinfo.cornell.edu/aic.cfm. Any work submitted by a student in this course for academic credit will be the student’s own work. You are encouraged to study together and to discuss information and concepts covered in this course and the sections with other students. However, this permissible cooperation should never involve one student having possession of a copy of all or part of work done by someone else, in the form of an electronic or hard copy. This policy extends beyond peers in the course: buying, selling, or otherwise sharing course materials is prohibited. Should copying occur, both the student who copied work from another student and the student who gave material to be copied will both automatically receive a zero for the assignment/exam. Penalty for violation of this Code can also be extended to include failure of the course and University disciplinary action.

Sharing of course materials is prohibited

Sharing of course materials is prohibited. These materials include, but are not limited to: zoom recordings, lecture hand-outs, in-class materials, exercises, and assignments. Accessing course materials through friends or indirectly online is a violation of the Code of Academic Integrity.


  1. In economics jargon, you should view these tools as complements rather than substitutes to your labor. ↩︎