<?xml version="1.0" encoding="UTF-8"?>
<CourseUnit xmlns="http://www.manchester.ac.uk/CUICourseUnitDetails" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.manchester.ac.uk/CUICourseUnitDetails.xsd">
  <UnitCode Applicant="Y" Label="Unit code" Student="Y">
    <Code>BMAN73701</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Python Programming for Business Intelligence and Analytics</Title>
  </UnitTitle>
  <MaxUnits Applicant="Y" Label="Credit rating" Student="Y">
    <Units>15</Units>
  </MaxUnits>
  <TeachingPeriods Applicant="Y" Label="Teaching period(s)" Student="Y">
    <Period>Semester 1</Period>
  </TeachingPeriods>
  <AcademicCareer Applicant="Y" Label="Academic career" Student="Y">
    <Value>Postgraduate Taught</Value>
  </AcademicCareer>
  <UnitLevel Applicant="Y" Label="Unit level" Student="Y">
    <Level>Level 7</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>Xian Yang</Name>
      <Role>Unit coordinator</Role>
    </StaffMember>
    <StaffMember>
      <Name>Manuel Lopez-Ibanez</Name>
      <Role>Unit coordinator</Role>
    </StaffMember>
  </StaffList>
  <OfferedBy Applicant="Y" Label="Offered by" Student="Y">
    <OrganisationList>
      <Organisation>
        <OrgName>Alliance Manchester Business School</OrgName>
      </Organisation>
    </OrganisationList>
    <GroupList>
      <Group>
        <GroupName></GroupName>
      </Group>
    </GroupList>
    <FheqLevels>
      <FheqLevel>
        <LevelNumber>1</LevelNumber>
        <LevelName>FHEQ level (Framework for Higher Education Qualifications) ' Masters/Integrated Masters P4 ' </LevelName>
      </FheqLevel>
    </FheqLevels>
    <Ects>
      <MaxUnits>European Credit Transfer &amp; Accumulation System Rating :   7.5</MaxUnits>
    </Ects>
  </OfferedBy>
  <MarketingOverview Applicant="Y" Label="Marketing Course unit overview" Student="">
    <Content>&lt;p&gt;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.&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;This course provides a comprehensive introduction to data analytics using Python, covering essential topics such as data preprocessing, analysis, visualisation, machine learning, and optimisation. Students will develop foundational Python programming skills and learn to apply data analytics techniques to solve real-world business problems. The course emphasises practical applications in business and decision-making, enabling students to leverage Python effectively for data-driven solutions.&amp;nbsp;&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&amp;nbsp;&lt;/p&gt;</Content>
  </Aims>
  <LearningOutcomes Applicant="Y" Label="Learning outcomes" Student="Y">
    <Content></Content>
  </LearningOutcomes>
  <Knowledge Applicant="Y" Label="Knowledge and understanding" Student="Y">
    <Content>&lt;ul&gt;&lt;li&gt;Read and write Python code and understand how to use Python packages.&lt;/li&gt;&lt;li&gt;Understand the fundamentals of object-oriented programming using Python.&lt;/li&gt;&lt;li&gt;Understand how to implement data preparation techniques, visualization methods, machine learning and optimization algorithms in Python to address business challenges.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </Knowledge>
  <IntellectualSkills Applicant="Y" Label="Intellectual skills" Student="Y">
    <Content>&lt;ul&gt;&lt;li&gt;Implement algorithms of moderate complexity in Python for tasks such as data processing, visualization, and machine learning.&lt;/li&gt;&lt;li&gt;Analyze the performance of algorithms, interpret results, and assess their business impact. &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;</Content>
  </IntellectualSkills>
  <PracticalSkills Applicant="Y" Label="Practical skills" Student="Y">
    <Content>&lt;ul&gt;&lt;li&gt;Develop Python-based solutions for data science and optimization problems, including data exploration, feature engineering, and supervised learning.&lt;/li&gt;&lt;li&gt;Create, optimize, and evaluate machine learning models (e.g., regression, classification, clustering) using Python libraries&lt;/li&gt;&lt;li&gt;Conduct hands-on projects, from data preparation to modeling and evaluation, demonstrating the ability to apply Python programming in solving complex, multi-step problems.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </PracticalSkills>
  <TransferableSkills Applicant="Y" Label="Transferable skills and personal qualities" Student="Y">
    <Content>&lt;ul&gt;&lt;li&gt;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).&lt;/li&gt;&lt;li&gt;Understand and express technical concepts and insights effectively.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </TransferableSkills>
  <EmployabilitySkillsList Applicant="Y" Label="Employability skills" Student="Y">
    <Skill>
      <SkillId></SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content>&lt;p&gt;Pre-course Self-Learning:&lt;/p&gt;&lt;p&gt;Chapter 1: Python Basics from https://www.datacamp.com/courses/intro-to-python-for-data-science &amp;nbsp;&lt;/p&gt;&lt;p&gt;Learn Python in 1 hour! from https://www.youtube.com/watch?v=8KCuHHeC_M0 &amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Week 1: Data Structures, Conditionals, and Loops&lt;/p&gt;&lt;p&gt;Learn to use conditional logic and loops to create dynamic Python programs.&lt;/p&gt;&lt;p&gt;Week 2: Functions, Modules, and Exceptions&lt;/p&gt;&lt;p&gt;Master reusable functions, modular programming, and error handling with exceptions.&lt;/p&gt;&lt;p&gt;Week 3: Object-Oriented Programming (OOP)&lt;/p&gt;&lt;p&gt;Understand the basics of classes, objects, inheritance, and encapsulation.&lt;/p&gt;&lt;p&gt;Week 4: Advanced OOP, Nested Structures, and Function Arguments&lt;/p&gt;&lt;p&gt;Explore advanced OOP concepts, nested data structures (shallow/deep copies), and function arguments.&lt;/p&gt;&lt;p&gt;Week 5: Numerical Computing with Python&lt;/p&gt;&lt;p&gt;Use NumPy for mathematical operations, matrix manipulation, and numerical problem-solving.&lt;/p&gt;&lt;p&gt;Week 6: Data Exploration and Visualization&lt;/p&gt;&lt;p&gt;Learn to explore and visualize data using Python libraries like Pandas and Matplotlib for effective analysis and presentation.&lt;/p&gt;&lt;p&gt;Week 7: Data Processing and Preparation&lt;/p&gt;&lt;p&gt;Focus on preprocessing techniques, including cleaning data, handling missing values, feature engineering, and data transformation.&lt;/p&gt;&lt;p&gt;Week 8: Introduction to Machine Learning (Part I)&lt;/p&gt;&lt;p&gt;Understand the basics of supervised learning (regression, classification) and unsupervised learning (clustering).&lt;/p&gt;&lt;p&gt;Week 9: Introduction to Machine Learning (Part II)&lt;/p&gt;&lt;p&gt;Delve into classification models, hyperparameter tuning, overfitting/underfitting, and advanced model evaluation.&lt;/p&gt;&lt;p&gt;Week 10: Introduction to Optimization with Python&lt;/p&gt;&lt;p&gt;Solve optimization problems using Python libraries such as SciPy.&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p&gt;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. &amp;nbsp;&lt;/p&gt;&lt;p&gt;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. &amp;nbsp;&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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). &amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </TeachingMethods>
  <AssessmentMethods Applicant="Y" Label="Assessment methods" Student="Y">
    <IntroText> </IntroText>
    <Method>
      <MethodId>0</MethodId>
      <MethodName>Other</MethodName>
      <MethodWeight>100%</MethodWeight>
    </Method>
    <OtherDescription>&lt;p&gt;Group Coursework 70%&amp;nbsp;&lt;br&gt;Lab Test (on-campus closed-book) 30%&lt;/p&gt;</OtherDescription>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p&gt;Generic feedback on the test results will be posted within 15 working days of the test. &amp;nbsp;&lt;/p&gt;&lt;p&gt;Feedback in form of written comments for the coursework will be provided within 15 working days of the submission deadline. &amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode></UnitCode>
      <UnitTitle></UnitTitle>
      <RequirementType></RequirementType>
      <Description></Description>
    </Requirement>
    <AdditionalRequirement>BMAN73701 Programme Req: BMAN73701 is only available as an elective to students on MSc Business Analytics and MSc Data Science (except CSDI pathway)</AdditionalRequirement>
  </RequirementsList>
  <AcademicPrograms Applicant="Y" Label="Academic programmes" Student="Y">
    <AcademicProgram>
      <Program></Program>
      <Plan></Plan>
      <Level></Level>
      <Requirement></Requirement>
    </AcademicProgram>
  </AcademicPrograms>
  <FreeChoice Applicant="Y" Label="Available as a free choice unit?" Student="Y">
    <Content>N</Content>
  </FreeChoice>
  <Accreditation Applicant="Y" Label="Accreditation" Student="Y">
    <Content></Content>
  </Accreditation>
  <RecommendedReading Applicant="Y" Label="Recommended reading" Student="Y">
    <Content>&lt;p&gt;Core texts:&lt;/p&gt;&lt;p&gt;Python manual - https://www.python.org/doc/&lt;/p&gt;&lt;p&gt;A.B. Downey. Think Python: How to Think Like a Computer Scientist. O’Reilly, Media, Inc., 2012.&lt;/p&gt;&lt;p&gt;W. McKinney. Python for data analysis: Data wrangling with Pandas, NumPy, and IPython. O'Reilly Media, Inc., 2012.&lt;/p&gt;&lt;p&gt;S. Guido, A. Müller. Introduction to Machine Learning with Python: A Guide for Data Scientists. O'Reilly Media, 2016.&lt;/p&gt;&lt;p&gt;The course draws material from various sources but these three sources provide a nice overview of all the topics covered in the module. &amp;nbsp;&lt;/p&gt;&lt;p&gt;Supplementary Texts:&lt;/p&gt;&lt;p&gt;E. Jones, E. Oliphant, P. Peterson, et al. SciPy: Open Source Scientific Tools for Python. http://www.scipy.org/, 2001-.&lt;/p&gt;&lt;p&gt;C.H. Papadimitriou and K. Steiglitz. Combinatorial optimization: algorithms and complexity. Courier Corporation, 1982. &amp;nbsp;&lt;/p&gt;&lt;p&gt;C. Reeves and J.E. Rowe. Genetic Algorithms: Principles and Perspectives – A Guide to GA Theory. Kluwer Academic Publishers, 2003.&lt;/p&gt;</Content>
  </RecommendedReading>
  <StudyHours Applicant="Y" Label="Study hours" Student="Y">
    <IntroText> </IntroText>
    <ScheduledHours Applicant="Y" Label="Scheduled activity hours" Student="Y">
      <ActivityHours>
        <ActivityType>Lectures</ActivityType>
        <Hours>20</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>10</Hours>
      </ActivityHours>
    </ScheduledHours>
    <PlacementHours Applicant="Y" Label="Placement hours" Student="Y">
      <ActivityHours>
        <ActivityType></ActivityType>
        <Hours>0</Hours>
      </ActivityHours>
    </PlacementHours>
    <TotalHours Applicant="Y" Label="Independent study hours" Student="Y">
      <Hours>120</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content></Content>
  </Notes>
</CourseUnit>
