MSc Business Analytics: Operational Research and Risk Analysis / Course details

Year of entry: 2025

Course unit details:
Python Programming for Business Intelligence and Analytics

Course unit fact file
Unit code BMAN73701
Credit rating 15
Unit level FHEQ level 7 – master's degree or fourth year of an integrated master's degree
Teaching period(s) Semester 1
Available as a free choice unit? No

Overview

This course offers a beginner-friendly introduction to Python for data analytics. Students will explore key techniques such as data preprocessing, analysis, visualisation, machine learning, and optimisation, all implemented in Python. Designed for those with no prior programming experience, the course emphasises hands-on, practical learning. By the end of the course, students will be equipped to analyse data, generate insights, and tackle real-world business challenges using Python. Whether your goal is to enhance decision-making, gain actionable insights, or optimise operations, this course provides the essential skills and knowledge to excel.

Pre/co-requisites

BMAN73701 Programme Req: BMAN73701 is only available as an elective to students on MSc Business Analytics and MSc Data Science (except CSDI pathway)

Aims

The aim of this course is to equip students with essential Python programming skills tailored for solving complex business problems in Data Science, Machine Learning, and Optimization. As a core component of the curriculum, this course ensures students acquire competency in coding, forming a strong foundation for advanced technical units in the program.

The course focuses on practical knowledge and real-world applications, going beyond general programming concepts. Students will learn to implement algorithms, utilize Python's extensive library ecosystem for data analysis, machine learning, optimization, and decision support, and develop expertise in data management, preparation, and visualization —skills highly sought after in the current job market.

Lab sessions provide ample opportunities for hands-on practice and formative feedback, helping students refine their programming skills and apply them to business challenges. The ultimate goal is to develop versatile data analysts who are well-prepared to meet the demands of the industry and leverage Python effectively for business applications. 

Syllabus

Pre-course Self-Learning:

Chapter 1: Python Basics from https://www.datacamp.com/courses/intro-to-python-for-data-science  

Learn Python in 1 hour! from https://www.youtube.com/watch?v=8KCuHHeC_M0  

 

Week 1: Data Structures, Conditionals, and Loops

Learn to use conditional logic and loops to create dynamic Python programs.

Week 2: Functions, Modules, and Exceptions

Master reusable functions, modular programming, and error handling with exceptions.

Week 3: Object-Oriented Programming (OOP)

Understand the basics of classes, objects, inheritance, and encapsulation.

Week 4: Advanced OOP, Nested Structures, and Function Arguments

Explore advanced OOP concepts, nested data structures (shallow/deep copies), and function arguments.

Week 5: Numerical Computing with Python

Use NumPy for mathematical operations, matrix manipulation, and numerical problem-solving.

Week 6: Data Exploration and Visualization

Learn to explore and visualize data using Python libraries like Pandas and Matplotlib for effective analysis and presentation.

Week 7: Data Processing and Preparation

Focus on preprocessing techniques, including cleaning data, handling missing values, feature engineering, and data transformation.

Week 8: Introduction to Machine Learning (Part I)

Understand the basics of supervised learning (regression, classification) and unsupervised learning (clustering).

Week 9: Introduction to Machine Learning (Part II)

Delve into classification models, hyperparameter tuning, overfitting/underfitting, and advanced model evaluation.

Week 10: Introduction to Optimization with Python

Solve optimization problems using Python libraries such as SciPy.

Teaching and learning methods

The course will be delivered in Semester 1 on a weekly basis. Each week will consist of a two-hour lecture and a one-hour lab session, where the knowledge obtained in the lectures is converted into practical experience. The lectures and lab sessions are all face-to-face. Students will receive formative feedback from the teaching staff and peers on their understanding and application of the taught material.  

The module will have a GTA; the GTA will assist in the lab sessions and via the course unit discussion board. Quizzes, supporting material, and short videos of the main concepts learnt are provided for each week on the course home page. Formative feedback is also available for the lecture sessions and made available during the sessions as well as before and after primarily through discussion forums on the course home page.  

It is paramount that students look at the provided material prior to the lectures/labs to avoid getting lost during the delivery as well as make learning as efficient as possible by asking questions on topics requiring clarity.

Learning a programming language and being able to apply it to tackle business analytics problems is like learning and using an actual new language. The only way this can be achieved is by sufficient practice. You have 10 intense weeks – with each lecture and lab session builds on the material taught the previous weeks – to get up to speed with Python, but it will be worth it as it is a well-sought skill on the job market (convince yourself!) that you must mention on your CV (once you obtain it).  

 

Knowledge and understanding

  • Read and write Python code and understand how to use Python packages.
  • Understand the fundamentals of object-oriented programming using Python.
  • Understand how to implement data preparation techniques, visualization methods, machine learning and optimization algorithms in Python to address business challenges.

 

Intellectual skills

  • Implement algorithms of moderate complexity in Python for tasks such as data processing, visualization, and machine learning.
  • Analyze the performance of algorithms, interpret results, and assess their business impact.  

Practical skills

  • Develop Python-based solutions for data science and optimization problems, including data exploration, feature engineering, and supervised learning.
  • Create, optimize, and evaluate machine learning models (e.g., regression, classification, clustering) using Python libraries
  • Conduct hands-on projects, from data preparation to modeling and evaluation, demonstrating the ability to apply Python programming in solving complex, multi-step problems.

 

Transferable skills and personal qualities

  • Use Python packages to solve complex data science, visualisation and optimisation problems in business and management (e.g., portfolio optimization, customer segmentation, and analysis of financial data).
  • Understand and express technical concepts and insights effectively.

 

Assessment methods

Group Coursework 70% 
Lab Test (on-campus closed-book) 30%

Feedback methods

Generic feedback on the test results will be posted within 15 working days of the test.  

Feedback in form of written comments for the coursework will be provided within 15 working days of the submission deadline.  

 

Recommended reading

Core texts:

Python manual - https://www.python.org/doc/

A.B. Downey. Think Python: How to Think Like a Computer Scientist. O’Reilly, Media, Inc., 2012.

W. McKinney. Python for data analysis: Data wrangling with Pandas, NumPy, and IPython. O'Reilly Media, Inc., 2012.

S. Guido, A. Müller. Introduction to Machine Learning with Python: A Guide for Data Scientists. O'Reilly Media, 2016.

The course draws material from various sources but these three sources provide a nice overview of all the topics covered in the module.  

Supplementary Texts:

E. Jones, E. Oliphant, P. Peterson, et al. SciPy: Open Source Scientific Tools for Python. http://www.scipy.org/, 2001-.

C.H. Papadimitriou and K. Steiglitz. Combinatorial optimization: algorithms and complexity. Courier Corporation, 1982.  

C. Reeves and J.E. Rowe. Genetic Algorithms: Principles and Perspectives – A Guide to GA Theory. Kluwer Academic Publishers, 2003.

Study hours

Scheduled activity hours
Lectures 20
Practical classes & workshops 10
Independent study hours
Independent study 120

Teaching staff

Staff member Role
Xian Yang Unit coordinator
Manuel Lopez-Ibanez Unit coordinator

Return to course details