Course Title: Discrete Structures in Computing

Part A: Course Overview

Course Title: Discrete Structures in Computing

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


140H Computer Science & Information Technology


Sem 2 2015,
Sem 1 2016


City Campus


145H Mathematical & Geospatial Sciences


Sem 1 2014,
Sem 2 2014


City Campus


171H School of Science


Sem 1 2017,
Sem 2 2017

Course Coordinator: Assoc. Prof. James Harland

Course Coordinator Phone: 9925 2045

Course Coordinator Email:

Course Coordinator Location: 14.10.01

Course Coordinator Availability: By appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

You may not enrol in this course unless it is explicitly listed in your enrolment program summary.

Note it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For your information the RMIT Course Requisites policy can be found at Course requisites –;ID=twx09y07zi1c 


Course Description

This course provides a foundation for Computer Science. Many other areas of Computer Science require the ability to work with concepts from discrete structures. Discrete structures include topics such as set theory, logic, graph theory, and probability theory. The material in discrete structures is pervasive in the areas of data structures and algorithms but appears elsewhere in Computer Science as well.

In this course, you will learn about (1) sets, relations and functions; (2) basic logic, including propositional logic, logical connectives, truth tables, propositional inference rules and predicate logic; (3) proof techniques, including the structure of mathematical proofs, direct proofs, disproving by counterexample, proof by contradiction; (4) basics of counting, including counting arguments, the pigeonhole principle, permutations and combinations, solving recurrence relation; (5) graphs and trees; and, (6) discrete probability, including finite probability space, axioms of probability, conditional probability.

Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes

This course contributes to the following Program Learning Outcomes in BP094 Bachelor of Computer Science and BP096 Bachelor of Software Engineering:

1. Enabling Knowledge

You will gain skills as you apply knowledge effectively in diverse contexts.

2. Critical Analysis

You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:

  • Analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems
  • Evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.

 3Problem Solving

Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to:

  • Design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

Course Learning Outcomes

Upon successful completion of this course you should be able to:

  • CLO 1: Apply formal logic proofs and/or informal, but rigorous, logical reasoning to real problems, such as predicting the behaviour of software or solving problems such as puzzles.
  • CLO 2: Demonstrate comprehension of discrete structures and their relevance within the context of computer science, in the areas of data structures and algorithms, in particular.
  • CLO 3: Apply discrete structures into other computing problems such as formal specification, verification, databases, artificial intelligence, and cryptography.
  • CLO 4: Demonstrate mathematical skills, analytical and critical thinking abilities.
  • CLO 5: Communicate clearly and effectively using the technical language of the field correctly.

Overview of Learning Activities

The learning activities included in this course are:

  • key concepts will be explained in lectures, classes or online, where syllabus material will be presented and the subject matter will be illustrated with demonstrations and examples;
  • workshops and/or tutorials and/or labs and/or group discussions (including online forums) focused on projects and problem solving will provide practice in the application of theory and procedures, allow exploration of concepts with teaching staff and other students,  and give feedback on your progress and understanding;
  • private study, working through the course as presented in classes and learning materials, and gaining practice at solving conceptual and technical problems.


A total of 120 hours of study is expected during this course, comprising:

Teacher-directed hours (48 hours): Lectures will take place twice a week, and introduce concepts and motivations for studying them. Students will work on set problems each week in tutorials, which will be based around working groups of 4 to 5 students. Regular online quizzes and major tests will provide regular feedback on progress. 

Student-directed hours (72 hours): You are expected to be self-directed, studying independently outside class.

Overview of Learning Resources

The course is supported by online tools, such as the Blackboard learning management system and/or Google-based systems, which provide specific learning resources. See the RMIT Library Guide at 

Overview of Assessment

The assessment for this course comprises

Note: This course has no hurdle requirements.

Assessment tasks

Assessment Component 1:  Online Quizzes

Regular online Quizzes aim to provide early and continuous feedback to help you learn and remember key points.

Weighting 10%

This assessment task supports CLOs  2 & 4

Assessment Component 2: Class Tests

Weighting 40%

This assessment task supports CLOs  1, 2, 3, 4 & 5

Assessment Component 3: End-of-semester Examination

Weighting 50% 

This assessment task supports CLOs 1, 2, 3, 4 & 5