<?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>EEEN30141</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Concurrent Systems</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 1</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>Frank Podd</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;&lt;strong&gt;This unit will cover the following topics:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;(1) How autonomous peripherals improve CPU efficiency.&lt;/p&gt;&lt;p&gt;(2) The meaning parallel and time-slice concurrency.&lt;/p&gt;&lt;p&gt;(3) Programs, processes, and threads.&lt;/p&gt;&lt;p&gt;(4) How operating systems create concurrent systems.&lt;/p&gt;&lt;p&gt;(5) Problems with concurrent algorithms and the coding methods to solve them.&lt;/p&gt;&lt;p&gt;(6) Message passing methods.&lt;/p&gt;&lt;p&gt;(7) Other operating system methods, including memory, file and device management.&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;This unit will cover the following topics:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;(1) How autonomous peripherals improve CPU efficiency.&lt;/p&gt;&lt;p&gt;(2) The meaning parallel and time-slice concurrency.&lt;/p&gt;&lt;p&gt;(3) Programs, processes, and threads.&lt;/p&gt;&lt;p&gt;(4) How operating systems create concurrent systems.&lt;/p&gt;&lt;p&gt;(5) Problems with concurrent algorithms and the coding methods to solve them.&lt;/p&gt;&lt;p&gt;(6) Message passing methods.&lt;/p&gt;&lt;p&gt;(7) Other operating system methods, including memory, file and device management.&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;The topic of Concurrent Systems is about operating systems and the method of creating threads of code. This enables programs to be run at the same time, and enables algorithms to be parallelised to run much faster. We will look at how an operating system kernel facilitates concurrent systems through CPU scheduling and how we can write code to parallelise our software. We will use C++ in this unit, but the code is similar in other languages.&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; Explain the issues inherent in multi-threaded programs&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 2: &lt;/strong&gt;Describe message parsing and its applications&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 3:&lt;/strong&gt; Analyse how an operating system provides thread scheduling&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 4: &lt;/strong&gt;Describe what makes a concurrent system&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 5:&lt;/strong&gt; Develop concurrent programs in C++&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></SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content></Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p&gt;21 Lectures, 1 Introductory Lab, 5 Worked Tutorial Sheets (online).&lt;/p&gt;</Content>
  </TeachingMethods>
  <AssessmentMethods Applicant="Y" Label="Assessment methods" Student="Y">
    <IntroText> </IntroText>
    <Method>
      <MethodId>0</MethodId>
      <MethodName>Other</MethodName>
      <MethodWeight>20%</MethodWeight>
    </Method>
    <Method>
      <MethodId>1</MethodId>
      <MethodName>Written exam</MethodName>
      <MethodWeight>80%</MethodWeight>
    </Method>
    <OtherDescription>&lt;p&gt;&lt;strong&gt;Coursework:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;2 Blackboard tests - 30 Minutes each&lt;/p&gt;&lt;p&gt;Write a concurrent program in C++ to implement a given specification. - 10 hours&lt;/p&gt;&lt;p&gt;The coursework forms 20% of the unit assessment.&lt;/p&gt;</OtherDescription>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p&gt;.&lt;/p&gt;</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode>EEEN20011</UnitCode>
      <UnitTitle>Microcontroller Engineering II</UnitTitle>
      <RequirementType>Pre-Requisite</RequirementType>
      <Description>Compulsory</Description>
    </Requirement>
    <AdditionalRequirement></AdditionalRequirement>
  </RequirementsList>
  <AcademicPrograms Applicant="Y" Label="Academic programmes" Student="Y">
    <AcademicProgram>
      <Program>BEng(Hons) Electrical and Elec</Program>
      <Plan>BEng(Hons) Electrical and Elec</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>BEng(Hons) Electrical and Elec</Program>
      <Plan>BEng(Hons) Electrical and Elec</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>BEng(Hons) Mechatronic Enginee</Program>
      <Plan>BEng(Hons) Mechatronic Enginee</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>BEng(Hons) Mechatronic Enginee</Program>
      <Plan>BEng(Hons) Mechatronic Enginee</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>MEng (Hons) Electrical and Ele</Program>
      <Plan>MEng (Hons) Electrical and Ele</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>MEng (Hons) Electrical and Ele</Program>
      <Plan>MEng (Hons) Electrical and Ele</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>MEng (Hons) Mechatronic Engine</Program>
      <Plan>MEng (Hons) Mechatronic Engine</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>MEng (Hons) Mechatronic Engine</Program>
      <Plan>MEng (Hons) Mechatronic Engine</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>BEng (Hons) Electronic Eng</Program>
      <Plan>BEng (Hons) Electronic Enginee</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>BEng (Hons) Electronic Eng WIE</Program>
      <Plan>BEng(Hons) Electronic Eng WIE</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>MEng (Hons) Electronic Enginee</Program>
      <Plan>MEng (Hons) Electronic Engine</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</Requirement>
    </AcademicProgram>
    <AcademicProgram>
      <Program>MEng (Hons) Electronic Eng WIE</Program>
      <Plan>MEng Electronic EngineeringWIE</Plan>
      <Level>Third Year</Level>
      <Requirement>Optional</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;C++ Concurrency in Action: Practical Multithreading, Anthony Williams, 2012&lt;/p&gt;&lt;p&gt;-covers the first part of the course.&lt;/p&gt;&lt;p&gt;Operating Systems : A Modern Perspective, G. Nutt&lt;/p&gt;&lt;p&gt;3rd edition, Addison-Wesley, 2003&lt;/p&gt;&lt;p&gt;-covers the second part of the course.&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>18</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>3</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Tutorials</ActivityType>
        <Hours>14</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>65</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content></Content>
  </Notes>
</CourseUnit>
