
COMPX307-21B (HAM)
Principles of Programming Languages
15 Points
Staff
Convenor(s)
Steve Reeves
4398
G.1.26
steve.reeves@waikato.ac.nz
|
|
Lecturer(s)
Colin Pilbrow
9584
G.1.29
colin.pilbrow@waikato.ac.nz
|
|
Administrator(s)
Librarian(s)
You can contact staff by:
- Calling +64 7 838 4466 select option 1, then enter the extension.
-
Extensions starting with 4, 5, 9 or 3 can also be direct dialled:
- For extensions starting with 4: dial +64 7 838 extension.
- For extensions starting with 5: dial +64 7 858 extension.
- For extensions starting with 9: dial +64 7 837 extension.
- For extensions starting with 3: dial +64 7 2620 + the last 3 digits of the extension e.g. 3123 = +64 7 262 0123.
Paper Description
This paper deals with the design, implementation and use of programming languages, and expands your knowledge and expertise beyond imperative languages. Topics will be selected from the following:
- the history and future of programming languages
- grammars and parsing techniques
- language implementation issues (interpreters, compilers)
- programming language semantics
- declarative programming languages
Paper Structure
The paper will be taught via workshops in the relevant lecture theatres and streamed live (and all of which will be Panopto-ed), via a series of courseworks and a couple of tests too. There will also be Panopto-ed lectures which work through the slides available from week to week. You should view these and send me questions for the workshops in that same week.
The workshops will repeat the examples from the lectures and go thorough things in more detail and also, I hope, respond to questions arising from the lectures.
Learning Outcomes
Students who successfully complete the paper should be able to:
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 Components
The internal assessment/exam ratio (as stated in the University Calendar) is 100:0. There is no final exam.
Required and Recommended Readings
Required Readings
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 Readings
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
Workload
Linkages to Other Papers
Prerequisite(s)
Prerequisite papers: COMP200 or COMPX203 and one of COMP203, COMP241, COMPX201, COMPX241