This first-year course covers the fundamentals of digital logic and computer architecture. Others have taken over the course and enhanced it with a set of Powerpoint slides. All that appears here are the documents that I prepared when I gave the course.
The course had one practical exercise, using Haskell to build a simulation of a carry lookahead adder.
Solutions for the problem sheets and practical are accessible to tutors on a different page.