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