<?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>COMP63301</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Data Engineering Concepts</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 6</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>Sandra Sampaio</Name>
      <Role>Unit coordinator</Role>
    </StaffMember>
  </StaffList>
  <OfferedBy Applicant="Y" Label="Offered by" Student="Y">
    <OrganisationList>
      <Organisation>
        <OrgName>Department of Computer Science</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;Data Engineering plays a crucial role in enabling organisations to leverage big data for insightful analytics, driving business strategies and innovations. The field has evolved significantly from its early days of simple database management to encompass advanced technologies for large-scale data processing and analytics. This evolution reflects the growing complexity and volume of data, as well as the need for robust data infrastructures to support AI systems. As AI continues to dominate various industries, the relevance of data engineering in the job market has surged. Data engineers are essential for designing, building, and maintaining the data pipelines that AI systems depend on. Consequently, there is increased demand for professionals with analytical thinking, innovation, and problem-solving skills in data engineering, which represent the objectives of this course unit.&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;Data engineering tends to involve a lifecycle, in which typical phases include data acquisition, profiling, cleaning, integration, modelling, and usage.&lt;/p&gt;&lt;p&gt;&lt;br&gt;This unit introduces the student to relevant stages of the data engineering lifecycle and related concepts, tasks and techniques. It deepens selected aspects of this lifecycle, e.g., transformation, modelling and visualisation, and addresses cross-cutting topics such as security, trust, and robustness. We will investigate pain points, trade-offs, limitations and evaluation criteria that can inform the development of data engineering pipelines in practice.&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;This unit aims to equip students with a comprehensive understanding of the foundational concepts that underpin data engineering, alongside practical experience in applying these concepts to real-world scenarios. Data engineering encompasses the processes and mechanisms that enable value extraction from data, and this unit explores the lifecycle that governs these activities, from data integration and cleaning to transformation and visualisation. Through a combination of theoretical exploration and hands-on practice, students will gain insight into the challenges, trade-offs, and technologies that define the field.&lt;/p&gt;</Content>
  </Aims>
  <LearningOutcomes Applicant="Y" Label="Learning outcomes" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;ILO 1:&lt;/strong&gt; Discuss trade-offs between various design options.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 2:&lt;/strong&gt; Critically analyse data engineering technologies.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 3:&lt;/strong&gt; Apply selected DE techniques for data integration, cleaning, transformation and visualisation, ensuring data quality for the purpose of data analysis.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 4:&lt;/strong&gt; Identify relevant data properties, understanding the shape of data and its representation of the world.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 5:&lt;/strong&gt; Explain the Data Engineering (DE) lifecycle, related concepts, challenges and research questions.&lt;/p&gt;</Content>
  </LearningOutcomes>
  <Knowledge Applicant="Y" Label="Knowledge and understanding" Student="Y">
    <Content></Content>
  </Knowledge>
  <IntellectualSkills Applicant="Y" Label="Intellectual skills" Student="Y">
    <Content></Content>
  </IntellectualSkills>
  <PracticalSkills Applicant="Y" Label="Practical skills" Student="Y">
    <Content></Content>
  </PracticalSkills>
  <TransferableSkills Applicant="Y" Label="Transferable skills and personal qualities" Student="Y">
    <Content></Content>
  </TransferableSkills>
  <EmployabilitySkillsList Applicant="Y" Label="Employability skills" Student="Y">
    <Skill>
      <SkillId>Analytical skills</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Innovation/creativity</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Problem solving</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Research</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content>&lt;p&gt;In the Data Engineering Concepts course, you will explore the foundational principles and practical techniques that underpin modern data engineering. Key topics include:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Data Profiling and Quality:&lt;/i&gt; Learn to assess and improve data quality using industry-standard dimensions and metrics.&lt;/li&gt;&lt;li&gt;&lt;i&gt;Data Preparation and Transformation:&lt;/i&gt; Gain hands-on experience in cleaning, structuring, and transforming raw data for analysis and modelling.&lt;/li&gt;&lt;li&gt;&lt;i&gt;Data Integration and Storage:&lt;/i&gt; Understand how to model, store, and query data using relational and non-relation&lt;i&gt;al databases.&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Data Analysis and Visualisation: Discover how to extract insights and communicate findings effectively through visualisation techniques.&lt;/li&gt;&lt;li&gt;&lt;i&gt;Big Data and Streaming:&lt;/i&gt; Tackle the challenges of working with large-scale and real-time data, including orchestration and secure data movement.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Tools and Technologies&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;You’ll work with a range of technologies that are essential to today’s data engineering landscape, including:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Python for data manipulation and transformation&lt;/li&gt;&lt;li&gt;SQL for querying and managing structured data&lt;/li&gt;&lt;li&gt;MongoDB MQL for handling semi-structured data&lt;/li&gt;&lt;li&gt;Data visualisation tools to present insights clearly and effectively&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;By the end of the course, you’ll be equipped with both the theoretical understanding and practical skills needed to design and implement robust data engineering solutions. Whether you are preparing data for machine learning models or building pipelines for real-time analytics, this course will empower you to turn raw data into actionable intelligence.&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;Asynchronous &lt;/strong&gt;learning material will be made available in the form of videos and directed reading, as well as formative and normative exercises delivered via the VLE.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;strong&gt;Synchronous&lt;/strong&gt; activities include in-person workshops, focusing on discussion of examples, clarifications and Q&amp;amp;A. Labs allow for exploration of coursework, what is expected and how to go about doing it, and for receiving feedback on formative coursework.&lt;/p&gt;</Content>
  </TeachingMethods>
  <AssessmentMethods Applicant="Y" Label="Assessment methods" Student="Y">
    <IntroText> </IntroText>
    <Method>
      <MethodId>1</MethodId>
      <MethodName>Written exam</MethodName>
      <MethodWeight>70%</MethodWeight>
    </Method>
    <Method>
      <MethodId>9</MethodId>
      <MethodName>Set exercise</MethodName>
      <MethodWeight>30%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p&gt;Cohort level feedback after marking.&lt;/p&gt;&lt;p&gt;Individual feedback on request in lab.&lt;/p&gt;&lt;p&gt;Individual feedback via rubric.&lt;/p&gt;&lt;p&gt;Cohort feedback in workshops.&lt;/p&gt;&lt;p&gt;Auto-graded quizzes providing immediate feedback.&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>&lt;p&gt;Data Management, including traditional (e.g., CSV, relational, etc.) and non-traditional (JSON, text, noSQL, etc.) data types and associated data management technologies.&lt;/p&gt;&lt;p&gt;Programming in Python.&lt;/p&gt;&lt;p&gt;SQL and the Relational Algebra.&lt;/p&gt;&lt;p&gt;Data Analytics.&lt;/p&gt;</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>Y</Content>
  </FreeChoice>
  <Accreditation Applicant="Y" Label="Accreditation" Student="Y">
    <Content></Content>
  </Accreditation>
  <RecommendedReading Applicant="Y" Label="Recommended reading" Student="Y">
    <Content>&lt;p&gt;Fundamentals of Data Engineering: Plan and Build Robust Data Systems&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Joe Reis,Matt Housley&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;O'Reilly Media&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2022&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ISBN: &lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,978&amp;amp;search_scope=MyInst_and_CI&amp;amp;sortby=rank&amp;amp;vid=44MAN_INST:MU_NUI&amp;amp;lang=en&amp;amp;mode=advanced&amp;amp;offset=0" target="_blank"&gt;978&lt;/a&gt;&lt;br&gt;&lt;br&gt;Eleven quick tips for data cleaning and feature engineering&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chicco, Davide ; Oneto, Luca ; Tavazzi, Erica&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PLoS computational biology&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2022&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DOI: &lt;a href="https://doi.org/10.1371/journal.pcbi.1010718" target="_blank"&gt;10.1371/journal.pcbi.1010718&lt;/a&gt;&lt;br&gt;&lt;br&gt;Python for Data Analysis &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Wes McKinney&amp;nbsp;&amp;nbsp;&amp;nbsp;— &amp;nbsp;&amp;nbsp;&amp;nbsp;2022&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ISBN: &lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,9781098104009&amp;amp;search_scope=MyInst_and_CI&amp;amp;sortby=rank&amp;amp;vid=44MAN_INST:MU_NUI&amp;amp;lang=en&amp;amp;mode=advanced&amp;amp;offset=0" target="_blank"&gt;9781098104009&lt;/a&gt;&lt;br&gt;&lt;br&gt;Python for data analysis : data wrangling with Pandas, NumPy, and Jupyter &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;McKinney, Wes,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;O'Reilly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2022&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ISBN: &lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,9781098104030&amp;amp;search_scope=MyInst_and_CI&amp;amp;sortby=rank&amp;amp;vid=44MAN_INST:MU_NUI&amp;amp;lang=en&amp;amp;mode=advanced&amp;amp;offset=0" target="_blank"&gt;9781098104030&lt;/a&gt;&lt;br&gt;&lt;br&gt;The Turing Way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The Turing Way Community&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snakemake | Snakemake 9.8.1 documentation&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Web site: &lt;a href="https://snakemake.readthedocs.io/en/stable/" target="_blank"&gt;snakemake.readthedocs.io&amp;nbsp;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Sustainable data analysis with Snakemake [version 2; peer review: 2 approved]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mölder, Felix ; Jablonski, Kim Philipp ; Letcher, Brice ; Hall, Michael B ; Tomkins-Tinch, Christopher H ; Sochat, Vanessa ; Forster, Jan ; Lee, Soohyun ; Twardziok, Sven O ; Kanitz, Alexander ; Wilm, Andreas ; Holtgrewe, Manuel ; Rahmann, Sven ; Nahnsen, Sven ; Köster, Johannes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;F1000 research&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2021&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DOI: &lt;a href="https://doi.org/10.12688/f1000research.29032.2" target="_blank"&gt;10.12688/f1000research.29032.2&lt;/a&gt;&lt;br&gt;&lt;br&gt;Modern data engineering with Apache Spark : a hands-on guide for building mission-critical streaming applications &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Haines, Scott,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Apress&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2022&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ISBN: &lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,9781484274521&amp;amp;search_scope=MyInst_and_CI&amp;amp;sortby=rank&amp;amp;vid=44MAN_INST:MU_NUI&amp;amp;lang=en&amp;amp;mode=advanced&amp;amp;offset=0" target="_blank"&gt;9781484274521&lt;/a&gt;&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>Assessment written exam</ActivityType>
        <Hours>2</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>40</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Work based learning</ActivityType>
        <Hours>40</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>68</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content>&lt;p&gt;Videos (~5 Hours)&lt;/p&gt;&lt;p&gt;Formative Quizzes (~2 Hours)&lt;/p&gt;&lt;p&gt;Formative Coursework (~10 Hours)&lt;/p&gt;&lt;p&gt;Assessed Coursework (~10 Hours)&lt;/p&gt;&lt;p&gt;Assessed Quizzes (~3 Hours)&lt;/p&gt;</Content>
  </Notes>
</CourseUnit>
