- COMP6452 Software Architecture for Blockchain Applications
- CS2052 Computer Architecture
- CS4262 Distributed Systems
- CS4342 Advanced Computer Architecture
- CS4482 High Performance Networking
- CS4492 Wireless and Broadband Networking
- CS4532 Concurrent Programming
- Other Courses
COMP6452 Software Architecture for Blockchain Applications
- Course Outline
- Slides
- Welcome
- Introduction
- Blockchain Platforms
- Smart Contracts and Oracles
- Software Architecture Basics
- Blockchain in Software Architecture
- Decentralised Application Design Process
- Blockchain Taxonomy
- Design Patterns for Blockchain Applications
- Characteristics & Limitations: Functionality, Performance, & Reliability
- Characteristics & Limitations: Security, Privacy, & Data Quality
- Smart Contract Testing
- Interoperability
- Cost
- Labs
CS2052 Computer Architecture
- Course Outline
- Slides
- Computer Architecture – An Introduction
- ALU Design – Digital Logic
- ALU Design – Combinational Circuits
- Register Design – Sequential Logic Circuits
- Programming Microprocessor – Instruction Set Architecture
- Instruction Set Architecture – II
- Data Representation
- Busses
- Memory Organization
- Input & Output
- CPU Performance Enhancements
- Labs
- Lab 1 – Introduction to Development Environment (BASYS2 schematics), (BASYS3 VHDL)
- Lab 2 – Behavioural Simulation (BASYS2 schematics), (BASYS3 VHDL)
- Lab 3 – Ripple Carry Adder (BASYS2 schematics), (BASYS3 VHDL)
- Lab 4 – Combinational Circuits (BASYS2 schematics), (BASYS3 VHDL)
- Lab 5 – Counter with External Input (BASYS2 schematics), (BASYS3 VHDL)
- Lab 6 – Arithmetic Unit (BASYS2 schematics), (BASYS3 VHDL)
- Lab 7 – 7-Segment Display (BASYS2 schematics), (BASYS3 VHDL)
- Lab 8 – Assembly Programming
- Lab 8 (optional) – Tally Unit (BASYS2 schematics)
- Lab 9-10 – Nanoprocessor Design Competition (BASYS2 schematics), (BASYS3 VHDL)
- Exam Papers
CS4262 Distributed Systems
- Course outline
- Slides
- Distributed Systems – An Introduction
- Topologies of Distributed Systems
- Communication in Distributed Systems
- CAP Theorem and Split Brain Syndrome
- Message and Stream Oriented Communication
- Content Delivery Networks (CDN)
- Physical and Logical Clocks
- Transactions and Concurrency Control
- Cloud Computing
- Labs
- Exam Papers
CS4342 Advanced Computer Architecture
- Course Outline
- Slides
- Labs
- Exam Papers
CS4482 High Performance Networking
- Course Outline
- Slides
- Exam Papers
CS4492 Wireless and Broadband Networking
- Course Outline
- Slides
- Labs
- Exam Papers
CS4532 Concurrent Programming
- Course Outline
- Slides
- Introduction to Concurrent Programming
- How Much Parallelism?
- Shared Memory Programming with Pthreads and OpenMP
- Mutual Exclusion
- Interprocess Communication
- Writing Concurrent Programs Using Basic Constructs
- Concurrent Programming Patterns
- Solution Patterns for Parallel Programming
- Deadlocks
- Mutual Exclusion in Distributed Memory Systems
- Introduction to Accelerators
- Distributed Memory Programming with MPI
- Labs
- Exam Papers