Contents
- 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