Seems a shame that there wasn't a Portugol interpreter/compiler handy to at least see things running on a machine before moving to C. Probably would have been a good class assignment to more advanced students to build something like that.
How awesome would it have been to be a high performing student, writing programs that a lower performing student would have to execute manually on your simulated computer system. So much good stuff here. Do you want to layout the nand gate or BE the nand gate? Or be the one that decides which problems the nand gate solves?