Syllabus

Course Information

  • Location: In person
  • Course time: Tuesdays and Thursdays from 9:00-10:20 a.m. (Eastern Daylight Time zone)
  • Course location: 140.776.01 is in person in W5030 Sommer Hall (Wolfe E2014). Note that our class got reassigned to Sommer Hall for 2024/08/29 and beyond to accommodate the larger than expected enrollment.
  • Assignments: Three projects

How to register and participate

  • To add the course to your 1st term registration: You can sign up only for the in-person (140.776.01) course.
  • All lectures will be recorded and posted on CoursePlus. Classes will be recorded for flexibility purposes but this will not be a hybrid class.
  • Please course instructor if interested in auditing.

Instructor

  • Leonardo Collado Torres (http://lcolladotor.github.io/)
    • Office Location: 855 N. Wolfe, Office 382, Baltimore, MD 21205. Enter the Rangos building, register at the Security front desk, ask the security guard to help you take the elevator to the third floor (it’s badge-controlled), register at the LIBD front desk, then they can point you to my office.
    • Email: lcollado@jhu.edu

Teaching Assistants

Office hours

Instructor and TA office hours are announced on CoursePlus. If there are conflicts and/or need to cancel office hours, announcements will be made on CoursePlus.

Getting help

In order of preference, here is a preferred list of ways to get help:

  1. We strongly encourage you to use CoursePlus to ask questions first, before joining office hours. The reason for this is so that other students in the class (who likely have similar questions) can also benefit from the questions and answers asked by your colleagues.
  2. You are welcome to join office hours to get more group interactive feedback.
  3. If you are not able to make the office hours, appointments can be made by email with the TAs.

Learning Objectives:

Upon successfully completing this course, students will be able to:

  1. Install and configure software necessary for a statistical programming environment
  2. Discuss generic programming language concepts as they are implemented in a high-level statistical language
  3. Write and debug code in base R and the tidyverse (and integrate code from Python modules)
  4. Build basic data visualizations using R and the tidyverse
  5. Discuss best practices for coding and reproducible research, basics of data ethics, basics of working with special data types, and basics of storing data

Lectures

We will have in person lectures that will be recorded enabling students who missed a class for personal reasons to catch up as well as to review material discussed in class.

Textbook and Other Course Material

There is no required textbook. We will make use of several freely available textbooks and other materials. All course materials will be provided. We will use the R software for data analysis, which is freely available for download.

Software

We will make heavy use of R in this course, so you should have R installed. You can obtain R from the Comprehensive R Archive Network. There are versions available for Mac, Windows, and Unix/Linux. This software is required for this course.

It is important that you have the latest version of R installed. For this course we will be using R version 4.4.1. You can determine what version of R you have by starting up R and typing into the console R.version.string and hitting the return/enter key. If you do not have the proper version of R installed, go to CRAN and download and install the latest version.

We will also make use of the RStudio interactive development environment (IDE). RStudio requires that R be installed, and so is an “add-on” to R. You can obtain the RStudio Desktop for free from the RStudio web site. In particular, we will make heavy use of it when developing R packages. It is also essential that you have the latest release of RStudio. You can determine the version of RStudio by looking at menu item Help > About RStudio. You should be using RStudio version RStudio 2024.04.2 or higher.

Projects

There will be 4 assignments, due every 2–3 weeks. Projects will be submitted electronically via the Drop Box on the CoursePlus web site (unless otherwise specified).

The project assignments will be due on

  • Project 0: end of week 2 (Sunday September 8, 11:59pm) (entirely optional and not graded but hopefully useful and fun)
  • Project 1: end of week 3 (Sunday September 15, 11:59pm)
  • Project 2: end of week 5 (Sunday September 29, 11:59pm)
  • Project 3: end of week 8 (Sunday October 20, 11:59pm)

Project collaboration

Please feel free to study together and talk to one another about project assignments. The mutual instruction that students give each other is among the most valuable that can be achieved.

However, it is expected that project assignments will be implemented and written up independently unless otherwise specified. Specifically, please do not share analytic code or output. Please do not collaborate on write-up and interpretation. Please do not access or use solutions from any source before your project assignment is submitted for grading (including with students from previous years).

Discussion Forum

The course will make use of the CoursePlus Discussion Forum in order to ask and answer questions regarding any of the course materials. The Instructor and the Teaching Assistants will monitor the discussion boards and answer questions when appropriate.

Exams

There are no exams in this course.

Grading

Grades in the course will be based on Projects 0–3 with a percentage of the final grade being apportioned to each assignment. Each of Projects 1–3 counts approximately equally in the final grade. Grades for the projects and the final grade will be issued via the CoursePlus grade book.

Points deducted

On a given project, we will deduct:

  • 1 points: typo on a function call. Think about it as an orthographic mistake.

  • 2 points: missed a function call. Think about it as a grammatical mistake.

  • 3 points: provided the wrong answer. For example, if a question asked about the median for a variable and you used mean() instead of median().

  • 5 points: did not provide an answer for a sub-section of a part of a project. Like question 2 of part 1 from project 1.

  • 10 points: did not provide an answer for a part of a project.

Policy for submitting projects late

The instructor and TAs will not accept email late day policy requests.

Projects 1, 2 and 3

  • Each student will be given two free “late days” for the entire course.
  • A late day extends the individual project deadline by 24 hours without penalty.
  • The late days can be applied to just one project (e.g. two late days for Project 2), or they can be split across the two projects (one late day for Project 2 and one late day for Project 3). This is entirely left up to the discretion of the student.
  • Late days are intended to give you flexibility: you can use them for any reason no questions asked.
  • You do not get any bonus points for not using your late days.

Although the each student is only given a total of two late days, we will be accepting homework from students that pass this limit.

  • We will be deducting 5% for each extra late day. For example, if you have already used all of your late days for the term, we will deduct 5% for the assignment that is <24 hours late, 10% points for the assignment that is 24-48 hours late, and 15% points for the assignment that is 48-72 hours late.
  • We will not grade assignments that are more than 3 days past the original due date.

Submit a late project

To submit a late project, send it via email to the instructor and all TAs. That way everyone involved will receive the same communication and we can avoid any confusion and/or misunderstandings. We will then manually submit it for you on the corresponding CoursePlus DropBox. Thank you.

Regrading Policy

It is very important to us that all assignments are properly graded. If you believe there is an error in your assignment grading, please send an email to one of the instructors within 7 days of receiving the grade. No re-grade requests will be accepted orally, and no regrade requests will be accepted more than 7 days after you receive the grade for the assignment.

Academic Ethics and Student Conduct Code

Students enrolled in the Bloomberg School of Public Health of The Johns Hopkins University assume an obligation to conduct themselves in a manner appropriate to the University’s mission as an institution of higher education. A student is obligated to refrain from acts which he or she knows, or under the circumstances has reason to know, impair the academic integrity of the University. Violations of academic integrity include, but are not limited to: cheating; plagiarism; knowingly furnishing false information to any agent of the University for inclusion in the academic record; violation of the rights and welfare of animal or human subjects in research; and misconduct as a member of either School or University committees or recognized groups or organizations.

Students should be familiar with the policies and procedures specified under Policy and Procedure Manual Student-01 (Academic Ethics), available on the school’s portal.

The faculty, staff and students of the Bloomberg School of Public Health and the Johns Hopkins University have the shared responsibility to conduct themselves in a manner that upholds the law and respects the rights of others. Students enrolled in the School are subject to the Student Conduct Code (detailed in Policy and Procedure Manual Student-06) and assume an obligation to conduct themselves in a manner which upholds the law and respects the rights of others. They are responsible for maintaining the academic integrity of the institution and for preserving an environment conducive to the safe pursuit of the School’s educational, research, and professional practice missions.

Disability Support Service

Students requiring accommodations for disabilities should register with Student Disability Service (SDS). It is the responsibility of the student to register for accommodations with SDS. Accommodations take effect upon approval and apply to the remainder of the time for which a student is registered and enrolled at the Bloomberg School of Public Health. Once you are f a student in your class has approved accommodations you will receive formal notification and the student will be encouraged to reach out. If you have questions about requesting accommodations, please contact BSPH.dss@jhu.edu.

Prerequisites

This is a quantitative course. We will not discuss the mathematical details of specific data analysis approaches, however some statistical background and being comfortable with quantitative thinking are useful. Previous experience with writing computer programs in general and R in particular is also helpful, but not necessary. If you have no programming experience, expect to spend extra time getting yourself familiar with R. As long as you are willing to invest the time to learn the programming and you do not mind thinking quantitatively, you should be able to take the course, independent of your background.

Formal requirement for the course is Biostatistics 140.621. Knowledge of material from 140.621 is assumed. If you didn’t take this course, please contact me to get permission to enroll.

Getting set up

You must install R and RStudio on your computer in order to complete this course. These are two different applications that must be installed separately before they can be used together:

  • R is the core underlying programming language and computing engine that we will be learning in this course

  • RStudio is an interface into R that makes many aspects of using and programming R simpler

Both R and RStudio are available for Windows, macOS, and most flavors of Unix and Linux. Please download the version that is suitable for your computing setup.

Throughout the course, we will make use of numerous R add-on packages that must be installed over the Internet. Packages can be installed using the install.packages() function in R. For example, to install the tidyverse package, you can run

install.packages("tidyverse")

in the R console.

How to Download R for Windows

Go to https://cran.r-project.org and

  1. Click the link to “Download R for Windows”

  2. Click on “base”

  3. Click on “Download R 4.4.1 for Windows”

Warning

The version in the video is not the latest version. Please download the latest version.

Video Demo for Downloading R for Windows

How to Download R for the Mac

Goto https://cran.r-project.org and

  1. Click the link to “Download R for (Mac) OS X”.

  2. Click on “R-4.4.1.pkg”

Warning

The version in the video is not the latest version. Please download the latest version.

Video Demo for Downloading R for the Mac

How to Download RStudio

Goto https://rstudio.com and

  1. Click on “Products” in the top menu

  2. Then click on “RStudio” in the drop down menu

  3. Click on “RStudio Desktop”

  4. Click the button that says “DOWNLOAD RSTUDIO DESKTOP”

  5. Click the button under “RStudio Desktop” Free

  6. Under the section “All Installers” choose the file that is appropriate for your operating system.

Warning

The video shows how to download RStudio for the Mac but you should download RStudio for whatever computing setup you have

Video Demo for Downloading RStudio

General Disclaimers

  • This syllabus is a general plan, deviations announced to the class by the instructor may be necessary.