<?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>COMP27112</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Introduction to Visual Computing</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 2</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>Terence Morley</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 field of Visual Computing brings together two fundamentally important aspects of modern computing: Computer Graphics - concerned with the synthesis of images from computer models - and Image Processing, which deals with analysis and understanding of images by computers. There are now considerable overlaps between these two, traditionally separate, fields of research and their applications.&lt;/p&gt;&lt;p&gt;The Visual Computing theme consists of the following course units:&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 2: Introduction to Visual Computing (Computer Graphics and Image Processing) (10 credits)&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 3: Graphics &amp;amp; Virtual Environments (10 credits)&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 3: Computer Vision (10 credits)&lt;/p&gt;&lt;p&gt;The second-year Introduction to Visual Computing unit covers the following topics.&lt;/p&gt;&lt;p&gt;Image Transformations (2 weeks)&lt;/p&gt;&lt;p&gt;Image representations: resolution, colour models. Image transformations: point transformations (brightness, contrast, grey-level mapping, windowing, colour transformations and colour spaces) and geometrical transformations (including camera calibration). This part also describes some of the history and applications of image processing.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Image Enhancement (3 weeks)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Local processes, convolution, image smoothing (local averaging, weighted averaging), size of support, Gaussian mask. Edge enhancement (sharpening). Edge detection (Prewitt, Sobel, Canny, Marr-Hildreth), Line detection (Hough transform). Thresholding, blob detection, simple measurement (geometrical features such as perimeter and area). Rank order filters (median, max-min). This part also describes image file formats, camera exposure and image compression.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fundamentals (1 week)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;2 and 3 D Coordinate systems. Vectors, matrices and basic vector/matrix operations. 2 and 3D geometric transformations (translation, rotation, scaling, affine).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3D Modelling and Illumination (4 weeks)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The programmable graphics pipeline. 3D graphics primitives, meshes, models, and scene graphs. Rasterisation and hidden surface removal. The camera model, viewing and projection. Local illumination: ambient, diffuse, specular. Gouraud and Phong shading. Writing shaders with GLSL. Surface detail: textures, bump mapping.&amp;nbsp;&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;The field of Visual Computing brings together two fundamentally important aspects of modern computing: Computer Graphics - concerned with the synthesis of images from computer models - and Image Processing, which deals with analysis and understanding of images by computers. There are now considerable overlaps between these two, traditionally separate, fields of research and their applications.&lt;/p&gt;&lt;p&gt;The Visual Computing theme consists of the following course units:&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 2: Introduction to Visual Computing (Computer Graphics and Image Processing) (10 credits)&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 3: Graphics &amp;amp; Virtual Environments (10 credits)&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 3: Computer Vision (10 credits)&lt;/p&gt;&lt;p&gt;The second-year Introduction to Visual Computing unit covers the following topics.&lt;/p&gt;&lt;p&gt;Image Transformations (2 weeks)&lt;/p&gt;&lt;p&gt;Image representations: resolution, colour models. Image transformations: point transformations (brightness, contrast, grey-level mapping, windowing, colour transformations and colour spaces) and geometrical transformations (including camera calibration). This part also describes some of the history and applications of image processing.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Image Enhancement (3 weeks)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Local processes, convolution, image smoothing (local averaging, weighted averaging), size of support, Gaussian mask. Edge enhancement (sharpening). Edge detection (Prewitt, Sobel, Canny, Marr-Hildreth), Line detection (Hough transform). Thresholding, blob detection, simple measurement (geometrical features such as perimeter and area). Rank order filters (median, max-min). This part also describes image file formats, camera exposure and image compression.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fundamentals (1 week)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;2 and 3 D Coordinate systems. Vectors, matrices and basic vector/matrix operations. 2 and 3D geometric transformations (translation, rotation, scaling, affine).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3D Modelling and Illumination (4 weeks)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The programmable graphics pipeline. 3D graphics primitives, meshes, models, and scene graphs. Rasterisation and hidden surface removal. The camera model, viewing and projection. Local illumination: ambient, diffuse, specular. Gouraud and Phong shading. Writing shaders with GLSL. Surface detail: textures, bump mapping.&amp;nbsp;&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;The importance of visual interfaces has never been greater. Graphical interfaces have become ubiquitous, from desk-top interaction, to games and three-dimensional virtual environments. In parallel, there has been an explosion in digital image processing and analysis. We take for granted digital photography and video, while our health services rely on digital X-ray systems, CT and MRI scanners for seeing inside our bodies. Meanwhile, the visualization of computer simulations is an essential aspect of product design and testing, genome exploration, drug design, and climate modelling. The demand for computer scientists with advanced knowledge of such areas has never been greater. The theme will enhance your knowledge and understanding, answering such questions as: How are three-dimensional environments represented in a computer, and how are interactive 3D worlds created? How are 2D and 3D representations combined? For example, how can we recover 3D geometry from 2D images? How are the basic mathematical techniques and algorithms used to build useful applications? How are images stored, processed and manipulated? How can computers interpret images captured by cameras and other recording devices?&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; Apply the mathematics of 3D transformations and viewing&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 2: &lt;/strong&gt;Design systems using programmable-pipeline WebGL&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 3: &lt;/strong&gt;Design image processing pipelines to connect together multiple image processing techniques for a desired application&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 4:&lt;/strong&gt; Describe the principles of interactive computer graphics&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 5:&lt;/strong&gt; Implement fundamental computer graphics algorithms (using three.js)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 6:&lt;/strong&gt; Implement fundamental image processing algorithms (using C/C++ and the popular OpenCV library)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 7:&lt;/strong&gt; Describe the principles of image processing&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 8:&lt;/strong&gt; Describe the principles of the rendering pipeline&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>Project management</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Problem solving</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content>&lt;p&gt;The field of Visual Computing brings together two fundamentally important aspects of modern computing: Computer Graphics - concerned with the synthesis of images from computer models - and Image Processing, which deals with analysis and understanding of images by computers. There are now considerable overlaps between these two, traditionally separate, fields of research and their applications.&lt;/p&gt;&lt;p&gt;The Visual Computing theme consists of the following course units:&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 2: Introduction to Visual Computing (Computer Graphics and Image Processing) (10 credits)&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 3: Graphics &amp;amp; Virtual Environments (10 credits)&lt;/p&gt;&lt;p&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Year 3: Computer Vision (10 credits)&lt;/p&gt;&lt;p&gt;The second-year Introduction to Visual Computing unit covers the following topics.&lt;/p&gt;&lt;p&gt;Image Transformations (2 weeks)&lt;/p&gt;&lt;p&gt;Image representations: resolution, colour models. Image transformations: point transformations (brightness, contrast, grey-level mapping, windowing, colour transformations and colour spaces) and geometrical transformations (including camera calibration). This part also describes some of the history and applications of image processing.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Image Enhancement (3 weeks)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Local processes, convolution, image smoothing (local averaging, weighted averaging), size of support, Gaussian mask. Edge enhancement (sharpening). Edge detection (Prewitt, Sobel, Canny, Marr-Hildreth), Line detection (Hough transform). Thresholding, blob detection, simple measurement (geometrical features such as perimeter and area). Rank order filters (median, max-min). This part also describes image file formats, camera exposure and image compression.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Fundamentals (1 week)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;2 and 3 D Coordinate systems. Vectors, matrices and basic vector/matrix operations. 2 and 3D geometric transformations (translation, rotation, scaling, affine).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3D Modelling and Illumination (4 weeks)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The programmable graphics pipeline. 3D graphics primitives, meshes, models, and scene graphs. Rasterisation and hidden surface removal. The camera model, viewing and projection. Local illumination: ambient, diffuse, specular. Gouraud and Phong shading. Writing shaders with GLSL. Surface detail: textures, bump mapping.&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;24 hours spread over 12 weeks&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:14px;"&gt;Laboratories&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;10 hours in total, 5 2-hour sessions.&lt;/p&gt;&lt;div&gt;Three.js laboratory exercises.&amp;nbsp;&lt;/div&gt;&lt;div&gt;C Programming, manipulating images and finding objects using OpenCV.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&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>8</MethodId>
      <MethodName>Practical skills assessment</MethodName>
      <MethodWeight>30%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p&gt;Face to face feedback and marking&amp;nbsp; in programming laboratories.&lt;/p&gt;&lt;div&gt;Three.js laboratory exercises.&amp;nbsp;&lt;/div&gt;&lt;div&gt;C Programming, manipulating images and finding objects using OpenCV.&lt;/div&gt;&lt;p&gt;Workshop: 10 hours&lt;/p&gt;&lt;p&gt;Demonstration: 10 hours&lt;/p&gt;&lt;p&gt;Practical: 20 hours&lt;/p&gt;&lt;p&gt;Lecture: 20 hours&lt;/p&gt;&lt;p&gt;Independent Study: 40 hours&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode></UnitCode>
      <UnitTitle></UnitTitle>
      <RequirementType></RequirementType>
      <Description></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;ol&gt;&lt;li&gt;Angel, Edward. (2015). &lt;i&gt;Interactive computer graphics : a top-down approach with WebGL&lt;/i&gt;. Pearson Education Limited. ISBN:&lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,9781292019338&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; 9781292019338&lt;/a&gt;&lt;br&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Morris, Tim. (2004). &lt;i&gt;Computer vision and image processing&lt;/i&gt;. Palgrave Macmillan. ISBN:&lt;a href="https://www.librarysearch.manchester.ac.uk/discovery/search?query=isbn,contains,0333994515&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; 0333994515&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>Demonstration</ActivityType>
        <Hours>10</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Lectures</ActivityType>
        <Hours>20</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>30</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>40</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content></Content>
  </Notes>
</CourseUnit>
