The course is pitched at a graduate level, albeit an unusual one in (for Physics) that doesn't assume much in the way of previous coursework. Undergraduates are welcome to join, and have been known to use the class to satisfy the Physics major's practicum requirement (with a waiver), but are reminded that this is not officially a cross-listed undergrad/grad class. The upshot of this is that the pace is typical of a graduate course, i.e. faster than a typical undergraduate course.
Students and postdocs may audit with the instructor's approval. They will be expected to engage with the course at the same level as an enrolled student. If you're not prepared to do so, you may as well read/work through the materials on the web at your own pace, which is why they're there.
Instructor: Adam Mantz
Contact info, "office" hours, etc.: see Canvas
As described in the overview, this website and Canvas will provide you with the notes and tutorials that are the key materials for the course. Anything else that needs to be distributed will also be made available on Canvas.
There is no textbook. As a generally useful reference, I like Bayesian Data Analysis by Gelman et al., but you don't need it for the class. Note that it is not aimed at a physics audience.
You will need to have access to a device with an internet connection to access Canvas, email and Slack. Students can borrow equipment and access other learning technology from the Lathrop Learning Hub. We will also use Python and Jupyter Notebooks extensively. These can be installed on your own device (see Getting Started; we will have a tutorial in class to help if needed); alternatively, notebooks can be completed on Google Collab (to be confirmed), which is accessible from any web browser.
The course uses a lecture-free (also known as flipped-classroom) format. These notes are intended to be read on your own - they will not be read to you in class. Instead of the combined interpretive dance and nap that normally comprise a lecture, I expect that we will use class times for three purposes:
While the previous (2021) offering of the course was similarly lecture-free, this is the first time we will be adapting the format to an in-person class where collaboration is relatively easier. That is to say, to some extent we'll be figuring out how much time to spend on each of these things as we go.
Attendance and participation in class is generally expected (see below) - if this poses a special difficulty, contact me directly and we'll figure out how to proceed.
There will be regularly assigned (light) reading from the course notes. Tiny "nano-quizzes" will be due the night before we are scheduled to discuss a given topic in class; these are primarily to gather common questions from the class while we still have time to prepare thorough responses, if needed. However, we reserve the right to include a substantive question, if we can think of an interesting one.
The aforementioned tutorials essentially fill the function of problem sets for the class. We'll be starting them during class time, where it should be most straightforward to put your heads together and get immediate questions answered quickly, but you will also be working on them outside of class. As usual, the work that you turn in should be your own, but collaboration with other students is strongly encouraged.
Interacting with others in the class is important both for your learning and for theirs. The same can be true of interactions outside of class, such as collaborating on problems, but class is the best opportunity we have to collectively get on the same page and test our understanding of the material. It's also when we will launch new tutorials, so it's an invaluable opportunity to get any immediate questions answered in real time. The default expectation is that everyone will attend and participate in class.
If attending class at the scheduled time represents a genuine barrier, please contact me directly. We'll try to figure out a way for you to participate as fully as possible under the circumstances. Similarly, exceptions can be made for conflicts with specific class days (e.g. due to a conference); these should be brought to our attention ahead of time. Remote access via Zoom will not be available as a matter of course, but similarly can be provided on an as-needed basis, with prior arrangement. We emphasize that illness, especially but not only with COVID-19, qualifies as a need for absence and/or remote access.
Classroom norms: Regardless of the mode of communication involved, we expect everyone to contribute to a positive and collaborative culture by
As of this writing, University policy no longer requires masks to be worn in classrooms, but individual instructors retain the option to require them. Recognizing that we all have different circumstances implying different levels of risk, and different comfort levels with risk, in the context of the ongoing COVID-19 epidemic, I intend to determine whether masks will be optional or required on the basis of an anonymous survey in the first week of class. Until otherwise decided, masks will be optional.
This approach is a compromise between the de-facto standard set the broad University policy and the real possibility that some may be unable or unwilling to attend a mask-optional class. Please do reach out to me directly and early if a mask-optional classroom would represent a barrier to attendance.
Conversely, in a mask-optional setting, please recognize and respect that others may make choices different from yours based on their own circumstances, which might vary with time.
Quizzes will be handled through the class Canvas site. They will technically be due early in the morning before we have class, although I strongly urge you to do the reading and the quiz a little farther ahead of time (and, incidentally, to maintain healthy sleeping habits). Quizzes are graded on a complete/not complete basis.
To get the tutorial notebooks and supporting files, the easiest option is to download them from the "Files" page of the course's Canvas site.
The demo notebook says more about specifically how to complete missing code and answer posed questions, although we hope it will be intuitive. However, we emphasize that completed notebooks should
Tutorial notebooks will be turned in on Canvas. Please "Restart & Run All" before saving and submitting them (that is, turn in notebooks that include outputs and have been run in order, top to bottom).
Like quizzes, tutorials are graded on a complete/not complete basis. They can be revised and resubmitted after the nominal due date without penalty, provided there is evidence of bona fide effort put in before the initial due date. The admittedly fuzzy term "bona fide effort" should be taken to mean substantial progress towards a complete notebook and/or attempts to get help with sticking points before the last minute. The reason for this caveat is that, once a tutorial is due, we will be discussing the important points in class - this is a potentially valuable activity that will be worth significantly less if you haven't at least made a real attempt to work through the notebook. Update to describe check-in quizzes rather than "due dates"
After the due date, we might send a notebook back with a requested revision or fix required for it to be deemed complete (usually with some advice about how to proceed).
This might all sound intimidating, but our aim with these notebooks is to make them illuminating rather than onerous. We want you to get your hands dirty analyzing data, and as long as that happens we'll be happy. Given all this flexibility, and since everyone should have working and complete notebooks by the time we're done, we are not planning on providing "solutions". You can, however, find html pages showing the outputs of solved tutorials linked from the main github.io page, to compare your work to.
You are encouraged to collaborate with other students on the tutorials, but any work you turn in must be your own. In keeping with the Stanford Honor Code, as well as professional best practice, you will be asked to briefly acknowledge those that you collaborated with when submitting assignments. You are encouraged to make these acknowledgements non-minimal, though not exhaustive, e.g. "so-and-so helped me understand this part, which I had been stuck on".
If it's simple enough to set up on Canvas, you will have the option of helping to review and provide feedback on your peers' tutorials. This is not a required part of the course.
As part of the tutorial submission, you would have the option to volunteer to do peer review. This would only apply if your own tutorial is complete and functional at that point. You could expect to be sent no more than 3 peer tutorials. Responsibilities would include
If any of these are not the case, you would be expected to provide feedback to the author on how to improve their work to complete the tutorial, within reason. You will not be on the hook for laboriously debugging others' code; cases where the author needs significant help should be escalated to the instructor.
Final grades will be determined by the following rubric. We reserve the right to revise this at any time, but only in the direction of greater leniency.
As depicted on the main course page, certain tutorials are optional in the sense that a passing grade (or a specific letter grade) can be achieved without completing them. Conversely, "core" tutorials must be completed to receive a passing grade. Note that the required core includes a choice of tutorials that are otherwise optional (e.g. one of Gibbs Sampling or Metropolis Sampling is required; doing both counts as 1 optional tutorial).
Requirement | CR/C | C+ | B- | B | B+ | A- | A | A+ |
---|---|---|---|---|---|---|---|---|
Adherence to the Stanford Honor Code | y | y | y | y | y | y | y | y |
Observance of classroom norms | y | y | y | y | y | y | y | y |
Maximum unexcused absences* | 3 | 3 | 2 | 2 | 2 | 1 | 1 | 1 |
Maximum unexcused missing reading quizzes* | 3 | 3 | 2 | 2 | 2 | 1 | 1 | 1 |
Maximum unexcused missing tutorial check-ins* | 3 | 3 | 2 | 2 | 2 | 1 | 1 | 1 |
All core tutorials | y | y | y | y | y | y | y | y |
Minimum optional tutorials (Principles/Methods) | 0 | 1 | 2 | 2 | 2 | 3 | 3 | 4 |
Minimum optional tutorials (Practice) | 0 | 0 | 0 | 1 | 2 | 3 | 4 | 5 |
"Design your own" tutorial** | - | - | - | - | y | y | y | y |
Minimum tutorials peer reviewed | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 2 |
*To provide some flexibility, unexcused absences, missed reading quizzes and/or missed tutorial check-ins can be canceled out at the rate of up to 2 missed things per 1 additional optional tutorial completed. Items canceled in this way no longer count towards the totals above.
**Design Your Own Tutorials (DYOTs) count as optional Practice-level tutorials in addition to satisfying their own requirement for a B+ or higher grade. A sufficiently involved/awesome DYOT may even be counted as more than one optional tutorial. Multiple, different DYOTs can also be completed. See the DYOT page for more information.
Stanford is committed to providing equal educational opportunities for disabled students. Disabled students are a valued and essential part of the Stanford community. We welcome you to our class.
If you experience disability, please register with the Office of Accessible Education (OAE). Professional staff will evaluate your needs, support appropriate and reasonable accommodations, and prepare an Academic Accommodation Letter for faculty. To get started, or to re-initiate services, please visit https://oae.stanford.edu.
If you already have an Academic Accommodation Letter, please send them to us. Letters are preferred by the end of week 2, and at least two weeks in advance of any exam, so we may partner with you and OAE to identify any barriers to access and inclusion that might be encountered in your experience of this course. New accommodation letters, or revised letters, are welcome throughout the quarter; please note that there may be constraints in fulfilling last-minute requests.
At some point in your life, a well meaning person has probably professed to you that there is no such thing as a stupid question. Bull poop. There certainly are stupid questions, and every one of us has asked them. The asking of a stupid question is not evidence of the stupidity of the asker. Usually it means that something has been explained badly, or too quickly, or even misleadingly, and so the asking does a service to everyone else (including those who shared the question but were less brave).
Relatedly, if I ever appear baffled by (that is, unable to even understand) a question, please don't assume that it was too stupid to ask and withdraw it. Usually, this means we have gotten so far out of sync that it will take a minute to backtrack to the point where we're on the same page, and can re-ask and answer the question, at which point we'll all be happier about it (including, again, those who had the same question but were not brave enough to ask).