Enrolments for this year have closed. Keep exploring subjects.
Online and other materials
Subjects may require attendance
The University of New England is the only Australian public university to be awarded the maximum 5 stars for Overall Experience by the Good Universities Guide, 13 years in a row. UNE has delivered distance education since 1955—that’s longer than any other Australian university. Perhaps that’s why students continue to rate UNE so highly for student satisfaction and teaching quality. With over 170 degrees offered online, and more than 20,000 online students, UNE is the expert in online education.
QS RANKING 2020
Times Higher Education Ranking 2020
Upon completion of this subject, students will be able to:
- analyse how programming languages relate to models of reasoning about a computer program;
- write programs in a modern functional programming language;
- build systems that use abstractions for asynchronous programming and reactive streams;
- understand and apply advanced language features and type systems in the design of programs; and
- understand the use of functional programming in practice.
- Topics will be available to enrolled students in the subjects Learning Management System site approximately one week prior to the commencement of the teaching period.
You must have successfully completed the following subject(s) before starting this subject:
UNE-COSC120-Object Oriented Programming and UNE-COSC101-Software Development Studio 1, or UNE-COSC110-Introduction to Programming and the UNIX Environment, or UNE-AMTH250-Introduction to Programming in The Sciences, or UNE-SCI210-Introduction to Scientific Programming ;
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.
- EquipmentDetails - Headphones or speakers (required to listen to lectures and other media) Headset, including microphone (highly recommended) Webcam (may be required for participation in virtual classrooms and/or media presentations).
- SoftwareDetails - It is essential for students to have reliable internet access in order to participate in and complete your units, regardless of whether they contain an on campus attendance or intensive school component. For additional information please visit UNE Hardware Requirements: https://www.une.edu.au/current-students/support/it-services/hardware
- TravelDetails - Travel may be required to attend the Final Examination for this subject.
- OtherDetails -
Textbook information is not available until approximately 8 weeks prior to the commencement of the Teaching period.
Students are expected to purchase prescribed material.
Textbook requirements may vary from one teaching period to the next.
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 subject introduces students to the paradigms behind advanced programming languages that are used by many of the world's leading software companies. The unit is taught predominantly using Scala, as a mixed-paradigm language that allows many concepts to be introduced.
The subject introduces modern functional programming, different type systems, and techniques for asynchronous, streaming, and reactive programming. These techniques are useful at a wide spectrum of scales - from making small problems simple, to modern event-based web systems, to "fast data" systems that process large flows of asynchronous data.
Assessment 1: Programming and analysis. Relates to Learning Outcomes (LOs) 1, 2, 3, 4, 5 Assessment 2: Programming and analysis. Relates to Learning Outcomes (LOs) 1, 2, 3, 4, 5 Assessment 3: Programming and analysis. Relates to Learning Outcomes (LOs) 1, 2, 3, 4, 5 Assessment 4: Quizzes and exercises Five at 2% each. Relates to Learning Outcomes (LOs) 1, 2, 3, 4, 5 Final Examination: 2 hrs 15 mins. It is mandatory to pass this component in order to pass the unit. Relates to Learning Outcomes (LOs) 1, 2, 3, 4, 5 There is a supervised exam at the end of the teaching period in which you are enrolled. The exam will either be paper-based and offered at an established exam venue or online with supervision via webcam and screen sharing technology. Coordinated by UNE Exams Unit. UNE manages supervised exams associated with your UNE subjects. Prior to census date, UNE releases exam timetables. They’ll email important exam information directly to your UNE email address.
- Assessment 1 (10%)
- Assessment 2 (20%)
- Assessment 3 (30%)
- Assessment 4 (10%)
- Final Examination (30%)