Key facts

UNE unit code: COSC250

*You are viewing the 2027 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
  • Yes
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
2 units from (COSC102, COSC110, COSC120) 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 BillingsleyProfessor in Computational Science, Computer Science - Faculty of Science, Agriculture, Business and Law; 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. apply advanced language features and type systems in the design of programs; and
  5. analyse the use of functional programming and other paradigms 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 1Yes10%All offerings

Programming and analysis.

Assessment 2Yes20%All offerings

Programming, analysis and exercises.

Assessment 3Yes10%All offerings

Programming, analysis and exercises.

Assessment 4Yes10%All offerings

Quizzes and automarked exercises.

Final Examination - Assurance TaskYes50%All offerings

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

There is a supervised exam at the end of the teaching period in which you are enrolled. The exam will be offered online with supervision via webcam and screen sharing technology. Coordinated by UNE Exams Unit.

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 may be 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 may be 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

Conceptual Mathematics: A First Introduction to Categories

ISBN: 9780521719162

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

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

Excellence in experience, equity and employability

2026 Overall Experience

Five Stars,
20 Years in a Row

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

Good Universities Guide 2007-2026
2026 Social Equality

Five Stars for
Social Equity

UNE rates among the top 20% of universities nationally and is #1 in NSW for Social Equity.

Good Universities Guide 2026
2026 Graduate Employment

Five Stars for
Graduate Employment

UNE rates among the top 20% of universities for Graduate Full-Time Employment and Starting Salary.

Good Universities Guide 2026 (Undergraduate)
2026 Diamond-Rated Digital Learning

Diamond-Rated Digital Learning

UNE’s leadership in digital learning earned the highest ‘Diamond’ rating in a peer review.

ASCILITE TELAS 2025
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

Join our mailing list for updates and helpful tips to support your study plans. You can unsubscribe at any time.

  • Course updates and important changes as they happen
  • Key dates for intakes, deadlines, and enrolment steps
  • Application guidance, including supporting documentation requirements
  • Next steps and what to expect after you apply or enquire

Ready to stay in the loop?

GET IN TOUCHUniversity campus with students on a sunny day, historic brick building and green lawn

Why study with us?

Graduate Jess Trow, Bachelor of Education (K–6)

UNE’s flexibility and support made the transition smooth and helped me find a great balance between academic responsibilities and personal growth. It was the perfect place to study education while staying true to my rural roots.

Jess Trow, Bachelor of Education (K–6)

What happens next?

laptop icon
1. Decide on your course

Got a question about a course you'd like to study? Contact our Future Student Team for help.

pencil icon
2. Apply

2027 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.