UCL School of Management

Module Fact Sheet

MSIN0023: Computational Thinking


Warning message

This is a past version of this module for MSIN0023 18/19.
Click here for the current version.
Taught by
2nd year BSc/MSci Management Science
Delivery method
2-hour lecture (x 8 weeks) and 2-hour seminar (x 8 weeks)
60% project and code; 20% essay; 20% group video presentation
Previous Module Code

Course overview

Computational Thinking introduces students to algorithms and how they programmed and used in a management context. Algorithms describe how problems can be solved using sequences of instructions, selection rules, iterative processes and control abstractions. This module is concerned with understanding how algorithmic software is designed to solve problems and how thinking in this way can help structure and solve problems generally. Students will learn to program in Python as a tool to aid understanding algorithm design.

Students will be introduced to a range of algorithms, including exhaustive and heuristic AI search algorithms, mathematical optimisation algorithms (linear programming), and stocastic algorithms, including Monte Carlo simulations. We will also be formalising and coding some of the matrix-based and machine learning algorithms that the students have already studied in Mathematical Foundations of Management II and in Data Analytics I.

This module will also introduce students to analysing the complexity of algorithms and the time required to complete computations. This will introduce important concepts to understanding the challenges and limits of processing big data.

Learning outcomes

Upon successful completion of the module, students will be able to:

  • Understand how to express and design algorithms in terms of sequences of instructions, selection rules and iterative processes.
  • Characterise algorithms and the data structures they employ.
  • Understand how to design algorithms in a general purpose programming language.
  • Use Python to code and execute algorithms.
  • Understand how to determine the complexity and processing requirements of algorithms
  • Understand the key elements of software technology.
  • Understand some of the challenges and benefits of using software technology in business.

Topics covered

This module with cover the following topics:

  • Introduction to programming using Python
  • Computational thinking
  • Algorithms
  • Data abstraction
  • Matrix algorithms
  • Machine learning algorithms
  • Search and optimisation algorithms
  • Stochastic algorithms
  • Types of programming languages
  • Computation, scale and complexity
  • Software and business

Assessment summary

20% is awarded for a scenario week group coursework consisting of a 10 min video presentation and slide pack.

20% is awarded for an individual coursework consisting of an essay.

60% is awarded for an individual coding project consisting of a report plus annotated code.

Current students should refer to Moodle for specific details of the current year’s assessment.

Essential reading

Introduction to Computation and Programming Using Python, John V Guttag, MIT Press, 2013 

Past versions of this module

MSIN0023 18/19

MSIN204P 17/18

MSIN204P 16/17

Last updated Friday, 27 September 2019