UnitLevel 1Undergraduate

FIT1008 Fundamentals of algorithms

Faculty of Information Technology

FIT1008 Fundamentals of algorithms is a level 1, 6-credit-point, undergraduate unit from the Faculty of Information Technology, offered in 2026 in Semester 1 and Semester 2 at Clayton and Malaysia. It needs (FIT1045 or FIT1053) and (FIT1058 or MAT1830) and unlocks 14 units, leading on to 53 units in all. Students rate it 4.0 out of 5 from 1 review and call it hard.

Credit points
6
Offered in 2026
Semester 1, Semester 2
Clayton, Malaysia
Assessment
No exam
7 tasks
Workload
144 hours
per semester

The 2027 handbook has no page for FIT1008. This is its 2026 entry, the latest one.

Reviews

Rated 4.0 out of 5 from 1 review
4.01 review
  1. 5 stars: 0
  2. 4 stars: 1
  3. 3 stars: 0
  4. 2 stars: 0
  5. 1 star: 0
Teaching
4.0out of 5 from 1 review
Content
4.0out of 5 from 1 review
Assessment
3.0out of 5 from 1 review
Usefulness
5.0out of 5 from 1 review
Difficulty
Hard
Workload
Heavy

What students say

  • JSOctober 2026 · Took it in 2024
    4 out of 5: Good

    Solid introduction to data structures and complexity. The content is genuinely useful for interviews later on. Assignment specs were a bit long and some marking felt strict on edge cases, so read the rubric carefully and write your own tests.

    • Teaching4out of 5
    • Content4out of 5
    • Assessment3out of 5
    • Usefulness5out of 5
    • DifficultyHard
    • WorkloadHeavy

Requisites

Enrolment rules

Prerequisites: Students beginning FIT1008 are assumed to be able to: Identify the main components of an algorithm (variables, operators, expressions, etc), and write the algorithm associated to the specification of a simple problem. Be able to translate a simple algorithm into a program containing variable declarations, selection, repetition, and lists and/or arrays.

Equivalent units

The same content under another code. Only one of them counts.

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.

Offerings in 2026

Teaching periodCampusMode
First semesterClaytonOn campus
First semesterMalaysiaOn campus
Second semesterClaytonOn campus
Second semesterMalaysiaOn campus

Assessment

  • Learning PortfolioPortfolioCompetency hurdle
    100%
  • Theory testQuiz / TestCompetency hurdle
    -
  • Coding Project 1Project
    30%
  • Theory Test 1Quiz / TestCompetency hurdle
    -
  • Theory Test 2Quiz / TestCompetency hurdle
    -
  • Weekly QuizQuiz / Test
    30%
  • Coding Project 2Project
    40%

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

Learning outcomes

When you finish this unit, you should be able to:

  1. 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. 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. 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. 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. 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. 6

    Semester 2: Communicate algorithmic reasoning and correctness, implementation choices, performance trade-offs and testing evidence using appropriate technical terminology and representations.

Workload and teaching

  • Applied sessions24 hours
  • Workshops24 hours
  • Teaching approachPeer assisted learning

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.

Learning resources

Recommended resources

1. Programmer's Field Guide: https://programmers.guide for Learning to Program in C++ 2. Introduction to Algorithms by Thomas Cormen, Charles Leiserson, Ronald Rivest, and Clifford Stein as a reference book. 3. Visualisation of data structures and algorithms covered in the unit: https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

Where it fits

FIT1008 is part of 4 areas of study in the 2026 handbook.

Contacts

Unit Coordinators
Dr Muhammad Fermi Pasha
Brendon Taylor
Chief Examiners
Ali Toosi
Allen Zhong

Common questions

What are the prerequisites for FIT1008?

You need (FIT1045 or FIT1053) and (FIT1058 or MAT1830) before you enrol. Enrolment rules also apply.

What can I take after FIT1008?

FIT1008 is a prerequisite or corequisite for 14 units, including FIT2004, FIT2014, FIT2099, FIT2102, FIT2109 and FIT2111. Those lead on to 53 units in all.

When is FIT1008 offered?

In 2026, FIT1008 runs in Semester 1 and Semester 2 at Clayton and Malaysia.

Is FIT1008 hard?

Students who took it rate it hard to do well in and heavy on workload (1 rating). The handbook expects about 144 hours of study across the semester.

Does FIT1008 have an exam?

No. FIT1008 has 7 assessment tasks and no exam.

Which majors and minors include FIT1008?

FIT1008 is part of Computational science and Computer science.

What do students think of FIT1008?

It is rated 4.0 out of 5 from 1 review. Read the reviews above or add your own.

More details

Credit points
6
Level
1
Study level
Undergraduate
Faculty
Faculty of Information Technology
Type
Coursework
EFTSL
0.125
Student contribution
SCA Band 2
Study abroad
Available
Handbook years
2020202120222023202420252026