CP2003:03
Principles of Programming Languages
Townsville
Prerequisites: CP2001
39 lectures, 39 tutorials. Second semester.
The programming language hierarchy; assembly language programming; high-level languages; data types; sequence control; data control; storage management; object-oriented programming languages; network programming; study and comparison of a number of programming languages.
Learning Objectives:
- understand how computers can be programmed at different levels of abstraction using different programming languages and appreciate the importance of the study of programming language design and implementation in computer science;
- understand how programming language concepts such as data typing, object modelling, naming and binding, expressions, functions and control constructs can be combined to enable problem solving in programming languages;
- understand the flexibility available to programming language designers and how it results in languages with different flavours suitable for different problem domains;
- understand the issues and implementation of network programs and write small-to-medium sized network programs;
- write small-to-medium sized assembly language programs for a real machine;
- write small-to-medium sized programs in programming languages with different characteristics from Java and C.
Assessment in this subject involves significant on-course assessment including assignments and tests and an examination at the end of the semester. The full details of the assessment are handed out to students in the class in the first week of the semester in which the subject is offered and posted on the Web.
[Contents]