UCL School of Management

Module Fact Sheet

MSIN204P: Computational Thinking

×

Warning message

This is a past version of this module for MSIN204P 17/18.
Click here for the current version.
Taught by
Level
Intermediate
Prerequisites
None
Eligibility
2nd year BSc/MSci Management Science
Terms
1
Delivery method
2-hour lecture (x 8 weeks) and 2-hour seminar (x 8 weeks)
Assessment
60% project and code; 20% essay; 20% group video presentation

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 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 search, game-playing, optimisation and symbolic processing algorithms. We will also be formalising and coding some of the algorithmic methods that the students have already studied in Mathematical Foundations of Management II (linear algebra) and in Data Analytics I.

This module will also introduce students to computational mathematics, which is particularly concerned with 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 use computational mathematics to determine the complexity and processing requirements of algorithms
  • Understand the key elements of software technology.
  • Understand the challenges and benefits of using software technology in business, especially in a big data context.

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 consistening of a 2000 word essay.

60% is awarded for an individual coding project consisting of 2,000 word report plus annotated code.

Essential reading

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

Past versions of this module

MSIN204P 17/18

MSIN204P 16/17

Last updated Monday, 13 August 2018