Math 11176   -   Statistical Programming (2020-2021) [Sem 1]

Schedule

Week Date Lecture Readings Notes
1 Mon, Sep 21 Welcome
Tue, Sep 22 Workshop 1 Connect via Zoom link on Learn
Fri, Sep 25 Logic and Types in R Exercises repo on GitHub / Exercise solutions
2 Mon, Sep 28 RStudio Cloud, git, & Github
Tue, Sep 29 Workshop 2 Connect via Zoom link on Learn,
make sure Zoom is updated to v5.3.1
Fri, Oct 2 Functions, attributes, & S3 Exercise solutions
3 Mon, Oct 5 Generic vectors, data frames, & subsetting Exercise solutions
Tue, Oct 6 Workshop 3 Connect via Zoom link on Learn
Fri, Oct 9 Tidy data & dplyr Exercise solutions
4 Mon, Oct 12 tidyr
Tue, Oct 13 Workshop 4 Connect via Zoom link on Learn
Fri, Oct 16 Functional programming & purrr
5 Mon, Oct 19 Visualization with ggplot2
Tue, Oct 20 Workshop 5 Connect via Zoom link on Learn
Fri, Oct 23 ggplot2 ecosystem & designing visualizations
6 Mon, Oct 26 Structure, debugging, and profiling
Tue, Oct 27 Project 1 Office Hours See Learn announcement
Fri, Oct 30 Basic Programming with Matrices
7 Mon, Nov 2 Optimization and MLE
  • No Friday lecture to compensate for length of lectures 11-13
  • HW3 possible answer
  • 8 Mon, Nov 9 Programming with random variables
    Fri, Nov 13 Bayesian simulation and Metropolis Hastings
    9 Mon, Nov 16 More Metropolis Hastings in R
    Fri, Nov 20 Gibbs Sampling in R
    10 Mon, Nov 23 JAGS for Bayesian Computing
    11 Mon, Nov 30 Catch up

    Syllabus

    Instructors:

    Dr. Colin Rundel - colin.rundel@ed.ac.uk

    Dr. Simon Wood - simon.wood@ed.ac.uk

    Lectures:

    All lecture content for this course will be delivered in the form of online videos posted to Learn and Youtube. We will be following a regular upload schedule for each week of content and you are expected to remain current with the material throughout the semester. Our roles as instructors is to introduce you to new tools and techniques, but it is up to you to engage with and make use of them. Programming is a skill that is best learned by doing, so as much as possible you will be working on a variety of tasks and activities throughout the course.

    On some weeks we will attempt to hold synchronous lectures (e.g. code along sessions) using a platform like Youtube Live - these sessions will be recorded and posted in the usual way, but you are encouraged to attend in person if you are able. This will give you an opportunity to engage with us and ask questions. Details for each session will be announced the previous week.

    Workshops:

    Workshops will also be held exclusively online this semester using the Zoom platform. There are four separate tutorial groups that are scheduled for different times on Tuesdays. Your personal timetable will show which group your are enrolled, you must attend the workshop you are enrolled in. If for any reason you need to change your tutorial group please reach out to the course organizer - note one off changes will not be considered.

    Classroom:

    Lecture

    • Online - preliminry upload schedule, Mondays and Fridays midday
    • Synchonous Online - Mondays, 1 pm BST

    Workshop

    • Tutorial Group 01 - Tuesdays, 10:30 to 11:30 am
    • Tutorial Group 01 - Tuesdays, 12:10 to 13:00 pm
    • Tutorial Group 01 - Tuesdays, 14:10 to 15:00 pm
    • Tutorial Group 01 - Tuesdays, 15:30 to 16:30 pm

    Homework and Projects:

    You will be assigned larger programming tasks throughout the semester (roughly every two weeks). These assignments will be completed either in a team or individually.

    Students are expected to make use of the provided git repository on the course's github page as their central collaborative platform. Commits to this repository will be used as a metric (one of several) of each team member's relative contribution for each homework.

    There will be a two projects that you are expected to complete individually. Each project will ask you to complete a number of small programming tasks related to the material presented in the class. The exact structure and content of the projects will be discussed in more detail before they are assigned. You must attempt *both* projects in order to pass this class.

    Teams:

    For all of the team based assignments in this class you will be randomly assigned to teams of 3 or 4 students - these teams will change after each assignment. You will work in these teams during your scheduled workshops. For team based assignments, all team members are expected to contribute equally to the completion of each assignment and you will be asked to evaluate your team members after each assignment is due. Failure to adequately contribute to an assignment will result in a penalty to your mark relative to the team's overall mark.

    Course Announcements:

    We will regularly send course announcements via email and learn, make sure to check one or the other of these daily. We will be using Piazza to facilitate course communication, particularly around questions and answers. If you have a question first check if it has already been asked on Piazza and if not post there. If you have a question or concern you don't feel confortable posting of Piazza feel free to reach out via email.

    Late work policy:

    Review the University and School policy for late work here.

    For the 4 team assignments late work will not be accepted, only the work you have committed and pushed to GitHub by the deadline will be marked for these assignments. The two individual projects will follow the standard University late work penalty of 5% of the maximum obtainable mark per calendar day up to seven calendar days after the deadline. If you intend to submit work late for one of these assignments you must notify the course organizer before the original deadline as well as as soon as the completed work is submitted on GitHub.

    Assessment:

    Your final mark will be comprised of the following.

    Assignment Type Value Assigned Due
    Homework 1 Team 12.5% Week 2 End of Week 3
    Homework 2 Team 12.5% Week 4 End of Week 5
    Project 1 Individual 25% Week 5 End of Week 6
    Homework 3 Team 12.5% Week 7 End of Week 8
    Homework 4 Team 12.5% Week 9 End of Week 10
    Project 2 Individual 25% Week 10 End of Week 12

    Textbooks

    There are no required textbooks for this course, the following textbooks are recommended for supplementary and reference purposes.

    Contact Information

    Office Hours:

    About this website

    This site is built with Hugo and Blogdown. The theme is based on Blackburn and Hugo Conference.

    © 2020. All rights reserved.