<?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>COMP16412</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Introduction to Programming 2</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>Stian Soiland-Reyes</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;div&gt;	&amp;nbsp;&lt;/div&gt;&lt;div&gt;	This course introduces the concepts of object oriented programming using the Java&lt;/div&gt;&lt;div&gt;	language. The features of the object oriented paradigm will be illustrated through theoretical&lt;/div&gt;&lt;div&gt;	classes, and practical workshops and labs.&lt;/div&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-size:14px;"&gt;This course introduces the concepts of object oriented programming using the Java&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:14px;"&gt;language. The features of the object oriented paradigm will be illustrated through theoretical&lt;/span&gt;&lt;br/&gt;&lt;span style="font-size:14px;"&gt;classes, and practical workshops and labs.&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;To specify, design, test, develop, deploy, debug and run programmes of a significant&lt;br /&gt;complexity using an object-oriented language (ie Java) and its standard platform. To identify&lt;br /&gt;the strengths and weaknesses of the paradigm and the language.&lt;/span&gt;&lt;/p&gt;</Content>
  </Aims>
  <LearningOutcomes Applicant="Y" Label="Learning outcomes" Student="Y">
    <Content>&lt;ul&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;To identify the fundamental building blocks of new programming languages in general&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;Identify the advantages of object-oriented programming.&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;Design classes using the UML notation and write the code of a specified class.&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;Explain and implement object oriented concepts including inheritance, polymorphism, interfaces and abstraction.&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;Identify appropriate situations for reading/writing files from an application, be able to make secure, robust calls out to the relevant file-handling libraries in Java.&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;Use data structures of the Java Collections Framework, and create your own data structures.&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;Build interactive graphical applications using JavaFX that respond to user events and consider some basic usability concerns. Use custom components to achieve these goals where appropriate.&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;Describe the benefits of grouping files into packages. Create and deploy packages, use existing libraries.&lt;/span&gt;&lt;/li&gt;	&lt;li&gt;		&lt;span style="font-size:14px;"&gt;Apply concepts above to existing programming language knowledge, i.e. Python.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt;"&gt;&amp;nbsp;&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>&lt;p&gt;&lt;span style="font-family:&amp;quot;Aptos&amp;quot;,sans-serif;font-size:12.0pt;mso-ansi-language:EN-GB;mso-bidi-font-family:Aptos;mso-bidi-language:AR-SA;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-fareast-language:EN-GB;"&gt;Fundamental design and concepts in programming languages, core code structures, object orientation (classes, interfaces, inheritance, overloading and overriding), primitive and reference types, console and file I/O, error handling, cross-cutting topics (e.g. security, accessibility), data structures (e.g. stack, queue, set), generics, streams, graphical user interfaces in Java FX, using the Java APIs to search and sort, fundamentals of recursion, fundamentals of threading and concurrency.&lt;/span&gt;&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p&gt;&lt;span style="font-family:&amp;quot;Aptos&amp;quot;,sans-serif;font-size:12.0pt;mso-ansi-language:EN-GB;mso-bidi-font-family:Aptos;mso-bidi-language:AR-SA;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-fareast-language:EN-GB;"&gt;Asynchronous independent study material (e.g. videos, reading, online quizzes and formative coursework), group-based workshops, practical lab sessions, Q&amp;amp;A sessions. Activities are supported by academics and GTAs both in-person and through online forums.&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>50%</MethodWeight>
    </Method>
    <Method>
      <MethodId>8</MethodId>
      <MethodName>Practical skills assessment</MethodName>
      <MethodWeight>50%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content></Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode>COMP16321</UnitCode>
      <UnitTitle>Introduction to Programming 1</UnitTitle>
      <RequirementType>Co-Requisite</RequirementType>
      <Description>Compulsory</Description>
    </Requirement>
    <AdditionalRequirement></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="http://studentnet.cs.manchester.ac.uk/syllabus/index.php?code=COMP16412&amp;amp;year=2020"&gt;COMP16412 reading list&lt;/a&gt; can be found on the Department of Computer Science internal pages&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>6</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>33</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>61</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content></Content>
  </Notes>
</CourseUnit>
