COMP 2023 Mathematical Programming

Credit Points 10

Legacy Code 301375

Coordinator Roozbeh Hazrat Opens in new window

Description This unit will introduce the programming language Python, through which students will explore and investigate practical mathematical problems. Python is one of the most powerful versatile programming languages, and it is increasingly used by engineers and scientists as well as banks and financial institutions to tackle their computational problems. The unit promotes an experimental side of mathematics and will employ Python-based computational tools to gain insight and intuition into problems, to discover mathematical patterns and relationships, and to use visualisation techniques to expose mathematical structures.

School Computer, Data & Math Sciences

Discipline Programming

Student Contribution Band HECS Band 2 10cp

Check your HECS Band contribution amount via the Fees page.

Level Undergraduate Level 2 subject

Equivalent Subjects COMP 2003 Computer Algebra

Learning Outcomes

On successful completion of this subject, students should be able to:
  1. Compute complex numerical expressions by utilising the computational features of Python.
  2. Combine different styles of programming (functional, procedural, and list-based) to write powerful code in Python.
  3. Analyse, investigate, gain insight and intuition into, and thus solve, practical mathematical problems by using Python.
  4. Create complex graphics and solve equations by combining Python graphics capabilities.
  5. Communicate computational approaches to mathematical problems effectively in both spoken and written form.

Subject Content

- introduction to Python and Jupyter Notebook
- finding, installing, and loading Python libraries
- working with variables and lists in Python
- writing expressions in Python
- debugging Python code
- handling user input in Python
- control structures (conditionals and loops) in Python
- creating functions in Python
- understanding, creating, and using NumPy/Pandas and data frames
- reading and writing files in Python
- producing basic graphs using Python
- data cleaning, indexing, querying, sorting, aggregating, and merging in Python
- object-oriented programming in Python
- using sets in Python
- list comprehension in Python
- database access in Python
- predictive analysis using Python
- data visualisation using Python
- (mini-projects) investigating practical problems using Python

Prescribed Texts

  • Pilgrim, M. (2009). Dive Into Python 3. Apress.

Teaching Periods




Subject Contact Roozbeh Hazrat Opens in new window

View timetable Opens in new window

Penrith (Kingswood)


Subject Contact Roozbeh Hazrat Opens in new window

View timetable Opens in new window

Parramatta - Victoria Rd


Subject Contact Roozbeh Hazrat Opens in new window

View timetable Opens in new window