Papers
 
Level 1 Papers

Level 2 Papers

Level 3 Papers

Level 4 Papers

Level 5 Papers

Summer School Papers

Industry Papers

CGRD343
Computer Graphic Design 3

CGRD344
Computer Graphic Design 4

CGRD350
Intern Project

CGRD353
Advanced Studies in Visual Communication

CGRD360
Degree Project

CGRD361
Portfolio Preparation

COMP301
Operating Systems

COMP311
Computer Systems Architecture

COMP312
Computer Networks

COMP313
Topics in Programming Languages

COMP314
Software Engineering Project

COMP315
Information Systems Development

COMP316
Artificial Intelligence Techniques and Applications

COMP317
Design and Analysis of Algorithms

COMP321
Practical Data Mining

COMP324
Interactive Multimedia Systems

COMP325
Human-Computer Interaction

COMP329
Database Systems

COMP333
Web Applications Development

COMP336
Graphics and Computer Games

COMP340
Reasoning about Programs

COMP371
Computer Science Placement 1

COMP372
Computer Science Placement 2

COMP373
Computer Science Placement 3

COMP390
Directed Study

2015 Papers
Level 3 Papers >> All Papers
COMP313A Topics in Programming Languages

20 Points

This paper deals with the design, implementation and use of programming languages. Topics will be selected from the following:

  • the history and future of programming languages
  • grammars and parsing techniques
  • language implementation issues (interpreters, compilers, garbage collection)
  • practical language semantics
  • language support for object-orientation
  • declarative programming languages

Learning Outcomes
Students will be able to:

  • write programs in at least one functional language, which will mean solving computational problems and using such a language to define functions and modules which express those solutions;
  • describe what functions are defined by a piece of code in this language;
  • explain what those functions do;
  • compare and evaluate different solutions to problems written in different languages;
  • express the standard semantics for common imperative language constructs
  • write a simple interpreter for an imperative language in a functional language./li>

Pre Requisite Papers
COMP200 Computer Systems and one of
COMP203 Programming with Data Structures or
COMP241 Software Engineering Development

Lecturers and Tutors

Timetable
Official Timetable Information

Workload
On average you should expect to spend 12-14 hours per week on this course, in the following proportions: Lectures:3, Reading:2, Practicals:7-9.

Required Reading
http://en.wikibooks.org/wiki/Haskell

This is an open-source textbook---we will be working through some of it during the course.

Recommended Reading
"The Haskell School of Expression", Paul Hudak, Cambridge University Press.

"Programming in Haskell", Graham Hutton, Cambridge University Press.

Other Reading Material
"The Denotational Description of Programming Languages", Michael Gordon, Springer-Verlag

Online Support
The paper will be supported in Moodle.

Computing Resources
Programming work will be done in lab 6 (though this is yet to be confirmed).

Means of Assessment
Assignments must be submitted, via Moodle, by the due date. All assignments must be submitted as as plain text since we will want to run your programs etc. We will not mark submissions in any other format. We will try to get assignments marked within two weeks.

Assessment Ratio
Internal assessment/final examination ratio 1:0

Assessment Components
Internal assessment will consist of several individual programming assignments, and some tests.

An overall mark of 50% is required for a pass.

Grading Schedule

Attendance Policy
Lecture attendance is expected. The course handouts provided are not comprehensive (they are really to guide me through the material—I'll say and do much more in the lectures than is written on the handouts), so additional material will be covered in the lectures. You are responsible for taking note of all material covered in the lectures.

Academic Integrity
Follow this link for Academic Integrity information.

Performance Impairment
Follow this link for information on Performance Impairment.

Student Concerns and Complaints
Follow this link for Student Concerns and Complaints information.

Application for Extension
Follow this link for information on applying for an Extension.

Review of Grade
Follow this link for information on applying for a Review of Grade.

University Regulations
Your attention is drawn to the following regulations and policies, which are published in the University Calendar:

  2007 FCMS. The University of Waikato - Te Whare Wananga o Waikato