Functional and Reactive Programming
Undergraduate
UNE-COSC250 2024Course information for 2024 intake View information for 2025 course intake
Enrolments for this course are closed, but you may have other options to start studying now. Book a consultation to learn more.
- Study method
- 100% online
- Assessments
- Subject may require attendance
- Entry requirements
- Part of a degree
- Duration
- 16 weeks
- Loan available
- FEE-HELP available
Functional and Reactive Programming
About this subject
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.
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 subject 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 subject 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.
Assessments 1 to 3: Programming and analysis. Relates to Learning Outcomes 1-5;
Assessment 4: Quizzes and exercises Five at 2% each. Relates to Learning Outcomes 1- 5;
Final Examination: 2 hrs 15 mins. It is mandatory to pass this component in order to pass the unit. Relates to Learning Outcomes 1- 5.
There is a supervised exam at the end of the teaching period in which you are enrolled. The exam will be 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 - Programming and analysis. (10%)
- Assessment 2 - Programming and analysis. (20%)
- Assessment 3 - Programming and analysis. (30%)
- Assessment 4 - Quizzes and exercises Five at 2% each. (10%)
- Final Invigilated Examination - 2 hrs 15 mins (30%)
For textbook details check your university's handbook, website or learning management system (LMS).
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 22,000 students, UNE is an expert in online education.
Learn more about UNE.
Explore UNE courses.
- QS Ranking 2024:
- 36
Entry requirements
Part of a degree
To enrol in this subject you must be accepted into one of the following degrees:
Elective
- UNE-LGS-DEG-2024 - Bachelor of Legal Studies
- UNE-INF-DIP-2024 - Diploma in Information Technology
Prior study
You must either have successfully completed the following subject(s) before starting this subject, or currently be enrolled in the following subject(s) in a prior study period; or enrol in the following subject(s) to study prior to this subject:
and one of
- UNE-COSC101-Software Development Studio 1
- UNE-COSC110-Introduction to Programming and the UNIX Environment
- UNE-AMTH250-Computational Mathematics
- UNE-SCI210-Introduction to Scientific Programming
Please note that your enrolment in this subject is conditional on successful completion of these prerequisite subject(s). If you study the prerequisite subject(s) in the study period immediately prior to studying this subject, your result for the prerequisite subject(s) will not be finalised prior to the close of enrolment. In this situation, should you not complete your prerequisite subject(s) successfully you should not continue with your enrolment in this subject. If you are currently enrolled in the prerequisite subject(s) and believe you may not complete these all successfully, it is your responsibility to reschedule your study of this subject to give you time to re-attempt the prerequisite subject(s).
Others
Candidature in Diploma in Information Technology.
To enrol in this subject you will need to pass the Prerequisite/s. Please note as UNE results are released after the close of enrolment date, your enrolment into this subject will be withdrawn if you do not pass the prerequisite subject/s.
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. UNE-AMTH140 is a recommended unit.
Additional requirements
- Equipment requirements - 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).
- Software requirements - 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
- Other requirements -
Textbook requirements:
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.
Study load
- 0.125 EFTSL
- This is in the range of 10 to 12 hours of study each week.
Equivalent full time study load (EFTSL) is one way to calculate your study load. One (1.0) EFTSL is equivalent to a full-time study load for one year.
Find out more information on Commonwealth Loans to understand what this means to your eligibility for financial support.
Related degrees
Once you’ve completed this subject it can be credited towards one of the following courses
Undergraduate
UNE-LGS-DEGDiploma in Information Technology
Undergraduate
UNE-INF-DIP