Skip to main content
USQ Logo
The current and official versions of the course specifications are available on the web at http://www.usq.edu.au/course/specification/current.
Please consult the web for updates that may occur during the year.

CSC3403 Comparative Programming Languages

Semester 1, 2019 On-campus Toowoomba
Short Description: Comparative Program Languages
Units : 1
Faculty or Section : Faculty of Health, Engineering and Sciences
School or Department : School of Agric, Comp and Environ Sciences
Student contribution band : Band 2
ASCED code : 020101 - Formal Language Theory
Grading basis : Graded

Staffing

Examiner: Matthew Mengel

Requisites

Pre-requisite: CSC2402 or enrolled in CSC2402 at the same time as CSC3403 or Students must be enrolled in one of the following Programs: GDTI or GCSC or GCEN or METC or MCOT or MCTE or MCOP or MPIT

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.
Students who have enrolled in or completed CSC8503 Principles of Programming Languages cannot not enrol in this course.

Rationale

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.

Synopsis

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.

Objectives

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.

Topics

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). (https://omnia.usq.edu.au/textbooks/?year=2019&sem=01&subject1=CSC3403)

Please contact us for alternative purchase options from USQ Bookshop. (https://omnia.usq.edu.au/info/contact/)

Sebesta, R.W 2016, Concepts of Programming Languages, 11th edn, Pearson Higher Ed, USA.
(ISBN 9781292100555 Or alternatively eBook version from https://www.pearson.com/.)
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 2011, Prolog programming for artificial intelligence, 4th edn, Addison-Wesley, Harlow.
Davie, Antony, J.T 1992, An Introduction to Functional Programming Systems using Haskell, Cambridge University Press, Cambridge.
Thompson, S 2011, Haskell: The Craft of Functional Programming, 3rd 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 expectations

Activity Hours
Assessments 42.00
Lectures 26.00
Private Study 76.00
Tutorials 26.00

Assessment details

Description Marks out of Wtg (%) Due Date Notes
ASSIGNMENT 1 10 10 02 Apr 2019
ASSIGNMENT 2 12 12 07 May 2019
ASSIGNMENT 3 12 12 03 Jun 2019
2HR OPEN EXAMINATION 66 66 End S1 (see note 1)

Notes
  1. Examination dates will be available during the semester.

Important assessment information

  1. Attendance requirements:
    It is the students' responsibility to attend and participate appropriately in all activities (such as lectures, tutorials, laboratories and practical work) scheduled for them, and 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 http://policy.usq.edu.au/documents.php?id=14749PL (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 obtain at least 50% of the total weighted marks available for the course (i.e. the Primary Hurdle), and have satisfied the Secondary Hurdle (Supervised), i.e. the end of semester examination by achieving at least 40% of the weighted marks available for that assessment item.

    Supplementary assessment may be offered where a student has undertaken all of the required summative assessment items and has passed the Primary Hurdle but failed to satisfy the Secondary Hurdle (Supervised), or has satisfied the Secondary Hurdle (Supervised) but failed to achieve a passing Final Grade by 5% or less of the total weighted Marks.

    To be awarded a passing grade for a supplementary assessment item (if applicable), a student must achieve at least 50% of the available marks for the supplementary assessment item as per the Assessment Procedure http://policy.usq.edu.au/documents/14749PL (point 4.4.2).

  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 http://policy.usq.edu.au.

Other requirements

  1. Students will require access to e-mail, internet access and access to UConnect for this course.

  2. Students can expect that questions in assessment items in this course may draw upon knowledge and skills that they can reasonably be expected to have acquired before enrolling in the course. This includes knowledge contained in pre-requisite courses and appropriate communication, information literacy, analytical, critical thinking, problem solving or numeracy skills. Students who do not possess such knowledge and skills should not expect to achieve the same grades as those students who do possess them.