6 points, SCA Band 2, 0.125 EFTSL
Undergraduate - Unit
Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.
- Second semester 2018 (On-campus)
((One of FIT1040, ECE2071, FIT1002) and FIT1029) or FIT1045 or FIT1053
Students beginning FIT1054 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.
This unit introduces students to core problem-solving, analytical skills, and methodologies useful for developing flexible, robust, and maintainable software. It covers a range of conceptual levels, from high-level algorithms and data-structures, down to the machine models and simple assembly language programming. Topics include data types; data structures; algorithms; algorithmic complexity; recursion and translation to assembly language.
At the completion of this unit, students should be able to:
- translate simple problem statements into algorithms, implement them in a high level programming language and test them.
- summarise and compare the properties of basic abstract data types such as stacks, queues, lists, trees, priority queues, heaps and hash tables.
- evaluate different algorithms and implementations of basic abstract data types.
- analyse algorithms by determining their best case and worst case big O time complexity.
- design efficient solutions combining basic abstract data types and applying the concepts of complexity while understanding its implications in practical situations.
- describe the classic RISC pipeline and how machine architecture can affect processor performance.
- deconstruct simple high-level code into assembly code such as MIPS R2000.
Examination (3 hours): 60%; In-semester assessment: 40%
Minimum total expected workload equals 12 hours per week comprising:
- Contact hours for on-campus students:
Three 1-hour lectures
One 1-hour tutorial
One 3-hour laboratory
- Additional requirements (all students):
A minimum of 5 hours of personal study per week in order to satisfy the reading and assignment expectations.
See also Unit timetable information