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.
Faculty
Chief examiner(s)
Unit guides
Offered
- First semester 2018 (On-campus)
- Second semester 2018 (On-campus)
- First semester 2018 (On-campus)
- Second semester 2018 (On-campus)
Prerequisites
((One of FIT1040, ECE2071, FIT1002) and FIT1029) or FIT1045 or FIT1053
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.
Prohibitions
CSE1303, CSC1030, FIT1015, FIT2085
Synopsis
This unit introduces students 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 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.
Outcomes
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;
- deconstruct simple high-level code into assembly code such as MIPS R2000.
Assessment
Examination (3 hours): 60%; In-semester assessment: 40%
Workload requirements
Minimum total expected workload equals 12 hours per week comprising:
- Contact hours for on-campus students:
- Three hours of 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