Skip to main content

Unit information: Statistical Computing 1 in 2020/21

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Statistical Computing 1
Unit code MATHM0039
Credit points 20
Level of study M/7
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Professor. Anthony Lee
Open unit status Not open
Pre-requisites

None

Co-requisites

None

School/department School of Mathematics
Faculty Faculty of Science

Description including Unit Aims

This unit introduces statistical computing. The basic concepts and typical workflows of statistical software development are exemplified using state-of-the art tools with R as the primary programming language. Students will be introduced to literate programming, package development, version control and testing. Basic scientific programming concepts will be covered, such as vectorization, functional and object-oriented programming. Some data science packages in the tidyverse will be introduced to enable data manipulation and visualization. The use of important statistical tools will be covered, such as sparse matrix algebra, numerical optimization and numerical integration.

Intended Learning Outcomes

By the end of the unit students should be able to:

  • Set up and work productively within an integrated development environment.
  • Use collaborative tools for software development involving multiple people.
  • Create and use R packages containing useful software for scientific research.
  • Use some tidyverse functionality for data manipulation and visualization.
  • Take advantage of matrix sparsity in scientific computations.
  • Implement a solution to a data science problem using numerical optimization methods.
  • Implement a solution to a data science problem using numerical integration methods.

Teaching Information

The unit will be taught through a combination of

  • synchronous online and, if subsequently possible, face-to-face lectures
  • asynchronous online materials, including narrated presentations and worked examples
  • guided asynchronous independent activities such as problem sheets and/or other exercises
  • synchronous weekly group problem/example classes, workshops and/or tutorials
  • synchronous weekly group tutorials
  • synchronous weekly office hours

Assessment Information

Formative: a homework each week

Summative:

  • A personal portfolio of notes, code snippets, and vignettes, 30%.
  • Assessed coursework, 2 at 20% each.
  • A group project, 30%.

Reading and References

Matloff, N. (2011) The Art of R Programming;

Watkins, D.S. (2010) Fundamentals of Matrix Computations

Davis, T.A. (2006) Direct Methods for Sparse Linear Systems

Feedback