COSC250 Programming Paradigms

Updated: 21 December 2015
Credit Points 6
Offering
Responsible Campus Teaching Period Mode of Study
Armidale Trimester 1 Off Campus
Armidale Trimester 1 On Campus
Intensive School(s) None
Supervised Exam There is a UNE Supervised Examination held at the end of the teaching period in which you are enrolled.
Pre-requisites COSC120 or COMP132 or COMP132A
Co-requisites None
Restrictions None
Notes

A knowledge of, and programming experience with, a high level programming language is recommended. Experience with the use of the Linux/UNIX operating system is highly recommended. AMTH140 is a recommended unit.

Combined Units None
Coordinator(s) William Billingsley (wbilling@une.edu.au)
Unit Description

A programming language gives programmers a way of modelling and expressing a computer program. Different programming languages are based on different ideas about how one thinks about computer programs.

This unit introduces students to the paradigms behind advanced programming languages that are used by many of the world's leading software companies.

This includes functional programming, and how it relates to the mathematics of category theory. Topics include type systems, type inference, mixed paradigm languages, and styles of integration between different languages.

Recommended Material
Optional

Text(s):

Note: Recommended material is held in the University Library - purchase is optional

Conceptual Mathematics: A First Introduction to Categories

ISBN: 9780521719162
Lawvere, F.W., Cambridge University Press 2nd ed. 2009

Text refers to: Trimester 1, On and Off Campus

Programming in Scala

ISBN: 9780981531649
Odersky, M., Spoon, L. and Venners, B., Woodslane 2nd ed. 2011

Text refers to: Trimester 1, On and Off Campus

Referenced Material
Optional

Text(s):

Note: Reference material is held in the University Library - purchase is optional

Learn You A Haskell For Great Good: A Guide for Beginners

ISBN: 9781593272838
Lipovica, M., No Starch Press 2011

Text refers to: Trimester 1, On and Off Campus

Real World Haskell

ISBN: 9780596514983
O'Sullivan, B., Goerzen, J. and Stewart, D.B., O'Reilly Media 2008

Text refers to: Trimester 1, On and Off Campus

Scala for the Impatient

ISBN: 9780321774095
Horstmann, C., Addison-Wesley 2012

Text refers to: Trimester 1, On and Off Campus

Disclaimer Unit information may be subject to change prior to commencement of the teaching period.
Assessment
Must
Complete
Title Exam Length Weight Mode No. Words
Compulsory Assignment 1 10%
Assessment Notes

Programming and analysis. All assessment tasks must be attempted.

Relates to Learning Outcomes (LO)

LO: 1, 2, 3, 4

Compulsory Assignment 2 10%
Assessment Notes

Programming and analysis. All assessment tasks must be attempted.

Relates to Learning Outcomes (LO)

LO: 1, 2, 3, 4

Compulsory Assignment 3 10%
Assessment Notes

Programming and analysis. All assessment tasks must be attempted.

Relates to Learning Outcomes (LO)

LO: 1, 2, 3, 4

Compulsory Quizzes 10%
Assessment Notes

5 quizzes at 2% each. All assessment tasks must be attempted.

Relates to Learning Outcomes (LO)

LO: 1, 2, 3, 4

Compulsory Final Examination 2 hrs 15 mins 60%
Assessment Notes

It is mandatory to pass this component in order to pass the unit.

Relates to Learning Outcomes (LO)

LO: 1, 2, 3, 4


Learning Outcomes (LO) Upon completion of this unit, students will be able to:
  1. analyse how programming languages relate to models of reasoning about a computer program;
  2. write programs in a functional programming language;
  3. demonstrate the use of category theory abstractions in the design of computer programs; and
  4. apply the principles of type systems in programming languages.