USQ LogoCourse specification
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.

CSC3403 Comparative Programming Languages

Semester 1, 2014 External Toowoomba
Units : 1
Faculty or Section : Faculty of Health, Engineering and Sciences
School or Department : School of Agric, Comp and Environ Sciences

Contents on this page


Examiner: Richard Watson
Moderator: Stijn Dekeyser


Pre-requisite: CSC2402 or USQIT16 or Students must be enrolled in one of the following Programs: GDTI or GCSC or GDGS or GCEN or GDET or METC or MCOT or MCTE or MCOP or MPIT or MSBN or MSMS

Other requisites

Students who do not meet the pre-requisite requirements must obtain approval of the examiner and the program coordinator to be enrolled in this course.


Programming languages are the basic 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 basic structure, the semantics and the basic 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 of programming languages. This course provides such understanding and knowledge.


This course addresses the basic principles of programming languages. It emphasizes 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 and control structures. Run-time storage management is also covered in detail. Students will gain a deep understanding of semantics of programming languages as well as their implementation.


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

  1. provide an introduction to the formal description of programming language syntax and semantics;
  2. study the features of programming languages, with a particular focus on imperative language features;
  3. study and compare different language paradigms, with a particular emphasis on functional and logic programming languages.


Description Weighting(%)
1. Language Evolution and Evaluation 5.00
2. Formal Description of Languages 15.00
3. Variables and Data types 10.00
4. Expressions and Statements 7.00
5. Subprogram Design and Implementation 15.00
6. Functional Languages 18.00
7. Abstract Data Types 4.00
8. Exceptions 4.00
9. Object oriented languages 4.00
10. Logic Languages 18.00

Text and materials required to be purchased or accessed

ALL textbooks and materials available to be purchased can be sourced from USQ's Online Bookshop (unless otherwise stated). (

Please contact us for alternative purchase options from USQ Bookshop. (

  • Sebesta, R.W 2013, Concepts of Programming Languages, 10th edn, Addison-Wesley, Boston, Mass.
  • Other material that will assist in study of this course will be available from the course USQStudyDesk page.

Reference materials

Reference materials are materials that, if accessed by students, may improve their knowledge and understanding of the material in the course and enrich their learning experience.
  • Bird, Richard 1998, Introduction to Functional Programming using Haskell, 2nd edn, Prentice-Hall, London.
  • Bratko, Ivan 2001, Prolog programming for artificial intelligence, Addison-Wesley, Harlow.
  • Davie, Antony, J.T 1992, An Introduction to Functional Programming Systems using Haskell, Cambridge University Press, Cambridge.
  • Thompson, S 1999, Haskell: The Craft of Functional Programming, 2nd edn, Addison-Wesley, Harlow.
  • Students are not required to read or purchase these books. Study of these books could increase a student's understanding of the Haskell language, and improve their chances of gaining a higher grade in this course.

Student workload requirements

Activity Hours
Examinations 2.00
Private Study 168.00

Assessment details

Description Marks out of Wtg (%) Due Date Notes
ASSIGNMENT 1 10 10 20 Mar 2014
ASSIGNMENT 2 12 12 11 May 2014
ASSIGNMENT 3 12 12 08 Jun 2014
2HR OPEN EXAMINATION 66 66 End S1 (see note 1)

  1. Examination dates will be available during the semester.

Important assessment information

  1. Attendance requirements:
    There are no attendance requirements for this course. However, it is the students' responsibility to study all material provided to them or required to be accessed by them to maximise their chance of meeting the objectives of the course and to be informed of course-related activities and administration.

  2. Requirements for students to complete each assessment item satisfactorily:
    To complete each of the assessment items satisfactorily, students must obtain at least 50% of the marks available for each assessment item.

  3. Penalties for late submission of required work:
    Students should refer to the Assessment Procedure (point 4.2.4)

  4. Requirements for student to be awarded a passing grade in the course:
    To be assured of receiving a passing grade a student must achieve at least 50% of the total weighted marks available for the course.

  5. Method used to combine assessment results to attain final grade:
    The final grades for students will be assigned on the basis of the weighted aggregate of the marks obtained for each of the summative assessment items in the course.

  6. Examination information:
    An open examination is one in which candidates may have access to any printed or written material and a calculator during the examination.

  7. Examination period when Deferred/Supplementary examinations will be held:
    Any Deferred or Supplementary examinations for this course will be held during the next examination period.

  8. University Student Policies:
    Students should read the USQ policies: Definitions, Assessment and Student Academic Misconduct to avoid actions which might contravene University policies and practices. These policies can be found at

Assessment notes

  1. The due date for an assignment is the date by which a student must despatch the assignment to the USQ. The onus is on the student to provide proof of the despatch date, if requested by the Examiner.

  2. Students may be required to provide a copy of assignments submitted for assessment purposes. Such copies should be despatched to the USQ within 24 hours of receipt of a request to do so.

  3. The referencing system to be used in this course is supported by the Department. Information on this referencing system and advice on how to use it can be found in the course materials.

Other requirements

  1. It is recommended that students join the course mailing list so that they can be kept informed of course-related activities and administration. Instructions on how to join the mailing list are found on the course Webpage at