School of Electronics and Computer Science:
COMP2002 Computational Systems
Basic Information
| School | Dept- Electronics & Computer Science |
|---|---|
| Known as | COMP2002. |
| Session and Semester | Semester One, 2011 - 2012 |
| Credit | 10 Credit Points |
| Unit Leader | Professor Luc Moreau |
| Teachers | Dr Nicholas Gibbins |
| Moderators | Dr Corina Cirstea |
| Study | 30 hours |
| Assessment | Coursework 70%, Examination 30% |
| Coursework | 2 programming items |
| Teaching | Lectures 24, Tutorials 12 |
| Prerequisites and Exclusions | Prerequisites: COMP1003 - Advanced Programming and COMP1004 - Programming Principles and COMP1009 - Data Structures and Algorithms. |
| Referral | On 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 method | Number | % contribution to final mark |
|---|---|---|
| Coursework [cwork] | 1 | 35 |
| Coursework [cwork] | 2 | 35 |
| Exam [exam] | 1 | 30 |
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.
