精东传媒app

UniSQ Logo
The current and official versions of the course specifications are available on the web at .
Please consult the web for updates that may occur during the year.

CSC8503 Principles of Programming Languages

Semester 1, 2022 Online
Units : 1
Faculty or Section : Faculty of Health, Engineering and Sciences
School or Department : School of Mathematics, Physics & Computing
Grading basis : Graded
Course fee schedule : /current-students/administration/fees/fee-schedules

Staffing

Examiner:

Requisites

Pre-requisite: CSC2402 or enrolled in CSC2402 at the same time as CSC8503 or Students must be enrolled in one of the following Programs: GDTI or GCSC or MCTN

Overview

Programming languages are the fundamental means of communication between humans and computers. The number of available programming languages is large, and it continues to increase. However, programming languages are more alike than different. In order to learn and grasp new languages with minimum time and effort, computing professionals need to know the structure, the semantics and the elements that are common in all programming languages. They also need to understand the design principles of various programming languages and be familiar with the similarities and differences between programming languages and programming language paradigms. This course covers the basic design principles of programming languages which forms the basis for analysing and evaluating programming languages.

This course addresses the basic principles of programming languages. It emphasises the structure and the semantics of programming languages. It covers the major elements of languages such as types, objects, names, scopes, expressions, functions, procedures, parameters, control structures and run-time storage management. This course introduces aspects of programming language translation such as lexical analysis, parsing, interpretation, and compilation. Students will gain a deep understanding of semantics of programming languages as well as their implementation and apply this knowledge to analyse and evaluate existing programming languages.

Course learning outcomes

On successful completion of this course students will be able to:

  1. Read and write a formal description of programming language syntax;
  2. Identify major features of programming languages, with a particular focus on imperative language features;
  3. Understand the advantages of different language paradigms, with a particular emphasis on functional and logic programming languages;
  4. Critically evaluate the design features of common programming languages;
  5. Build simple programming language translators.

Topics

Description Weighting(%)
1. Language evolution and evaluation 5.00
2. Formal description of languages 10.00
3. Programming language translation 15.00
4. Variables and data types 10.00
5. Expression and statements 6.00
6. Subprogram design and implementation 15.00
7. Functional languages 15.00
8. Abstract data types 3.00
9. Exceptions 3.00
10. Object oriented languages 3.00
11. Logic languages 15.00

Text and materials required to be purchased or accessed

Sebesta, R.W 2016, Concepts of programming languages, 11th edn, Pearson Higher Ed, USA.
(ISBN 9781292100555 or alternatively eBook version from .)
Other material that will assist in study of this course will be available from the course USQ精东传媒appDesk page.

Student workload expectations

To do well in this subject, students are expected to commit approximately 10 hours per week including class contact hours, independent study, and all assessment tasks. If you are undertaking additional activities, which may include placements and residential schools, the weekly workload hours may vary.

Assessment details

Approach Type Description Group
Assessment
Weighting (%) Course learning outcomes
Assignments Written Problem Solving No 15 1,2
Assignments Practical Tech and/or scntific artefact 1 No 20 3
Assignments Practical Tech and/or scntific artefact 2 No 20 3
Examinations Non-invigilated Time limited online examinatn No 45 1,2,3,4,5
Date printed 10 February 2023