USQ LogoCourse specification
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, 2013 External Toowoomba
Units : 1
Faculty or Section : Faculty of Sciences
School or Department : Maths and Computing
Version produced : 21 July 2014

Contents on this page

Staffing

Examiner: Richard Watson
Moderator: Stijn Dekeyser

Requisites

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.

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://bookshop.usq.edu.au/bookweb/subject.cgi?year=2013&sem=01&subject1=CSC3403)

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

  • 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 17 Mar 2013
ASSIGNMENT 2 12 12 05 May 2013
ASSIGNMENT 3 12 12 02 Jun 2013
2HR RESTRICTED EXAMINATION 66 66 End S1 (see note 1)

NOTES
  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:
    If students submit assignments after the due date without prior approval then a penalty of 5% of the total marks gained by the student for the assignment will apply for each day late up to ten working days at which time a mark of zero may be recorded. No assignments will be accepted after model answers have been posted.

  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:
    Candidates are allowed access only to specific materials during a Restricted Examination. The only materials that candidates may use in the restricted examination for this course are: writing materials (non-electronic and free from material which could give the student an unfair advantage in the examination); calculators which cannot hold textual information (students must indicate on their examination paper the make and model of any calculator(s) they use during the examination); students whose first language is not English , may take an appropriate unmarked non - electronic translation dictionary (but not a technical dictionary) into 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.

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 http://www.sci.usq.edu.au/courses/csc3403