-
Notifications
You must be signed in to change notification settings - Fork 9
/
syllabus.Rmd
211 lines (115 loc) · 10.7 KB
/
syllabus.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
---
title: "Syllabus"
description: |
Syllabus for Statistical Computing (JHSPH Biostatistics 140.776 Fall 2021).
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
## Course Information
* Location: Synchronous (online) for Fall 2021
* Course time: Tuesdays and Thursdays from 1:30-2:50pm (**Eastern Daylight Time** zone)
* Assignments: Three projects
### Instructor
* Stephanie C. Hicks (https://www.stephaniehicks.com)
* Office Location: E3545, Wolfe Street building
* Email: [email protected]
Instructor office hours are announced on CoursePlus. If there are conflicts and/or need to cancel office hours, annoucements will be made on CoursePlus.
### Teaching Assistants
* Athena Chen ([email protected])
* Ruzhang Zhao ([email protected])
TA office hours are announced 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 either the instructor or the TAs.
## Important Links
- Course website: https://stephaniehicks.com/jhustatcomputing2021
- GitHub repository with all course material: https://github.com/stephaniehicks/jhustatcomputing2021
## Learning Objectives:
Upon successfully completing this course, students will be able to:
- Install and configure software necessary for a statistical programming environment and with version control
- Discuss generic programming language concepts as they are implemented in a high-level statistical language
- Write and debug code in base R and the tidyverse (and integrate code from Python modules)
- Build basic data visualizations using R and the tidyverse
- Build and organize a software package with documentation for publishing on the internet
- Discuss basic statistical computing algorithms for optimization, linear regression, and Monte Carlo
- Discuss basic machine learning essentials
## Lectures
In Fall 2021, we will have synchronous (online) lectures, but my plan is for these to be recorded and posted online shortly afterwards.
## 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](https://cran.r-project.org). 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 `r paste(version$major, version$minor, sep = ".")`**. 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](https://cran.r-project.org) 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](https://www.rstudio.com/). 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 1.4.1106 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: September 9, 1:29pm (entirely optional and not graded but hopefully useful and fun)
* Project 1: September 17, 11:59pm
* Project 2: October 1, 11:59pm
* Project 3: October 22, 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.
## 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.
### Icebreakers
Before the start of each lecture, I will post an icebreaker question in CoursePlus. You are welcome to answer it and learn about your fellow students in the course.
## 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.
## 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](http://my.jhsph.edu).
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
If you are a student with a documented disability who requires an academic accommodation, please contact the Office of Disability Support Services at 410-502-6602 or via email at `[email protected]`. 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.
## 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](https://www.jhsph.edu/courses/list/?keyword=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](https://cran.r-project.org) and [RStudio](https://rstudio.com) 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
```r
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.1.1 for Windows"
![Video Demo for Downloading R for Windows](videos/downloadRWindows.gif)
#### 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.1.1.pkg"
![Video Demo for Downloading R for the Mac](videos/downloadRMac.gif)
#### 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.
```{block, type="rmdwarning"}
NOTE: 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](videos/downloadRStudio.gif)
## General Disclaimers
- This syllabus is a general plan, deviations announced to the class by the instructor may be necessary.