School of Electronics and Computer Science:
COMP2002 Computational Systems


Basic Information

SchoolDept- Electronics & Computer Science
Known asCOMP2002.
Session and SemesterSemester One, 2011 - 2012
Credit10 Credit Points
Unit LeaderProfessor Luc Moreau
TeachersDr Nicholas Gibbins
ModeratorsDr Corina Cirstea
Study30 hours
AssessmentCoursework 70%, Examination 30%
Coursework2 programming items
TeachingLectures 24, Tutorials 12
Prerequisites and Exclusions

Prerequisites: COMP1003 - Advanced Programming and COMP1004 - Programming Principles and COMP1009 - Data Structures and Algorithms.

ReferralOn referral, this unit will be assessed 100% by examination.
Syllabus Approved 

Description

Aims

  • To investigate and use the concept of recursion and study the principles of recursive, applicative, and functional programming.
  • To use various functional abstractions to control the complexity of programming, and use abstraction mechanisms in programs.
  • To study the principles of program evaluation.
  • To explore the evaluation mechanism via a meta-circular evaluator.

Learning Outcomes

Knowledge and Understanding

Having successfully completed the 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

Intellectual Skills

Having successfully completed the 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.
  • to reason about evaluation mechanisms.

Practical Skills

Having successfully completed the module, you will be able to:

  • to program in a functional style
  • to evaluate programs step by step.

General Transferable (key) Skills

Having successfully completed the module, you will be able to:

  • Demonstrate an understanding of principles of evaluation of programming language.s

Topics Covered

  • Recursive Techniques
    • recursion on numbers, lists, trees.
  • Procedural Abstraction
    • procedures as arguments
    • procedures as return values
  • Objects
    • structures
    • closures
  • Metalinguistic Abstraction
    • Environment model
    • evaluation
    • metacircular evaluators

Teaching and learning activities

Teaching methods include

  • Lectures
  • On-line Resources

Learning activities include

  • Background reading
  • Writing programs (using DrScheme)
  • Evaluating programs step by step

Methods of assessment

Assessment methodNumber% contribution to final mark
Coursework [cwork]135
Coursework [cwork]235
Exam [exam]130

Resources

Core Resources

  • Abelson H and Sussman GJ with Sussman J., Structure and Interpretation of Computer Programs 2nd Edition, MIT Press, 1996

Taught to

COMP2002

Pt II BSc Computer Science (Compulsory)
Non-existing cohort: "csBScAi2" (Compulsory)
Non-existing cohort: "csBScIm2" (Compulsory)
Pt II MEng Computer Science with Artificial Intelligence (Compulsory)
Pt II MEng Computer Science (Compulsory)
Pt II MEng Computer Science with Distributed Systems & Networks (Compulsory)
Pt II MEng Computer Science with Image and Multimedia Systems (Compulsory)
ECS Socrates Students (Optional)
Pt II BEng Software Engineering (Compulsory)
Pt II MEng Software Engineering (Compulsory)

Students who are not registered on an ECS approved programme may take this module subject to meeting its pre-requisites and the availability of resources. To confirm this, please can you contact the module leader (as listed above) in the first instance. They will then refer you on to the appropriate director of studies for formal approval of your selection.

Change Log

2011-04-04 18:59:37.427 - Roll script