The course schedule, including all deadlines and meeting times, is available as a Google Calendar or an ‘ICS’ feed. Select the tab for your section, and then click the ‘+’ button or ICS link to subscribe.
Section numbers in the textbook are noted as ‘§1.2’, and correspond to the 6th edition. If you have a different edition, see the table at https://liucs.net/u562 to translate the section numbers.
Meeting 1. Introduction, and positional numbering. Read §2.1.
Meeting 2. Binary natural numbers. Read §2.2.
Meeting 3. Signed two’s complement numbers. Read §3.1, 3.2.
Meeting 4. Text encodings. Read §3.3.Quiz 1.
Meeting 5. Text compression.
Meeting 6. Graphics encoding. Read §3.5.
Assignment 1 due at 23:59.
Meeting 7. Audio/video encoding. Read §3.4, 3.6.
Meeting 8. Boolean logic. Read §4.1, 4.2.Quiz 2.
Assignment 2 due at 23:59.
Meeting 9. Activity about combinational circuits. Read §4.3, 4.4.
Meeting 10. Memory and the Turing Machine model. Read §4.5, 5.1.
Meeting 11. The von Neumann architecture and machine code. Read §5.2, 6.1, 6.2, 6.3.Quiz 3.
Assignment 3 due at 23:59.
Meeting 12. Algorithms and complexity. Read §6.5, 7.1, 7.2.
Meeting 13. Searching and sorting. Read §7.4, 7.5.
Meeting 14. Python syntax.
Meeting 15. Midterm exam.
Assignment 4 due at 23:59.
Meeting 16. Python programming.
Meeting 17. More programming.
Meeting 18. Other programming languages. Read §9.2, 9.3.
Meeting 19. What is an Operating System? Read §10.1, 10.2, 10.3, 10.4.
Assignment 5 due at 23:59.
Meeting 20. Introduction to Linux and the network stack. Read §15.1, 15.2, 15.3, 15.4.
Meeting 21. Languages and protocols of the web. Read §16.1, 16.2.Quiz 4.
Meeting 22. The relational data model. Read §12.3.