<?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>COMP11212</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Fundamentals of Computation</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 1</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>Francisco Lobo</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) ' First part HE study/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;span style="font-size:14px;"&gt;The building of real-life computing systems, e.g. mobile phone, TV/video remote control, internet shopping, air-traffic control, internet banking, etc., is always a complex task. Mistakes can be not just annoying, but also costly and sometimes life threatening. Formal methods and techniques to support the building and understanding of such systems are essential. This course unit provides the basic computer science ideas underlying such methods. It introduces mathematical models that allow the description, verification, and analysis of computing systems and their limitations.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-size:14px;"&gt;The building of real-life computing systems, e.g. mobile phone, TV/video remote control, internet shopping, air-traffic control, internet banking, etc., is always a complex task. Mistakes can be not just annoying, but also costly and sometimes life threatening. Formal methods and techniques to support the building and understanding of such systems are essential. This course unit provides the basic computer science ideas underlying such methods. It introduces mathematical models that allow the description, verification, and analysis of computing systems and their limitations.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-size:14px;"&gt;This course unit provides a first approach to answering the following questions. What methods are there that can help understanding complicated systems or programs? How can we make sure that a program does what we intend it to do? How do computers go about recognising pieces of text? If there are two ways of solving the same problem, how can we compare them? How do we measure that one of them gives the solution faster? How can we understand what computers can do in principle, and are there problems that are not solvable by a computer?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</Content>
  </Aims>
  <LearningOutcomes Applicant="Y" Label="Learning outcomes" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-size:14px;"&gt;&lt;strong&gt;ILO 1:&lt;/strong&gt; Describe computational complexity and identify the complexity of programs&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&lt;strong&gt;ILO 2:&lt;/strong&gt; Define models of computation and use those models to demonstrate what can and cannot be computed&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&lt;strong&gt;ILO 3:&lt;/strong&gt; Develop program specifications and proofs of program correctness&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&lt;strong&gt;ILO 4: &lt;/strong&gt;Identify classes of formal languages and demonstrate translations between those classes&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&lt;strong&gt;ILO 5: &lt;/strong&gt;Describe formal languages using a variety of mechanisms&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&lt;strong&gt;ILO 6: &lt;/strong&gt;Develop key properties of classes of formal languages and determine when those properties hold&lt;/span&gt;&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>Oral communication</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Problem solving</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-size:14px;"&gt;There are two groups of topics covered. One of the lectures will be an introduction to the course unit, and one is reserved for revision. That leaves 10 lectures for each part.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;The first part (10 lectures) is concerned with expressing particular strings, and collections of strings, and here we will introduce the methods by which a computer goes about it. The ability to recognize key strings (such as programming constructs or variable names) are, for example, required in every compiler, but they are also used by search engines such as Google.The formalisms introduced include finite state automata, regular expressions (most often used in pattern matching), (regular) grammars. The emphasis is on students being able to use these formalisms to solve problems.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;The second half of the course (10 lectures) provides an introduction to the topics of complexity, correctness and computability. There are four big topics:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; the WHILE programming language&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; asymptotic complexity&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; partial and full program correctness&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; computability&lt;/span&gt;&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p class="MsoPlainText"&gt;&lt;span style="font-size:11pt"&gt;&lt;span style="font-family:Calibri,sans-serif"&gt;This unit is delivered in a blended manner with a mix of asynchronous and synchronous activities. Self-study materials are made available in the form of detailed notes which include exercises, as well as videos and formative self-assessment quizzes that allow students to check their understanding. Each week there is a synchronous session that allows students to ask questions about the materials and beyond, and discuss the ideas underlying the taught material. Further there are weekly synchronous examples classes where solutions to the assessed exercises are discussed.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&lt;span style="font-size:11pt"&gt;&lt;span style="font-family:Calibri,sans-serif"&gt;Asynchronous video content, approximately 1 hour of content per week.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&lt;span style="font-size:11pt"&gt;&lt;span style="font-family:Calibri,sans-serif"&gt;Synchronous Q&amp;amp;A/worked examples sessions, 1 hour per week.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&lt;span style="font-size:11pt"&gt;&lt;span style="font-family:Calibri,sans-serif"&gt;Synchronous examples classes, 1 per week (starting in week 2)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&lt;span style="font-size:11pt"&gt;&lt;span style="font-family:Calibri,sans-serif"&gt;Students are expected to spend 4-5 hours each week engaging with asynchronous materials such as notes, video and exercises. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</Content>
  </TeachingMethods>
  <AssessmentMethods Applicant="Y" Label="Assessment methods" Student="Y">
    <IntroText> </IntroText>
    <Method>
      <MethodId>1</MethodId>
      <MethodName>Written exam</MethodName>
      <MethodWeight>80%</MethodWeight>
    </Method>
    <Method>
      <MethodId>2</MethodId>
      <MethodName>Written assignment (inc essay)</MethodName>
      <MethodWeight>20%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-size:14px"&gt;Weekly online self-assessment quizzes.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px"&gt;Students present their solutions to set exercises once a week in examples classes. They receive oral feedback to their solutions. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:14px"&gt;Written feedback is given for summative exercises.&lt;/span&gt;&lt;/p&gt;</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode></UnitCode>
      <UnitTitle></UnitTitle>
      <RequirementType></RequirementType>
      <Description></Description>
    </Requirement>
    <Requirement>
      <UnitCode>COMP11120</UnitCode>
      <UnitTitle>Mathematical Techniques for Computer Science</UnitTitle>
      <RequirementType>Co-Requisite</RequirementType>
      <Description>Compulsory</Description>
    </Requirement>
    <Requirement>
      <UnitCode>MATH11121</UnitCode>
      <UnitTitle>Mathematical Foundations &amp; Analysis</UnitTitle>
      <RequirementType>Pre-Requisite</RequirementType>
      <Description>Compulsory</Description>
    </Requirement>
    <AdditionalRequirement>Students who are not from the Department of Computer Science must have permission from both Computer Science and their home Department to enrol. Computer Science and Maths students do not need COMP11120.&lt;p&gt;COMP11120 is a co-requisite&amp;nbsp;except for BSc(Hons) Computer and Science and Maths students&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;ol&gt;&lt;li&gt;Michael Sipser. (2013). &lt;i&gt;Introduction to the Theory of Computation&lt;/i&gt;. Cengage Learning. ISBN:&lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,113318779&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; 113318779&lt;/a&gt;&lt;br&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Sipser, Michael. (2013). &lt;i&gt;Introduction to the theory of computation&lt;/i&gt;. Cengage Learning. ISBN:&lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,9781133187813&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; 9781133187813&lt;/a&gt;&lt;br&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Huth, Michael. (2004).&lt;i&gt; Logic in computer science: modelling and reasoning about systems&lt;/i&gt;. Cambridge University Press. ISBN:&lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,9780511810275&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; 9780511810275&lt;/a&gt;&lt;br&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Hopcroft, John E., 1939-. (2014). &lt;i&gt;Introduction to automata theory, languages, and computation&lt;/i&gt;. Pearson Education. ISBN:&lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,9781292056166&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; 9781292056166&amp;nbsp;&lt;/a&gt;&lt;/li&gt;&lt;/ol&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>Lectures</ActivityType>
        <Hours>11</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>11</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Work based learning</ActivityType>
        <Hours>6</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>70</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content></Content>
  </Notes>
</CourseUnit>
