The University of Southampton
Courses

COMP2209 Programming III

Module Overview

This module aims to introduce students to recursion and to the principles of recursive, applicative and functional programming. In it, they will use various functional abstractions to control the complexity of programming, and will use abstraction mechanisms in programming. They will also study the principles of program evaluation and explore the evaluation mechanism via a meta-circular evaluator.

Aims and Objectives

Module Aims

This module aims to introduce students to recursion and to the principles of recursive, applicative and functional programming.

Learning Outcomes

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • The key mechanisms underpinning the functional programming model
  • The principles of evaluation of programming language
Subject Specific Practical Skills

Having successfully completed this module you will be able to:

  • Program in a functional style
  • Evaluate programs step by step
Subject Specific Intellectual and Research Skills

Having successfully completed this module you will be able to:

  • Discuss and perform the decomposition of problems using procedural, data and metalinguistic abstractions
  • Understand the concept of functional programming and be able to write programs in this style in the context of Scheme
  • Reason about evaluation mechanisms

Syllabus

Recursive Techniques recursion on numbers, lists, trees, graphs. Procedural Abstraction: - Procedures as arguments - Procedures as return values Objects: - Structures - Closures - Streams and delayed evaluation Metalinguistic Abstraction Environment model: - Evaluation - Metacircular evaluators - Functional programming techniques in object oriented languages

Learning and Teaching

TypeHours
Preparation for scheduled sessions18
Follow-up work18
Revision10
Completion of assessment task29
Wider reading or practice27
Lecture36
Tutorial12
Total study time150

Resources & Reading list

Abelson H and Sussman GJ with Sussman J (1996). Structure and Interpretation of Computer Programs. 

Assessment

Summative

MethodPercentage contribution
Exam 35%
Exercise 65%

Referral

MethodPercentage contribution
Exam 100%

Repeat Information

Repeat type: Internal & External

Linked modules

Pre-requisites: COMP1202 (Programming I) AND COMP1206 (Programming 2)

Share this module Facebook Google+ Twitter Weibo

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×