Are you a musician using a Windows PC for digital audio processing? Perhaps you’re composing music or perhaps you’re performing on stage. In either case you’ve almost certainly encountered issues with audio ‘glitches’ while using your...
These are lecture notes that I wrote for the course ‘Algorithms and Models of Computation’ at the University of Illinois, Urbana-Champaign for the first time in Fall 2014. This course is a broad introduction to theoretical computer science, aimed at...
Although many single board computers (SBC) exist, the Raspberry Pi Foundation made a huge impact with their range of SBCs, in part due to the availability and low-cost. The Raspberry Pi currently supports a variety of Operating Systems including BSD, Debian, Risc OS,...
How do we decide where to put ink on a page to draw letters and pictures? How can computers represent all the world’s languages and writing systems? What exactly is a computer program, what and how does it calculate, and how can we build one? Can we compress...
The present text evolved from course notes developed over a period of a dozen years teaching undergraduates the basics of signal processing for communications. The students had mostly a background in electrical engineering, computer science or mathematics, and were...