Handbook Entry
This unit explores and compares the main alternative paradigms for
high-level programming. It considers important modern paradigms such
as functional programming, logic programming and concurrent
programming, and compares these with the mainstream paradigms of
imperative programming and object-oriented programming. It considers
past and future trends in programming paradigms and explores the
motivation for each paradigm, the concepts which define it, and how
each paradigm can be used in practice to complete programming
tasks. It also compares the advantages of each paradigm in the
software production process, with particular emphasis on productivity,
scalability, program behaviour, and the correctness of programs. The
unit focuses on both fundamental concepts and practical software
development, with the former enabling the latter.
|
Unit information for 2009:
Unit coordination and assessment:
| Coordination: |
Dr. Rowan Davies,
rowan@csse.uwa.edu.au,
Office: CSSE 2.16
|
| Discussion forum: |
help3242 |
| Lecture times: |
Tuesday 12noon and Thursday 12noon each week
in the Webb LT (Geography G.21).
|
| Labs: |
Thursday 3-5pm
in CSSE Lab 2.03.
|
| Assessment: |
40% Project (due week 12)
60% Exam, 2 hours
|
Laboratory and project work:
- Starting in week 2, there will be weekly 2 hour lab sessions in CSSE lab 2.03.
- We will programming mostly with Microsoft's multi-paradigm language F#,
using Visual Studio.
- There will be weekly lab sheets for the first half of semester, followed by a project
worth 40% in the second half.
- The project will be done in pairs, and you are encouraged to work on the labs in pairs also.
Recommended Reading:
You may find the following useful to supplement the lecture notes.

|
Expert F#
Don Syme, Adam Granicz and Antonio Cisternino
Apress 2007
http://www.apress.com/book/view/1590598504
[Covers F#, functional programming and some concurrent programming.
Check the preview on Google books.]
|
Web Resources:
See the schedule page for web resources.
Software:
If you want to work on the labs at home or on a laptop, you will need to install the following:
- A version of Visual Studio 2008 (install this first).
- You can get the professional version via the
MSDNAA (see your email also) - it is about 4GB, but you can download it and write it to a DVD or usb drive in the labs, and it won't count towards your quota. MSDN library for Visual Studio 2008 is also good to have, as is SP1 for VS.
- The Visual Studio Shell (Integrated Mode) is a hugely cut down version
that is sufficient for this unit. (180MB, in the zip below, or here)
- The F# September 2008 Community Technology Preview (CTP). (13MB, in the zip below, or here.)
- The Parallel Extensions for .Net CTP. (3MB, in the zip below, or here.)
A zip file with Visual Studio Shell and the two CTP is available as a local cache:
VSS+F#+Parallel.
|
|
Top of Page
|
|
CRICOS Provider Code: 00126G
|
|