Academic Handbook Course Descriptors and Programme Specifications

LCSCI5205 Object-Oriented Design Course Descriptor

Course code LCSCI5205 Discipline Computer & Data Science
UK credit 15 US credit 4
FHEQ level 5 Date approved November 2022
Core attributes Analysing and Using Data (AD); Engaging with the Natural and Designed World (ND)
Pre-requisites LCSCI4208 Fundamentals of Computer Science II
Co-requisites None

Course Overview

This course fosters a deeper understanding of the concepts and practice of object-oriented programming and design, including polymorphism, software reuse, and software design patterns. The course equips students with practical program design skills via case studies in modern software libraries and hands-on coding sessions in one or more object-oriented languages.

Learning Outcomes

On successful completion of the course, students will be able to:

Knowledge and Understanding

K1b Critically understand well-established object-oriented design patterns and software engineering practices.
K3b Choose appropriate object-oriented design patterns and use well-established practices to design small to moderately sized programs.

Subject Specific Skills

S1b Critically evaluate the impact of program design decisions on the technical, social and management dimensions of software.
S2b Implement a given software design with correct, well-designed, well-written, well-structured, well-tested and well-documented code.

Transferable and Employability Skills

T3b Participate as part of a team in the design and implementation of software projects.
T3b Demonstrate a sound technical proficiency in written English and skill in selecting vocabulary so as to communicate effectively to specialist and non-specialist audiences.

Teaching and Learning

This course has a dedicated Virtual Learning Environment (VLE) page with a syllabus and range of additional resources (e.g. readings, question prompts, tasks, assignment briefs, discussion boards) to orientate and engage students in their studies.

The scheduled teaching and learning activities for this course are:

Lectures/labs. 40 scheduled hours – typically including induction, consolidation or revision, and assessment activity hours:

  • Version 1:All sessions in the same sized group, or
  • Version 2: most of the sessions in larger groups; some of the sessions in smaller groups

Faculty hold regular ‘office hours’, which are opportunities for students to drop in or sign up to explore ideas, raise questions, or seek targeted guidance or feedback, individually or in small groups.

Students are to attend and participate in all the scheduled teaching and learning activities for this course and to manage their directed learning and independent study.

Indicative total learning hours for this course: 150

Assessment

Both formative and summative assessment are used as part of this course, with purely formative opportunities typically embedded within interactive teaching sessions, office hours, and/or the VLE.

Summative Assessments

AE: Assessment Activity Weighting

(%)

Duration Length

(words)

1 Set Exercises 70 24-32 hours  
2 Written Assignment – Group 30   2,500

Further information about the assessments can be found in the Course Syllabus.

Feedback

Students will receive formative and summative feedback in a variety of ways, written (e.g. marked up on assignments, through email or the VLE) or oral (e.g. as part of interactive teaching sessions or in office hours).

Indicative Reading

Note: Comprehensive and current reading lists are produced annually in the Course Syllabus or other documentation provided to students; the indicative reading list provided below is for a general guide and part of the approval/modification process only.

  • Joshua Bloch. 2008. Effective Java, Second Edition. Addison-Wesley.
  • Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  • Peter Sestoft. 2005. Java Precisely, Second Edition. MIT Press.

Indicative Topics

Note: Comprehensive and current topics for courses are produced annually in the Course Syllabus or other documentation provided to students; the indicative topics provided below is used as a general guide and part of the approval/modification process only.

  • Review of object-oriented programming concepts (object, class, meta-class, etc.)
  • Polymorphism in object-oriented programming languages
  • Code reuse via inheritance and composition
  • Software design patterns
  • Graphical design notations

Version History

Title: LCSCI5205 Object-Oriented Design

Approved by: Dr Alison Statham

Location: academic-handbook/programme-specifications-and-handbooks/undergraduate-programmes

Version number Date approved Date published Owner Proposed next review date Modification (as per AQF4) & category number
1.1 July 2023 September 2024 Dr Alexandros Koliousis November 2027 Corrections/clarifications to documents which do not change approved content or learning outcomes
1.0 November 2022 January 2023 Dr Alexandros Koliousis November 2027