- Academic Registry
Programme & Unit Catalogues


CM10228: Principles of programming 2

[Page last updated: 27 October 2020]

Follow this link for further information on academic years Academic Year: 2020/1
Further information on owning departmentsOwning Department/School: Department of Computer Science
Further information on credits Credits: 12      [equivalent to 24 CATS credits]
Further information on notional study hours Notional Study Hours: 240
Further information on unit levels Level: Certificate (FHEQ level 4)
Further information on teaching periods Period:
Semester 2
Further information on unit assessment Assessment Summary: CW 50%, EX 50%
Further information on unit assessment Assessment Detail:
  • Course work (CW 50% - Qualifying Mark: 40)
  • Examination (EX 50% - Qualifying Mark: 40)
Further information on supplementary assessment Supplementary Assessment:
Like-for-like reassessment (where allowed by programme regulations)
Further information on requisites Requisites: Before taking this module you must take CM10227
Description: Aims:
To continue the practice of the programming process begun in Principles of Programming 1.
To extend students' understanding of software development to include exogenous and endogenous error handling, defensive programming, hashing and searching.
To further develop the practical skills needed to read programs, write programs, produce programs to solve real world problems and solve problems specific to the programming domain.
To further increase students' ability to program in the specific languages taught and to prepare them to learn different programming languages and programming paradigms.
To develop within students the ability to distinguish between underlying principles of computer programming (e.g. maintainability, efficiency, redundancy and robustness) and those that are development-environment or language specific.
To provide students with further motivation and mechanisms to become independent learners who take control over their education rather passively taking in information.
To provide students with a preliminary understanding of the roles and responsibilities of computer professionals.

Learning Outcomes:
On completion of this unit, students will be able to:
1. Understand the more advanced concepts of programming complete systems.
2. Understand the basics of writing multi-threaded, server-client and GUI software.
3. Design, construct, evaluate and analyse the efficiency of more complex data structures and algorithms.
4. Appreciate the limits of computation.
5. Have some understanding and appreciation of the problems and responsibilities of system delivery, maintenance, administration and relationship to users.

Skills:
Use of IT (T/F,A), Problem Solving (T/F,A), Communication (T/F,A).

Content:
Introduction to programming languages such as C andJava.
Introduction to complexity analysis.
Introduction to more advanced data-structures and algorithms.
Event handling, error handling, basic multi-threading and networking.
Graphical User Interfaces.
Further information on programme availabilityProgramme availability:

CM10228 is a Designated Essential Unit on the following programmes:

Department of Computer Science
  • USCM-AFB06 : BSc(Hons) Computer Science (Year 1)
  • USCM-AAB07 : BSc(Hons) Computer Science with Study year abroad (Year 1)
  • USCM-AKB07 : BSc(Hons) Computer Science with Year long work placement (Year 1)
  • USCM-AFB27 : BSc(Hons) Computer Science and Artificial Intelligence (Year 1)
  • USCM-AAB27 : BSc(Hons) Computer Science and Artificial Intelligence with Study year abroad (Year 1)
  • USCM-AKB27 : BSc(Hons) Computer Science and Artificial Intelligence with Year long work placement (Year 1)
  • USCM-AFB20 : BSc(Hons) Computer Science and Mathematics (Year 1)
  • USCM-AAB20 : BSc(Hons) Computer Science and Mathematics with Study year abroad (Year 1)
  • USCM-AKB20 : BSc(Hons) Computer Science and Mathematics with Year long work placement (Year 1)
  • USCM-AFM01 : MComp(Hons) Computer Science (Year 1)
  • USCM-AAM02 : MComp(Hons) Computer Science with Study year abroad (Year 1)
  • USCM-AKM02 : MComp(Hons) Computer Science with Year long work placement (Year 1)
  • USCM-AFM27 : MComp(Hons) Computer Science and Artificial Intelligence (Year 1)
  • USCM-AAM27 : MComp(Hons) Computer Science and Artificial Intelligence with Study year abroad (Year 1)
  • USCM-AKM27 : MComp(Hons) Computer Science and Artificial Intelligence with Year long work placement (Year 1)
  • USCM-AFM14 : MComp(Hons) Computer Science and Mathematics (Year 1)
  • USCM-AAM14 : MComp(Hons) Computer Science and Mathematics with Study year abroad (Year 1)
  • USCM-AKM14 : MComp(Hons) Computer Science and Mathematics with Year long work placement (Year 1)

Notes:

  • This unit catalogue is applicable for the 2020/21 academic year only. Students continuing their studies into 2021/22 and beyond should not assume that this unit will be available in future years in the format displayed here for 2020/21.
  • Programmes 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.