Units / FIT1008

FIT1008 · Fundamentals of algorithms

Official Handbook

2026 Handbook6 credit pointsLevel 1Faculty of Information Technology

Last checked: 22 Aug 2026 UTC

Overview

From Semester 2, 2026: Data structures and algorithms are the tools that allow programs to solve problems efficiently, reliably and at scale. This unit develops the core algorithmic thinking and implementation skills needed to move from a problem statement to a well-structured computational solution. You will learn to represent problems using appropriate data structures, design algorithms that use those structures effectively, and reason about how choices affect correctness, performance and maintainability. The unit covers recursion, introductory complexity analysis, and structures such as stacks, queues, trees, heaps and hash tables. You will evaluate algorithm behaviour both theoretically and experimentally, building a practical understanding of time, space and trade-offs. Through structured programming activities, you will strengthen your ability to design, implement, test and explain algorithmic solutions. The unit builds disciplined habits of precise reasoning, careful coding, performance awareness and reflection, preparing you for later study in advanced algorithms, software design, artificial intelligence, systems and computational problem solving. Semester 1, 2026: This unit introduces you to core problem-solving, analytical skills, and methodologies useful for developing flexible, robust, and maintainable software. In doing this, it covers a range of conceptual levels, from fundamental algorithms and data structures, down to their efficient implementation as well as complexity. Topics include data types, data structures, algorithms, algorithmic complexity, recursion, and their practical applications.

Areas of study: Computer science Computational science

Offerings

CampusTeaching periodMode
ClaytonSecond semesterTeaching activities are on-campus (ON-CAMPUS)
MalaysiaSecond semesterTeaching activities are on-campus (ON-CAMPUS)
MalaysiaFirst semesterTeaching activities are on-campus (ON-CAMPUS)
ClaytonFirst semesterTeaching activities are on-campus (ON-CAMPUS)

Assessment

The Handbook does not list a final examination among the assessment items. That is not a guarantee there is none.

#AssessmentTypeWeightHurdle
1Learning PortfolioPortfolio100%Competency
2Theory testQuiz / Test0%Competency
3Coding Project 1Project30%
4Theory Test 1Quiz / Test0%Competency
5Theory Test 2Quiz / Test0%Competency
6Weekly QuizQuiz / Test30%
7Coding Project 2Project40%

Assessment details may change. Please refer to the assessment information in Moodle closer to the start of the teaching period.

Requisites

prohibitions

  • FIT1054 — Computer science (advanced)
  • FIT2085 — Introduction to computer science for engineers

Joined by AND.

prerequisite

  • FIT1045 — Introduction to programming
  • FIT1053 — Introduction to programming (Advanced)

Joined by OR.

  • FIT1058 — Foundations of computing
  • MAT1830 — Discrete mathematics for computer science

Joined by OR.

Learning outcomes

  1. Semester 2: Analyse computational problems to identify suitable algorithmic strategies, data representations and performance considerations. Semester 1: Translate problem statements into algorithms and implement them in a high level programming language;
  2. Semester 2: Demonstrate understanding of data structures and algorithms by implementing, using, and testing them in ways that support correctness, readability and maintainability. Semester 1: Determine appropriate basic abstract data types, including; stacks, queues, lists, binary trees, priority queues, heaps and hash tables; for specific contexts;
  3. Semester 2: Design modular algorithmic solutions using appropriate abstract data types, including lists, stacks, queues, trees, heaps and hash tables. Semester 1: Theoretically and experimentally evaluate different implementations of basic abstract data types;
  4. Semester 2: Demonstrate awareness and working knowledge of relevant tools and technologies, and use them effectively to increase productivity and improve quality, such as IDEs, AI, and Version Control Systems. Semester 1: Analyse the efficiency of algorithms by determining their best-case and worst-case big-O time complexity;
  5. Semester 2: Plan, monitor, and reflect on the development of your algorithmic thinking and implementation practice through focused problem solving, feedback and iterative improvement.
  6. Semester 2: Communicate algorithmic reasoning and correctness, implementation choices, performance trade-offs and testing evidence using appropriate technical terminology and representations.

Workload

This unit has a requirement of 1-2 hours per week of asynchronous 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.

ActivityDuration
Applied sessions24 hours
Workshops24 hours

Ask about FIT1008

Answered from the Handbook fields above - no AI, no guessing. Every answer links back to the source.

Community discussions about FIT1008

Community

Student experience, not official rules. Nothing here changes what the Handbook says.

No discussions yet

Be the first to share what this unit was actually like.

Monash Hub is an independent student information platform and is not affiliated with or endorsed by Monash University. Always confirm enrolment, graduation, visa and academic policy decisions through the Monash website, Handbook, Moodle or WES.

Monash Hub 为独立学生信息平台,与 Monash University 无官方隶属或背书关系。重要决定请以官方最新信息为准。