<?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>COMP35112</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Chip Multiprocessors</Title>
  </UnitTitle>
  <MaxUnits Applicant="Y" Label="Credit rating" Student="Y">
    <Units>10</Units>
  </MaxUnits>
  <TeachingPeriods Applicant="Y" Label="Teaching period(s)" Student="Y">
    <Period>Semester 2</Period>
  </TeachingPeriods>
  <AcademicCareer Applicant="Y" Label="Academic career" Student="Y">
    <Value>Undergraduate</Value>
  </AcademicCareer>
  <UnitLevel Applicant="Y" Label="Unit level" Student="Y">
    <Level>Level 3</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>Pavlos Petoumenos</Name>
      <Role>Unit coordinator</Role>
    </StaffMember>
    <StaffMember>
      <Name>Pierre Olivier</Name>
      <Role>Unit coordinator</Role>
    </StaffMember>
  </StaffList>
  <OfferedBy Applicant="Y" Label="Offered by" Student="Y">
    <OrganisationList>
      <Organisation>
        <OrgName></OrgName>
      </Organisation>
    </OrganisationList>
    <GroupList>
      <Group>
        <GroupName></GroupName>
      </Group>
    </GroupList>
    <FheqLevels>
      <FheqLevel>
        <LevelNumber>1</LevelNumber>
        <LevelName>FHEQ level (Framework for Higher Education Qualifications) ' Last part of a Bachelors ' </LevelName>
      </FheqLevel>
    </FheqLevels>
    <Ects>
      <MaxUnits>European Credit Transfer &amp; Accumulation System Rating :   5.0</MaxUnits>
    </Ects>
  </OfferedBy>
  <MarketingOverview Applicant="Y" Label="Marketing Course unit overview" Student="">
    <Content>&lt;p&gt;Due to technological limitations, it is proving increasingly difficult to maintain a continual increase in the performance of individual processors. Therefore, the current trend is to integrate multiple processors on to a single chip and exploit the resulting parallel resources to achieve higher computing power. However, this may require significantly different approaches to both hardware and software particularly for general purpose applications. This course will explore these issues in detail.&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;The course covers&amp;nbsp; the following topics:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Introduction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Trends in technology, limitations and consequences. The move to multi-coreParallelism in programs, ILP, Thread Level, Data Parallelism.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Parallel Architectures&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;SIMD, MIMD, Shared Memory, Distributed Memory, strengths and weaknesses.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Parallel Programming&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Multithreaded programming, Data parallel programming, Explicit vs Implicit parallelism, automatic parallelisation. The Case for Shared Memory. When to share?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Shared Memory Multiprocessors&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Basic structures, the cache coherence problem. The MESI protocol. Limitations. Directory based coherence.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Programming with Locks and Barriers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;The need for synchronisation. Problems with explicit synchronisation&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Other Parallel Programming Approaches&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;MPI and OpenMP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Speculation&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;The easy route to automatic parallelisation?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Transactional Memory&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Principles. Hardware and Software approaches&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Memory Issues&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Memory system design. Memory consistency&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Other Architectures and Programming Approaches&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;GPGPUs, CUDA&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Data Driven Parallelism&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Dataflow principles and Functional Programming&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;The unit aims to:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10pt"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-size:11.0pt"&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,sans-serif"&gt;&lt;span style="color:black"&gt;Explore the various software and hardware issues brought by the current trends of integrating multiple processors on to a single chip in order to tackle the single-core processors speed stagnation through parallelism.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</Content>
  </Aims>
  <LearningOutcomes Applicant="Y" Label="Learning outcomes" Student="Y">
    <Content>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;	&lt;li&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,sans-serif"&gt;Describe the main issues, along with key proposed solutions, in the design and construction of chip multi-processor hardware (e.g. multi-core CPUs and GPUs) and related programming languages.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;	&lt;li&gt;&lt;p&gt;evaluate a number of specific examples of extensions to programming languages supporting the writing of correct and efficient code on shared memory multi-processors.&lt;/p&gt;&lt;/li&gt;	&lt;li&gt;&lt;p&gt;compare a number of extensions to hardware structures supporting, for example, memory coherence, synchronization, speculation and transactional memory, to improve the performance of code executing on chip multiprocessors.&lt;/p&gt;&lt;/li&gt;	&lt;li&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,serif"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,sans-serif"&gt;Compare a number of extensions to programming languages and supporting user- and operating system-level data structures to improve the performance of code on chip multiprocessors.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;	&lt;li&gt;&lt;p&gt;evaluate the effectiveness of concurrency support in a popular programming language, including the use of threads, locks and barriers, in the context of experience gained with three simple parallel programming exercises.&lt;/p&gt;&lt;/li&gt;&lt;/ul&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>Problem solving</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Written communication</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Other</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Trends in technology, limitations and consequences. The move to multi-coreParallelism in programs, ILP, Thread Level, Data Parallelism.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Parallel Architectures&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;SIMD, MIMD, Shared Memory, Distributed Memory, strengths and weaknesses.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Parallel Programming&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Multithreaded programming, Data parallel programming, Explicit vs Implicit parallelism, automatic parallelisation. The Case for Shared Memory. When to share?&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Shared Memory Multiprocessors&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Basic structures, the cache coherence problem. The MESI protocol. Limitations. Directory based coherence.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Programming with Locks and Barriers&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The need for synchronisation. Problems with explicit synchronisation&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Other Parallel Programming Approaches&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;MPI and OpenMP&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Speculation&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The easy route to automatic parallelisation?&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Transactional Memory&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Principles. Hardware and Software approaches&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Memory Issues&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Memory system design. Memory consistency&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Other Architectures and Programming Approaches&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;GPGPUs, CUDA&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Data Driven Parallelism&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Dataflow principles and Functional Programing&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content></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>2</MethodId>
      <MethodName>Written assignment (inc essay)</MethodName>
      <MethodWeight>30%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p&gt;Written feedback on reports for laboratory exercises. Students who attempt previous exam questions can get feedback on their answers.&lt;/p&gt;</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode>COMP25212</UnitCode>
      <UnitTitle>System Architecture</UnitTitle>
      <RequirementType>Pre-Requisite</RequirementType>
      <Description>Compulsory</Description>
    </Requirement>
    <AdditionalRequirement>Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.</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;&lt;a href="https://online.manchester.ac.uk/webapps/blackboard/content/listContent.jsp?course_id=_62333_1&amp;amp;content_id=_11544719_1" target="_blank"&gt;COMP35112 reading list&lt;/a&gt; can be found on the Department of Computer Science website for current students.&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>24</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>76</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;Course unit materials&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://studentnet.cs.manchester.ac.uk/ugt/syllabus.php" target="_blank"&gt;Links to course unit teaching materials&lt;/a&gt; can be found on the School of Computer Science website for current students.&lt;/p&gt;</Content>
  </Notes>
</CourseUnit>
