University of Technology Sydney

41173 Quantum Software and Programming

Warning: The information on this page is indicative. The subject outline for a particular session, location and mode of offering is the authoritative source of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.

Subject handbook information prior to 2024 is available in the Archives.

UTS: Information Technology: Computer Science
Credit points: 6 cp

Subject level:

Undergraduate

Result type: Grade and marks

Requisite(s): (41170 Introduction to Quantum Computing OR 43025 Introduction to Quantum Computing) AND (48023 Programming Fundamentals OR 41039 Programming 1 OR 68416 Computational Physics)

Description

Many quantum software tools exist and are emerging the quantum technology ecosystem. In this subject, students will learn how to use these tools and relate them to core concepts in quantum computing by developing working modules. Basic notions will be implemented in tutorials and students will develop a live module implementing an advanced quantum algorithm.

Subject learning objectives (SLOs)

Upon successful completion of this subject students should be able to:

1. Implement quantum algorithms using programming languages, such as Q#/Qiskit/Cirq, for undertaking research and development. (C.1)
2. Analyse quantum circuits and algorithms. (D.1)
3. Communicate effectively individually and as a team to meet stated project outcomes. (E.1)

Course intended learning outcomes (CILOs)

This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):

  • Design Oriented: FEIT graduates apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. (C.1)
  • Technically Proficient: FEIT graduates apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. (D.1)
  • Collaborative and Communicative: FEIT graduates work as an effective member or leader of diverse teams, communicating effectively and operating within cross-disciplinary and cross-cultural contexts in the workplace. (E.1)

Teaching and learning strategies

Students engage in a range of workshops and practical sessions to support hands-on and lab-focused collaborative learning activities.

This subject is ‘flipped’, which means students will be responsible for reviewing and engaging with online materials, such as pre-readings and open education resources before the face-to-face sessions and on-campus workshops. In the workshops, students work collaboratively on activities that develop their skills to complete quantum programming projects.

Attending practical sessions and classes underpin key learning strategies to completing the required assessment tasks. Students also receive continuous feedback in their workshops and tutorial exercises.

Content (topics)

  • High-level quantum programming languages
  • Quantum circuit model
  • Quantum algorithms
  • Advanced topics

Assessment

Assessment task 1: Research report

Intent:

Students formalise the problem that the algorithm aims to solve, understand how the algorithm works, and the time/space/query complexity of the algorithm.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1 and 2

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Report
Groupwork: Individual
Weight: 25%
Length:

1500 words

Criteria:

Thoroughness of investigation of various quantum algorithms (50%), appropriately formalise the background and main idea of the chosen quantum algorithms (50%).

Assessment task 2: Group algorithm programming project

Intent:

To help students gain hands-on experience implementing quantum algorithms using high-level quantum programming languages.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1 and 3

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and E.1

Type: Project
Groupwork: Group, group and individually assessed
Weight: 25%
Length:

Students should submit a code project of approximately 1000 lines of code for the group, where their individual contribution to the project is proportional and clearly highlighted.

Criteria:

Efficiency and effectiveness of code developed to implement quantum algorithms (50%), effectiveness as a team member to perform both group and individual reflections (25%), effectiveness of communication with peers (25%).

Assessment task 3: Problem sets

Intent:

To practise and hone skills in development and analysis of quantum circuits and algorithms.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

2

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

D.1

Type: Exercises
Groupwork: Individual
Weight: 50%
Length:

As required to show working and correct answer.

Minimum requirements

To pass this subject, students must achieve an overall mark of 50% or greater.

Recommended texts

Learn quantum programming — PennyLane

Qiskit Textbook

Understanding quantum computing - Azure Quantum | Microsoft Learn

Ronald de Wolf's lecture notes (advanced)