Home | About Us | Courses | Units | Student resources | Research |
IT Support | Staff directory | A-Z index |
M O N A T A R |
InfoTech Unit Avatar |
This field records the Chief Examiner for unit approval purposes. It does not publish, and can only be edited by Faculty Office staff
To update the published Chief Examiner, you will need to update the Faculty Information/Contact Person field below.
NB: This view restricted to entries modified on or after 19990401000000
With the introduction of a specialised Computer Science Bachelors degree under the new Course Architecture redevelopment comes an opportunity to re-introduce fundamental core computer science material such as programming paradigms study. This essential material had been dropped from the BCS degree previously due to the need to cater for a wider variety of students in what had become a more general degree.
29/08/2017 - Admin: update prerequisites to include a new unit being introduced as part of the redevelopment of the Bachelor of Computer Science Advanced (Honours) for 2018.
12/06/2017: Admin - updating location of offering to reflect actual campus offerings at the ADE's request.
27/09/2016: Revised learning outcomes.
9/9/2016: Updated synopsis and learning outcomes - primarily to give a little more consideration of theory. Changes were reviewed and edited by BCS course director Arun Konagurthu.
Introduced for course architecture programs. Effective semester 1, 2016
22/8/2016: Changed the assessment to 40% Exam, 60% in-semester. This is in-line with a more "flipped-classroom" model with greater emphasis on continuous assessment. In-semester assessment will be a combination of project-work, quizzes, assessed classroom-activities and so on. Adjustment approved by the BCS course director Arun Konagurthu.
20/9/2019: Admin - updating exam duration to include additional 10 minutes as per University requirement.
11/6/2020: Changed assessment to 100% in semester as part of exam removal to support online hybrid delivery of unit (further details available here: https://docs.google.com/document/d/1D5yfAOgd54VDPinwG1caQTXSWcU60Gtj4zyqR5nVsrE/edit?usp=sharing)
12/06/2020: Minor updates to reflect the evolved content of the unit. (submitted on behalf of Tim Dwyer)
18/6/20: Updating workload from laboratory to tutorial (as advised by Tim Dwyer)
30/6/20: updating assessment section to include academic integrity and authentication method 1/7/20: added reference to similarity matching (MOSS use is intended)
01/10/2020 Admin: Update to include new assessment and teaching approach fields as per Handbook requirements.
13/07/2021: Admin - Adding 'Reasons for Change'. Currently, FIT2102 has 100% in-semester assessment, and there is technically no hurdle in this case.
Request for Additional Hurdle
Currently, FIT2102 has a 100% in-semester assessment, and there is technically no hurdle in this case. There are two components for in-semester assessment:
The challenges is that students could technically pass the unit without doing much work for the tutorial component if they do well in assignments.
The unit is core in the BCS degree and introduces students to a variety of programming paradigms apart from the conventional imperative / procedural and object-oriented approaches they will be familiar with from the majority of programming-related units in the degree.
At the completion of this unit, students should be able to:
020103
Ability to code in differently constructed programming languages is analogous to speaking in different natural languages with varying grammars. Similar to natural languages, programming languages from different paradigms (styles) vary in their expressiveness and efficiency. One programming language may require many screens-full of complex code to accomplish a task for which another requires but a few expressive lines of code. Therefore, understanding the design principles of programming languages enables computational problems to be implemented in dramatically different and powerful ways; leading, in some cases, to solutions that are more elegant, correct, maintainable, efficient and/or extensible.
This unit examines a selection of programming languages and paradigms and explores the evolution of language design from low-level paradigms that are closer to the execution model of the machine, to more high-level declarative paradigms that allow programmers to model a problem precisely rather than specify its solution. The unit covers paradigms such as functional and declarative programming styles, comparing and contrasting them to programming styles that students are already familiar with, including object-oriented, imperative and procedural programming paradigms. We compare type systems supported by various languages, from scripting languages like JavaScript with weak type systems, to gradual typing as in TypeScript, to advanced compiled languages with strong type correctness, such as Haskell. We see these applied to data-modeling techniques (covering polymorphism, mutability-versus-purity, state management, and side-effects) and different models of execution such as strict-versus-lazy evaluation.
The unit provides practical experience with using modern functional programming techniques, non-procedural, non-object-oriented programming languages and discusses the influence of programming language theory on the design of current main-stream computer languages, and how the theory translates to practice. A focus of the unit is that these techniques are applicable and ubiquitous in a variety of modern languages, for example, we will see how functional programming techniques are used in relatively conventional imperative languages like JavaScript, and compare and contrast this with pure functional languages, such as Haskell.
On-campus
Active learning
All lectures and classes will be interactive and require active participation by students in problem solving and programming exercises.
Lectures, tutorials and lab classes
Lectures will be interactive and involve group problem solving activities - students should bring a laptop to the lectures. Participation in lecture activities will be assessed through rolls and on-line forums and quizzes.
Lab classes will involve individual work and homework problems and exercises. Acceptable completion of these will be assessed through one-on-one interviews at each lab with the tutors. Problem-based learning There will be take-home programming and problem-solving challenges given in each lecture and students will continue to work on these in the labs. They will be structured to provide a working understanding of the theory and topics covered.
In-semester assessment: 100%
Assignment 1: 30% Assignment 2: 30% Tutorial Tasks: 40%
Students are interviewed on their efforts in assignments and tutorial tasks. Students maintain a diary of efforts to clarify individual contributions to team tasks.
Similarity matching is performed on student assignment submissions.
Additional Hurdle
Minimum total expected workload equals 12 hours per week comprising:
(a.) Contact hours for on-campus students:
(b.) Additional requirements (all students):
Semester 2, 2017
Clayton, Malaysia
03 Sep 2015 | Ange Delbianco | Introduced for course architecture programs. Effective semester 1, 2016 |
10 Sep 2015 | Caitlin Slattery | Minor edits |
22 Sep 2015 | Jeanette Niehus | FIT2102 Chief Examiner Approval, ( proxy school approval ) |
22 Sep 2015 | Jeanette Niehus | FEC Approval |
22 Sep 2015 | Jeanette Niehus | FacultyBoard Approval - UGPC approved 18/06/2015. |
22 Aug 2016 | Tim Dwyer | modified Assessment/Summary |
22 Aug 2016 | Tim Dwyer | |
23 Aug 2016 | Tim Dwyer | modified Assessment/Summary; modified ReasonsForIntroduction/RChange |
02 Sep 2016 | Jeanette Niehus | FIT2102 Chief Examiner Approval, ( proxy school approval ) |
02 Sep 2016 | Jeanette Niehus | FEC Approval |
02 Sep 2016 | Jeanette Niehus | FacultyBoard Approval - UGPC executive approval given 01/09/2016 |
09 Sep 2016 | Tim Dwyer | modified UnitContent/Synopsis: Word-smithing of synopsis and adding a reference to theory; modified UnitObjectives/Objectives: Adding a learning outcome about theory and changing "identify" to "understand" in several places - targeting a slightly higher Bloom scale objective. Modifications approved by Course Coordinator (Arun Konagurthu) |
09 Sep 2016 | Tim Dwyer | modified UnitObjectives/Objectives; modified UnitContent/Synopsis |
27 Sep 2016 | Tim Dwyer | modified UnitObjectives/Objectives |
27 Sep 2016 | Jeanette Niehus | Admin: modified ReasonsForIntroduction/RChange; modified UnitObjectives/Objectives |
05 Oct 2016 | Jeanette Niehus | FIT2102 Chief Examiner Approval, ( proxy school approval ) |
05 Oct 2016 | Jeanette Niehus | FEC Approval |
05 Oct 2016 | Jeanette Niehus | FacultyBoard Approval - UGPC executive approval given 05/10/2016 |
19 Jan 2017 | Jeanette Niehus | Admin: modified Chief Examiner |
12 Jun 2017 | Jeanette Niehus | Admin: modified ReasonsForIntroduction/RChange; modified LocationOfOffering |
29 Aug 2017 | Jeanette Niehus | modified ReasonsForIntroduction/RChange; modified Prerequisites/PreReqUnits |
29 Aug 2017 | Jeanette Niehus | FIT2102 Chief Examiner Approval, ( proxy school approval ) |
29 Aug 2017 | Jeanette Niehus | FEC Approval |
29 Aug 2017 | Jeanette Niehus | FacultyBoard Approval - Executively approved by DD(E) 22/08/2017. |
20 Sep 2019 | Emma Nash | modified ReasonsForIntroduction/RChange; modified Assessment/Summary |
11 Jun 2020 | Phillip Abramson | modified Assessment/Summary; modified ReasonsForIntroduction/RChange |
12 Jun 2020 | Phillip Abramson | modified ReasonsForIntroduction/RChange; modified UnitContent/Synopsis; modified UnitObjectives/Objectives |
12 Jun 2020 | Phillip Abramson | |
18 Jun 2020 | Phillip Abramson | modified Workload/ContactHours to remove references to pracs/labs |
18 Jun 2020 | Margot Schuhmacher | modified ReasonsForIntroduction/RChange; modified ReasonsForIntroduction/RChange |
30 Jun 2020 | Phillip Abramson | modified Assessment/Summary; modified ReasonsForIntroduction/RChange |
01 Jul 2020 | Phillip Abramson | modified Assessment/Summary; modified ReasonsForIntroduction/RChange |
03 Jul 2020 | Emma Nash | FIT2102 Chief Examiner Approval, ( proxy school approval ) |
03 Jul 2020 | Emma Nash | FEC Approval |
03 Jul 2020 | Emma Nash | FacultyBoard Approval - Approved at FEC 3/20 |
01 Oct 2020 | Miriam Little | modified Teaching/SpecialArrangements; modified ReasonsForIntroduction/RChange; modified Assessment/Summary |
12 Jul 2021 | Matt Chen | modified Assessment/Summary; modified Assessment/Summary |
13 Jul 2021 | Jeanette Niehus | Admin: modified ReasonsForIntroduction/RChange |
14 Jul 2021 | Matt Chen | modified Assessment/Summary; modified Assessment/Summary |
14 Jul 2021 | Monica Fairley | FIT2102 Chief Examiner Approval, ( proxy school approval ) |
14 Jul 2021 | Monica Fairley | FEC Approval |
14 Jul 2021 | Monica Fairley | FacultyBoard Approval - executively approved DDE 14/7/21 |
This version:
Copyright © 2022 Monash University ABN 12 377 614 012 – Caution – CRICOS Provider Number: 00008C Last updated: 20 January 2020 – Maintained by eSolutions Service desk – Privacy – Accessibility information |