COMP6361 Principles of Programming Languages
COMP6361 is only available under certain award programs.
| Offered By | Department of Computer Science |
|---|---|
| Academic Career | Graduate Coursework |
| Course Subject | Computer Science |
| Offered in | Second Semester, 2009 |
| Unit Value | 6 units |
| Course Description |
The course is built around an investigation of what programming languages are, and the notion of programs as artefacts. Two key aspects of the study of programming languages are their semantics, and their syntax. We will survey some of the fundamental principles of the semantics and computational behaviour of programs, including the lambda calculus, types and fixed-points. Rigorous proofs of properties of programs, such as are needed for safety-critical software, or for program transformations such as are carried out by optimising compilers, require a formal description of the 'meaning' and behaviour of programs. We will study two of the dominant approaches: denotational semantics and opertional semantics. In each case, standard proof techniques will be developed and applied. The syntax of programming languages is routinely defined by well-understood means, in terms of formal grammars and their relation to certain classes of automata. We will investigate the algorithms underlying standard automata-bsed compiler generators and make practical use of them to construct simle translators.
|
| Learning Outcomes |
Students who succeed in all aspects of this course will be able to:
|
| Course Classification(s) | AdvancedAdvanced courses are designed for students having reached 'first degree' level of assumed knowledge, which provide a deep understanding of contemporary issues; or 'second degree' and higher levels of knowledge; or for transition to research training programs. and TransitionalTransitional courses are designed for students from a broad range of backgrounds and learning achievements, which provide for the acquisition of generic skills; or an informed understanding of contemporary issues; or fundamental knowledge for transition to Advanced or Specialist courses. |
| Areas of Interest | Computer Science |
| Requisite Statement |
Enrolment in the Master of Computing or Master of Computing (Honours) |
The information published on the Study at ANU 2009 website applies to the 2009 academic year only. All information provided on this website replaces the information contained in the Study at ANU 2008 website.




