CSC3403 Comparative Programming Languages
|Semester 1, 2013 On-campus Toowoomba|
|Faculty or Section :||Faculty of Sciences|
|School or Department :||Maths and Computing|
|Version produced :||21 July 2014|
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
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:
- provide an introduction to the formal description of programming language syntax and semantics;
- study the features of programming languages, with a particular focus on imperative language features;
- study and compare different language paradigms, with a particular emphasis on functional and logic programming languages.
|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|
|7.||Abstract Data Types||4.00|
|9.||Object oriented languages||4.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.
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
|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)|
- Examination dates will be available during the semester.
Important assessment information
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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