Uganda Martyrs University, Faculty of Science, Department of Computer Science and Information Systems. Year II, Semester I, 4 credit units. Lecturer: Bazigu Rodgers, Lecturer in Artificial Intelligence, Machine Learning and Blockchain (rbazigu@umu.ac.ug).
Everything below is the short version. The full course introduction, with the week-by-week schedule, the outcome-to-assessment matrix and the complete policy text, lives in the course app: open the Course Introduction page.
What this course is about
ACBAT2101 treats cryptography, blockchain systems and algorithmic trading as one subject rather than three. They are usually taught apart, a mathematics course here, a distributed-systems course there, a finance elective somewhere else, but the failures in this industry happen at the seams between them. A signature scheme is implemented correctly and then keyed from a predictable seed. An exchange has sound matching logic and no custody discipline. A trading strategy survives every backtest because the backtest was written by the person who needed it to work.
The course is also built for where you are. Uganda's mobile-money system is one of the more instructive distributed ledgers in the world, and the digital-asset products sold here are sold to your families, your SACCOs and your former classmates. Much of that marketing is promotional rather than truthful, and very little of it is regulated. You will be among the few people in the room equipped to check it.
So the posture of this course is skeptical by design. You will implement primitives rather than describe them, attack a smart contract before you defend one, and run a backtest and then be asked to show why it lies. By the end you should be able to sit across from someone selling a digital-asset product and ask the small number of questions that decide whether it is sound.
Who it assumes you are
Expected of you:
- You can write and debug Python: loops, functions, dictionaries, and a library you have not used before.
- You have met basic probability and descriptive statistics, and are willing to meet them again with money attached.
- You have a laptop, or reliable access to one, and can run a notebook in Google Colab or Kaggle if your machine cannot run Python locally.
Not expected of you:
- No prior knowledge of blockchains, cryptocurrencies or trading. Module 1 starts from what money is.
- No prior Solidity. Module 7 teaches contract security from the ground up, and is the one module marked by hand rather than by the autograder.
- No capital. You will never be asked to fund an account or place a live trade.
What you should be able to do by the end
- Apply cryptographic primitives (hashes, signatures, commitments, zero-knowledge proofs) to the design and review of financial-technology systems.
- Architect and critique blockchain, custody and exchange systems against their failure modes.
- Design and backtest algorithmic trading strategies with honest statistics, risk limits and deployment hygiene.
- Evaluate DeFi, oracle and MEV risk in on-chain trading and custody systems.
- Apply Ugandan and international regulation, AML and data-protection duties to fintech products.
- Conduct due diligence on crypto and trading platforms using a structured red-flag framework.
What each module contains
Every one of the eighteen modules is built from the same seven sections:
- A. Lecture narrative. The week's argument written out in full, not bullet points. Read it before the lecture and you will follow the lecture; read it after and it is your revision text.
- B. Slide deck. The lecture in slides, for review and for catching up after a missed session.
- C. Lab walkthrough. A guided, worked notebook. You follow it, run it, and see the mechanism work. Submitted as an executed notebook.
- D. Programming exercise set. The same ideas without the guide rails: your own code, marked by the autograder. Submitted separately from the walkthrough.
- E. Tutorial discussion questions. The questions the code cannot answer: design trade-offs, incentives, and where a system's guarantees actually stop.
- F. Case study. A real system, usually a failed one, examined for what its designers believed and where that belief broke.
- G. Assessment items. Specimen questions in the style of the mid-term and the final, so nothing in an examination is a surprise in format.
The lab walkthrough and the programming exercise set are two separate submissions, and both count toward the 15% lab-notebook component.
How the semester runs
Eighteen teaching weeks, one module a week, at 3 lecture hours, 3 lab hours and 1 tutorial hour, with about 66 hours of independent study across the semester.
- Weeks 1 to 9. Foundations through custody and exchange security: money, Bitcoin, cryptography, blockchain architecture, consensus, contracts, tokenomics, custody. The mid-term examination falls in week 9.
- Weeks 10 to 18. Trading mechanics, machine learning, stablecoins, DeFi lending, tokenization, regulation, market microstructure, portfolio theory and deployment.
- From week 14. The capstone runs in parallel with teaching, in five milestones: data acquisition, signal research, execution and slippage, risk management, and reporting. The oral defence is in week 18.
- After week 18. The final examination, closed-book and invigilated.
How you are assessed
Coursework 40%, final examination 60%, in line with NCHE norms for a 4-credit-unit course. The coursework mark is made up of:
- Weekly lab notebooks, graded for reproducibility and correctness: 15%
- Formative weekly quizzes, best 12 of 18: 5%
- Mid-term examination: 10%
- Capstone project and oral defence: 10%
All summative assessment is internally moderated before release. At least 20% of coursework and the full capstone cohort are second-marked, and a discrepancy above 5% triggers a moderation meeting and remarking of the whole set.
What you need, and the rules that matter
- Equipment. A laptop running Python, or a free cloud notebook (Google Colab or Kaggle) if it cannot. A Google account if you intend to work in Colab, as most students do.
- Attendance. Lectures and tutorials are expected, and a minimum of 75% attendance is required to sit the final examination, in line with university regulation. Lab attendance is mandatory for graded lab notebooks.
- Late work. Lab notebooks lose 10% per day for up to three days; more than three days late scores zero unless an extension has been approved. Quizzes cannot be submitted after the due date.
- Accommodations. If you have a documented disability or learning need, contact the lecturer and the faculty office in the first two weeks so extra time and accessible lab arrangements can be put in place.
- No real money. This course requires no funds. All trading, backtesting and execution work uses historical data, paper-trading sandboxes or public testnets. Do not risk personal capital on a live exchange for any assignment.
How to start
- Read the Course Introduction page in the app to the end: the weekly schedule and the full policies are there.
- Take the readiness check, a short self-check on the programming and statistics the first modules assume. Do it before week 2, not after.
- Open Module 1. Read the lecture narrative first, then work the lab walkthrough with the notebook open beside it.
- Submit both notebooks as executed .ipynb files with their outputs visible.
- Keep an eye on announcements. New modules, quiz windows and any change to a deadline are posted there first.
If something is unclear, a concept, a mark, an exercise that will not run, write to the lecturer rather than guessing. Questions asked in week 2 are cheaper than questions asked in week 17.
- Teacher: BAZIGU RODGERS

- Teacher: Nanyonjo Juliet