- Academic Registry
Course & Unit Catalogues


CM12003: Programming 1

[Page last updated: 03 June 2024]

Academic Year: 2024/25
Owning Department/School: Department of Computer Science
Credits: 10 [equivalent to 20 CATS credits]
Notional Study Hours: 200
Level: Certificate (FHEQ level 4)
Period:
Semester 1
Assessment Summary: CWSI 50%, EXCB 50%
Assessment Detail:
  • Set exercises Individual (CWSI 50%)
  • Closed-book written examination (EXCB 50%)
Supplementary Assessment:
Like-for-like reassessment (where allowed by programme regulations)
Requisites:
Learning Outcomes: By the end of the unit, you will be able to:
  • write programs in a typed functional programming language,
  • use recursion,
  • use basic inductive data structures and algorithms,
  • use basic higher-order programming constructs,
  • apply basic debugging and testing methods,
  • evaluate the complexity of given algorithms in basic terms.



Synopsis: You will write programs in a high-level functional computer programming style. You will learn about fundamental programming concepts such as recursion, inductive data structures, and types. No programming background is assumed.

Content: Typical topics include: programming in a high-level typed functional language such as Haskell; functional control structures including conditionals, recursion, and higher-order functions; inductive data structures such as lists and trees, and basic algorithms operating on them; basic higher-order functions over inductive data such as maps and folds; an introduction to the use and purpose of types in programming; basic testing and debugging methods; basic complexity analysis of algorithms.

Course availability:

CM12003 is a Must Pass Unit on the following courses:

Department of Computer Science
  • USCM-AFB30 : BSc(Hons) Computer Science (Year 1)
  • USCM-AFB31 : BSc(Hons) Computer Science and Artificial Intelligence (Year 1)
  • USCM-AKB31 : BSc(Hons) Computer Science and Artificial Intelligence with professional placement (Year 1)
  • USCM-AKB31 : BSc(Hons) Computer Science and Artificial Intelligence with study abroad (Year 1)
  • USCM-AFB32 : BSc(Hons) Computer Science and Mathematics (Year 1)
  • USCM-AKB32 : BSc(Hons) Computer Science and Mathematics with professional placement (Year 1)
  • USCM-AKB32 : BSc(Hons) Computer Science and Mathematics with study abroad (Year 1)
  • USCM-AKB30 : BSc(Hons) Computer Science with professional placement (Year 1)
  • USCM-AKB30 : BSc(Hons) Computer Science with study abroad (Year 1)
  • USCM-AFM30 : MComp(Hons) Computer Science (Year 1)
  • USCM-AFM31 : MComp(Hons) Computer Science and Artificial Intelligence (Year 1)
  • USCM-AKM31 : MComp(Hons) Computer Science and Artificial Intelligence with professional placement (Year 1)
  • USCM-AKM31 : MComp(Hons) Computer Science and Artificial Intelligence with study abroad (Year 1)
  • USCM-AFM32 : MComp(Hons) Computer Science and Mathematics (Year 1)
  • USCM-AKM32 : MComp(Hons) Computer Science and Mathematics with professional placement (Year 1)
  • USCM-AKM32 : MComp(Hons) Computer Science and Mathematics with study abroad (Year 1)
  • USCM-AKM30 : MComp(Hons) Computer Science with professional placement (Year 1)
  • USCM-AKM30 : MComp(Hons) Computer Science with study abroad (Year 1)

Notes:

  • This unit catalogue is applicable for the 2024/25 academic year only. Students continuing their studies into 2025/26 and beyond should not assume that this unit will be available in future years in the format displayed here for 2024/25.
  • Courses and units are subject to change in accordance with normal University procedures.
  • Availability of units will be subject to constraints such as staff availability, minimum and maximum group sizes, and timetabling factors as well as a student's ability to meet any pre-requisite rules.
  • Find out more about these and other important University terms and conditions here.