Unit Information Management System

Computational Thinking with Python (CITS1401, SEM-1, 2014, Crawley)

Faculty of Engineering, Computing & Mathematics

Computer Science & Software Engineering

Unit Outline

Computational Thinking with Python


SEM-1, 2014

Campus: Crawley

Unit Coordinator: Dr Lyndon While

All material reproduced herein has been copied in accordance with and pursuant to a statutory licence administered by Copyright Agency Limited (CAL), granted to the University of Western Australia pursuant to Part VB of the Copyright Act 1968 (Cth).

Copying of this material by students, except for fair dealing purposes under the Copyright Act, is prohibited. For the purposes of this fair dealing exception, students should be aware that the rule allowing copying, for fair dealing purposes, of 10% of the work, or one chapter/article, applies to the original work from which the excerpt in this course material was taken, and not to the course material itself

© The University of Western Australia 2001

Unit details

Unit title Computational Thinking with Python
Unit code CITS1401 Credit points 6
Availability SEM-1, 2014 (24/02/2014 - 21/06/2014)
Location Crawley Mode Face to face

Contact details

Faculty Faculty of Engineering, Computing & Mathematics
School Computer Science & Software Engineering
School website http://web.csse.uwa.edu.au/
Unit coordinator Dr Lyndon While
Email lyndon.while@uwa.edu.au
Telephone 0864 8827
Consultation hours 11am-noon, Wednesdays
NamePositionEmailTelephone Number
Lyndon WhileA/Proflyndon.while@uwa.edu.au0864882720
Tutors/ Demonstrators/ Facilitators
Unit contact hours

Lectures: 2 hrs per week; labs: 3 hrs per week; workshop: 1 hr per week.

Lecture capture system LCS is implemented for this unit.
Online handbook http://handbooks.uwa.edu.au/units/unitdetails?code=CITS1401
Unit website http://undergraduate.csse.uwa.edu.au/courses/CITS1401/

Unit rules

Prerequisites WACE Mathematics 2C/2D or TEE Discrete Mathematics or equivalent or higher
Advisable prior study
Approved quota

Unit description

Problem solving is a key intellectual activity. Computer technology has become an important tool to help solve problems in a wide range of disciplines, from the natural sciences, engineering and mathematics to business, architecture, the social sciences and medicine. The strength of computer technology is that it can be programmed to perform nearly any task. While effective programs are available for many kinds of tasks, each program can only perform the tasks anticipated when it was designed. Thus to fully utilise the potential of computer technology, it is necessary to build programs that are specifically designed to solve a particular problem. Students taking this unit learn to solve problems via programming, with a focus on building small programs for specialised tasks. The unit is organised around a number of problems that the students solve as the unit progresses. Many of the problems have a focus on data, and require tasks such as data retrieval, extraction, conversion, aggregation, cross referencing, filtering, calculation, processing and storage. Other problems involve techniques such as search, enumeration, backtracking and �divide and conquer�. To implement solutions, students learn the fundamentals of programming using a high-level programming language. In addition to solving particular problems, the unit includes a focus on the problem-solving process itself including problem definition, analysis, generalisation, decomposition into sub-problems, reduction to previously solved problems and evaluation of solutions.

Learning outcomes

Students are able to (1) solve many kinds of problems using programming as a primary tool; (2) write programs using a high-level programming language, including programs for data retrieval, extraction, conversion, aggregation, calculation, processing and storage; and (3) demonstrate a generic understanding of problem solving as a process and be familiar with common approaches for problem solving.

Unit structure

(See Timetable)

Unit schedule

Teaching and learning responsibilities

Teaching and learning strategies

Charter of student rights and responsibilities

Student Guild contact details

Uses of student feedback


Information for students with disabilities


Assessment overview

Typically this unit is assessed in the following way(s): (1) a mid-semester test; (2) two projects; and (3) a final examination. Further information is available in the unit outline.

Assessment mechanism

#ComponentWeightDue DateRelates To Outcomes
1Mid-semester test15%14/4/14All
2Project 110%17/4/14All
3Project 215%30/5/14All

Assessment items

Item TitleDescriptionSubmission Procedure for Assignments
Mid-semester testIn-lecture testPaper-based
Project 1Programming projecthttps://secure.csse.uwa.edu.au/run/cssubmit
Project 2Programming projecthttps://secure.csse.uwa.edu.au/run/cssubmit
ExamFinal examPaper-based

Academic literacy and academic misconduct

Appeals against academic assessment

Textbooks and resources

Recommended texts


Suggested alternate texts

Additional texts

Technical requirements

Software requirements

Additional resources and reading

Other important information