<?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>COMP16321</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Introduction to Programming 1</Title>
  </UnitTitle>
  <MaxUnits Applicant="Y" Label="Credit rating" Student="Y">
    <Units>20</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 1</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>Gareth Henshall</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 :   10.0</MaxUnits>
    </Ects>
  </OfferedBy>
  <MarketingOverview Applicant="Y" Label="Marketing Course unit overview" Student="">
    <Content>&lt;p&gt;Programming is a core skill in the digital era, underpinning innovation in virtually every domain of computing, from web and mobile apps to scientific research and intelligent systems. This unit introduces students to the foundational concepts of programming through Python, a widely-used and versatile programming language known for its readability and broad ecosystem.&lt;/p&gt;&lt;p&gt;The course begins by exploring the building blocks of programming: variables, data types, and control structures such as selection and iteration. From these fundamentals, students’ progress into practical techniques like file handling and modular programming using functions. They will learn to structure their programs using functions, leverage external libraries and packages, and apply best practices for writing clean, maintainable, and secure code.&lt;/p&gt;&lt;p&gt;As students gain confidence, they will investigate more applied topics such as graphical interfaces and animation, enabling the development of interactive applications. Object-oriented programming principles will be introduced to illustrate how complex software systems are structured and maintained. The course also places a strong emphasis on real-world applicability, teaching secure coding practices and exploring how to visualize data effectively, skills increasingly vital across industries.&lt;/p&gt;&lt;p&gt;Throughout the unit, students will not only learn how to write Python programs, but also how to think computationally, analysing problems, designing algorithmic solutions, and evaluating code quality in terms of performance, maintainability, and correctness. They will build confidence in estimating development effort, selecting appropriate libraries and tools, and reflecting on the purpose and structure of existing code.&lt;/p&gt;&lt;p&gt;By combining theory, hands-on programming, and creative problem-solving, this unit equips students with the essential skills to begin their journey as confident, capable software developers.&amp;nbsp;&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;Programming is a core skill in the digital era, underpinning innovation in virtually every domain of computing, from web and mobile apps to scientific research and intelligent systems. This unit introduces students to the foundational concepts of programming through Python, a widely-used and versatile programming language known for its readability and broad ecosystem.&lt;/p&gt;&lt;p&gt;The course begins by exploring the building blocks of programming: variables, data types, and control structures such as selection and iteration. From these fundamentals, students’ progress into practical techniques like file handling and modular programming using functions. They will learn to structure their programs using functions, leverage external libraries and packages, and apply best practices for writing clean, maintainable, and secure code.&lt;/p&gt;&lt;p&gt;As students gain confidence, they will investigate more applied topics such as graphical interfaces and animation, enabling the development of interactive applications. Object-oriented programming principles will be introduced to illustrate how complex software systems are structured and maintained. The course also places a strong emphasis on real-world applicability, teaching secure coding practices and exploring how to visualize data effectively, skills increasingly vital across industries.&lt;/p&gt;&lt;p&gt;Throughout the unit, students will not only learn how to write Python programs, but also how to think computationally, analysing problems, designing algorithmic solutions, and evaluating code quality in terms of performance, maintainability, and correctness. They will build confidence in estimating development effort, selecting appropriate libraries and tools, and reflecting on the purpose and structure of existing code.&lt;/p&gt;&lt;p&gt;By combining theory, hands-on programming, and creative problem-solving, this unit equips students with the essential skills to begin their journey as confident, capable software developers.&amp;nbsp;&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;This course offers a comprehensive introduction to programming through Python, one of the most accessible and widely used programming languages today. Students will explore core programming concepts including variables, control structures, functions, file handling, and modular design. The curriculum also covers practical skills such as using libraries, building graphical user interfaces, implementing animations, and visualising data. With an emphasis on writing maintainable and secure code, students will gain the confidence to analyse, design, and implement solutions to real-world problems. Through a blend of foundational theory and hands-on coding experience, this course equips learners with the essential tools and mindset to begin their journey as capable, problem-solving developers.&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;Evaluate the quality of code (correctness, maintainability, efficiency).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 2: &lt;/strong&gt;Estimate the development time needed to implement a solution to a problem.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 3:&lt;/strong&gt; Explain what a given (simple) program does.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 4: &lt;/strong&gt;Design programs to solve given (simple) problems.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 5: &lt;/strong&gt;Explain basic programming constructs and describe their manifestation in different programming languages.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 6: &lt;/strong&gt;Identify appropriate programming resources (tools, libraries) needed to implement a solution to a problem.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ILO 7: &lt;/strong&gt;Implement maintainable solutions to problems using appropriate development tools.&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>Oral communication</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Problem solving</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Written communication</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;Week 1:&lt;/strong&gt; Variable, States &amp;amp; Types&lt;br/&gt;&lt;strong&gt;Week 2:&lt;/strong&gt; Selection &amp;amp; Iteration&lt;br/&gt;&lt;strong&gt;Week 3:&lt;/strong&gt; File Handling&lt;br/&gt;&lt;strong&gt;Week 4:&lt;/strong&gt; Functions&lt;br/&gt;&lt;strong&gt;Week 5:&lt;/strong&gt; Packages &amp;amp; Libraries&lt;br/&gt;&lt;strong&gt;Week 6:&lt;/strong&gt; Reading Week&lt;br/&gt;&lt;strong&gt;Week 7:&lt;/strong&gt; Graphics &amp;amp; User Interfaces&lt;br/&gt;&lt;strong&gt;Week 8:&lt;/strong&gt; Graphics &amp;amp; Animation&lt;br/&gt;&lt;strong&gt;Week 9:&lt;/strong&gt; Secure Coding&lt;br/&gt;&lt;strong&gt;Week 10:&lt;/strong&gt; General Intro to OOP&lt;br/&gt;&lt;strong&gt;Week 11:&lt;/strong&gt; Data Visualisation in Python&lt;br/&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p&gt;Lectures [10 in total]&lt;br/&gt;Videos [ various each week]&lt;br/&gt;Workshops [8 in total]&lt;br/&gt;Drop-In Laboratory Session [1 per week]&lt;br/&gt;Formative Quizzes [1 per week]&lt;br/&gt;Additional Reading&amp;nbsp;&lt;br/&gt;&amp;nbsp;&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>8</MethodId>
      <MethodName>Practical skills assessment</MethodName>
      <MethodWeight>30%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p class="MsoNormal"&gt;Workshops, Drop-In Labs, Discussion Boards, Formal through Coursework&lt;p&gt;&lt;/p&gt;&lt;/p&gt;</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode>COMP16412</UnitCode>
      <UnitTitle>Introduction to Programming 2</UnitTitle>
      <RequirementType>Co-Requisite</RequirementType>
      <Description>Compulsory</Description>
    </Requirement>
    <AdditionalRequirement>&lt;p&gt;COMP16412 is a co-requisite which means it must be taken with this unit.&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>N</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>11</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>22</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Work based learning</ActivityType>
        <Hours>40</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>125</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content></Content>
  </Notes>
</CourseUnit>
