PersonalUni
非官方 · 本页整理 Monash University Malaysia 的公开信息仅供参考。PersonalUni 与 Monash University Malaysia 无隶属关系,重要信息请以该校官方信息为准。
This page lists publicly available information about Monash University Malaysia for reference only. PersonalUni is unofficial and not affiliated with Monash University Malaysia.

蒙纳什大学马来西亚校区 / 课程

FIT2102

Programming paradigms

6 credit pointsLevel 2Second semesterMalaysiaFaculty of Information Technology

基本信息

学分6 credit points
开课学期Second semester
校区Malaysia
考核构成
Assignment 2 Haskell Programming30%
Assignment 1 Functional Reactive Programming30%
Applied quizzes20%
Applied classwork20%

开课安排1

教学期授课方式状态
Second semesterTeaching activities are on-campus (ON-CAMPUS)开课

以上为该校区在官方资料中登记的全部开课安排,不是汇总。同一门课可能在多个 教学期开课,也可能不同教学期的授课方式不同。

课程简介

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 you 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. Strong, expressive type systems are increasingly important in the age of artificial intelligence and "vibe coding", where type checking provides an essential verification of code correctness to support safe integration of AI-generated code.

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.

以上为 Monash Handbook 的官方原文,版权属 Monash University,此处按本站要求转载并标注出处: 官方页面 ↗

学习成果6

官方原文(Learning outcomes),版权属 Monash University。

  1. ULO1 Describe the major attributes that differentiate programming paradigms considered;
  2. ULO2 Describe the major features, strengths and weaknesses of important programming languages in the context of their historical development;
  3. ULO3 Analyse and critique past, present and future programming languages;
  4. ULO4 Evaluate the suitability of different paradigms for different problem types;
  5. ULO5 Design and implement programs in several programming languages of different paradigms and demonstrate an ability to solve more complex problems in at least one non-procedural paradigm;
  6. ULO6 Describe the theoretical aspects of modern programming paradigms and apply this theory to analysis and design of programs.

教学方式与预期工作量

教学方式

Active learning

预期工作量

Minimum total expected workload to achieve the learning outcomes for this unit is 144 hours per semester typically comprising a mixture of scheduled online and face to face learning activities and independent study. Independent study may include associated reading and preparation for scheduled teaching activities.

官方原文,版权属 Monash University。

先修 / 同修要求

以下先修关系按官方来源的结构化先修字段解析,原始记号:FIT1008 OR FIT1054 OR FIT2085

FIT1008Fundamentals of algorithms
FIT1054该先修课未在本站 Monash 数据内
FIT2085Fundamentals of algorithms for engineers

先修链路

按官方先修字段的原始分组展开,AND / OR 的区别保留着—— 「A 或 B」和「A 与 B」在选课时是两回事。每门课点进去可以继续往下看。

满足其中一项
FIT1008Fundamentals of algorithms6 cp
以下全部都要
满足其中一项
FIT1045Introduction to programming6 cp
FIT1053本站暂无这门课的数据
满足其中一项
FIT1058Foundations of computing6 cp
MAT1830Discrete mathematics for computer science6 cp
FIT1054本站暂无这门课的数据
FIT2085Fundamentals of algorithms for engineers6 cp
以下全部都要
满足其中一项
FIT1058Foundations of computing6 cp
MAT1830Discrete mathematics for computer science6 cp
满足其中一项
FIT1045Introduction to programming6 cp
FIT1053本站暂无这门课的数据
以下全部都要
ENG1013Engineering smart systems6 cp
ENG1014Engineering numerical analysis6 cp

数据来源

数据来源
官方网页
handbook.monash.edu
抓取时间
2026-09-13
可信度
程序抓取,未人工核实

查看官方完整描述 ↗ — 事实性字段(代码、学分、教学期、授课方式、考核权重、先修/同修/互斥关系)与 课程简介、学习成果、教学方式、预期工作量均取自官方 Handbook; 正文版权属 Monash University,此处转载并逐处标注出处。

发现信息有误?告诉我们。请用自己的话描述问题,不要上传成绩单、截图或校内系统文件

同级其他课程Level 2