Key facts

UNE unit code: COSC250

*You are viewing the 2024 version of this unit which may be subject to change in future.

Start
  • Trimester 1 - On Campus
  • Trimester 1 - Online
Campus
  • Armidale Campus
24/7 online support
  • Yes
Intensive schools
  • No
Supervised exam
  • No
Credit points
  • 6

Unit information

UNE student studies on a laptop on her lounge at home

A programming language gives us a way of modelling and expressing a computer program. As programs tackle more complex tasks using big, fast, and distributed flows of data, the need for more powerful ways to think about and express our programs will only increase.

This unit introduces you to the paradigms (the particular styles or features) behind advanced programming languages used by many of the world’s leading software companies.

Taught predominantly using Scala, a mixed-paradigm language that will familiarise you with many concepts, the unit helps you to develop knowledge and technical skills with broad practical applications.

You will learn about functional programming, different type systems, and techniques for asynchronous, streaming and reactive programming. These techniques are useful across a wide spectrum – from making small problems simple, to modern event-based web systems, to “fast data” systems that process large flows of asynchronous data.

Offerings

For further information about UNE's teaching periods, please go to Principal Dates.

Teaching period
Mode/location
Trimester 1On Campus, Armidale Campus
Trimester 1Online

*Offering is subject to availability

Intensive schools

There are no intensive schools required for this unit.

Enrolment rules

Pre-requisites
(COSC110 or COSC120) and 6cp from (COSC101, COSC102, COSC110, COSC120, COMP132, COMP132A, COMP170) or candidature in a postgraduate award

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.

Please refer to the student handbook for current details on this unit.

Unit coordinator(s)

profile photo of William Billingsley
William BillingsleyAssociate Professor in Computational Science, Computer Science - School of Science and Technology

Learning outcomes

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 modern functional programming language;
  3. build systems that use abstractions for asynchronous programming and reactive streams;
  4. understand and apply advanced language features and type systems in the design of programs; and
  5. understand the use of functional programming in practice.

Assessment information

Assessments are subject to change up to 8 weeks prior to the start of the teaching period in which you are undertaking the unit.

TitleMust CompleteWeightOfferingsAssessment Notes
Assessment 1Yes15%All offerings

Programming and analysis.

Assessment 2Yes30%All offerings

Programming, analysis and exercises.

Assessment 3Yes35%All offerings

Programming, analysis and exercises.

Assessment 4Yes20%All offerings

Quizzes and automarked exercises.

Learning resources

Textbooks are subject to change up to 8 weeks prior to the start of the teaching period in which you are undertaking the unit.

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

Programming in Scala

ISBN: 9780997148008

Odersky, M., Spoon, L. and Venners, B., Woodslane 5th ed. 2021

Text refers to: All offerings

Note: Referenced material is held in the University Library — purchase is optional.

Scala for the Impatient

ISBN: 9780138033651

Horstmann, C.S., Pearson 3rd ed. 2022

Text refers to: All offerings

Functional Programming in Scala

ISBN: 9781617299582

Pilquist, M., Chiusano, P. and Bjarnason, R., Manning Publications 2nd ed. 2023

Text refers to: All offerings

Conceptual Mathematics: A First Introduction to Categories

ISBN: 9780521719162

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

Text refers to: All offerings

A five-star experience

2024 Overall Experience Good University Logo

Five Stars,
18 Years in a Row

UNE is the only public uni in Australia awarded 18 straight years of five stars for Overall Experience

Good Universities Guide 2007-2024
2024 Student Experience Good University Logo

No.1 in NSW for
Student Experience

QILT (government-endorsed) ranks UNE as the top public NSW uni for Student Experience

QILT Student Experience Survey
2024 Teaching Quality Good University Logo

Five Stars for
Teaching Quality

UNE rates among the top 20 per cent of universities in Australia for Teaching Quality

Good Universities Guide 2024
Woman studying online at home

Studying online

At UNE we know it takes more than just being online to be a great online university. It takes time and experience. We pioneered distance education for working adults back in the 1950s, so we’ve been doing this longer than any other Australian university.

We understand the challenges faced by busy adults studying at home. We know that a vital part of online study is your engagement with the learning community. Communication with your classmates, teaching staff and university support staff will enhance your study experience and ensure that your skills extend beyond the subject matter. UNE’s teaching staff are experts in their field which is why UNE consistently receives five stars from students for teaching quality, support and overall experience.*

*The Good Universities Guide

Stay connected

Register your interest and we'll keep you updated

UNE collects personal information to help with your enquiry and for marketing. Information may be disclosed outside of NSW and Australia through third parties acting for UNE. By entering your details you acknowledge that you have read and understood this Privacy Notice and consent to this disclosure.

Why study with us?

Graduate and mother Claire Haiek at work as a parenting producer at kidspot.com.au

I'm grateful to UNE for the opportunities studying has given me, but above all, for making me realise I could actually do it, and giving me a sense of accomplishment.

Claire Haiek, graduate, Pathways Enabling Course (photo: kidspot.com.au)

What happens next?

laptop icon
1. Decide on your course

Got any questions about a course you would like to study? Don’t hesitate to contact us, our Future Student team is standing by to help.

pencil icon
2. Apply

2024 applications are now open. The application process only takes 20 minutes to complete. Don’t delay, apply now!

form icon
3. Receive an offer, enrol and start studying

Your start date is based on the study period you choose to apply for.