notes on computer engineering 5084329