<?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>COMP21111</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Logic and Modelling</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 2</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>Konstantin Korovin</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) ' Middle part of 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;The course is focused on logic, reasoning algorithms and formal methods.&amp;nbsp;&lt;br&gt;In the course we cover several logics widely used in applications ranging from verification of software and hardware to mathematical reasoning. The course will cover formal aspects of propositional logic, quantified propositional logic (QBF), linear temporal logic. We study major reasoning algorithms for these logics including DPLL, tableaux, randomized algorithms, OBDDs. The course also covers formalization of problems such as state transition systems and specification and verification of properties of such systems using logic.&amp;nbsp;&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;The course is focused on logic, reasoning algorithms and formal methods.&amp;nbsp;&lt;br&gt;In the course we cover several logics widely used in applications ranging from verification of software and hardware to mathematical reasoning. The course will cover formal aspects of propositional logic, quantified propositional logic (QBF), linear temporal logic. We study major reasoning algorithms for these logics including DPLL, tableaux, randomized algorithms, OBDDs. The course also covers formalization of problems such as state transition systems and specification and verification of properties of such systems using logic.&amp;nbsp;&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;This course intends to build an understanding of fundamentals of (mathematical) logic as well as some of the applications of logic in modern computer science, including hardware verification, finite domain constraint satisfaction and verification of concurrent systems.&amp;nbsp;&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; Understand linear temporal logic (LTL), syntax, semantics and be able to evaluate LTL formulas on computation paths, check equivalence of &amp;nbsp;LTL formulas.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 2: &lt;/strong&gt;Understand model checking algorithms and be able to apply model checking algorithms to &amp;nbsp;verification of state transition systems.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 3:&lt;/strong&gt; Encode problems from different domains into propositional logic (such as finite domain constraint satisfaction).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 4:&lt;/strong&gt; Understand OBDDs (ordered binary decision diagrams) as a data structure for compact representation of propositional formulas and be able to construct and combine OBDDs.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 5: &lt;/strong&gt;Understand propositional logic and be able to apply satisfiability-checking algorithms to solve problems in propositional logic.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 6:&lt;/strong&gt; Understand quantified Boolean logic and be able to apply reasoning algorithms to evaluate formulas in quantified Boolean logic.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 7: &lt;/strong&gt;Formally specify finite-state transition systems as transition graphs and using symbolic representation.&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;The course is focused on logic, reasoning algorithms and formal methods.&amp;nbsp;&lt;br&gt;In the course we cover several logics widely used in applications ranging from verification of software and hardware to mathematical reasoning. The course will cover formal aspects of propositional logic, quantified propositional logic (QBF), linear temporal logic. We study major reasoning algorithms for these logics including DPLL, tableaux, randomized algorithms, OBDDs. The course also covers formalization of problems such as state transition systems and specification and verification of properties of such systems using logic.&amp;nbsp;&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:14px;"&gt;Lectures&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;22 in total, 2 per week, including some feedback sessions on exercises&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>2</MethodId>
      <MethodName>Written assignment (inc essay)</MethodName>
      <MethodWeight>30%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>My Website of this course will contain a lot of material, including solutions to exercises</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode>COMP11120</UnitCode>
      <UnitTitle>Mathematical Techniques for Computer Science</UnitTitle>
      <RequirementType>Pre-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>COMP11120 (for CS students) and MATH11121 or equivalent (for CM students).&lt;p&gt;&lt;span style="font-size:14px;"&gt;COMP11120 (for CS students) and MATH11121 or equivalent (for CM students).&lt;/span&gt;&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></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>24</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>9</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>
