Schedule

Section numbers in the textbook are noted as “§1.2,” and correspond to the 6th edition. If you have a different edition, see this table to find corresponding section numbers. The schedule is available as schedule.ics – copy that link to subscribe or import it into Google Calendar and other systems.

  • Wed 23 Jan: Meeting 1

    Introduction, and positional numbering. Read §2.1

  • Mon 28 Jan: Meeting 2

    Binary natural numbers. Read §2.2

  • Wed 30 Jan: Meeting 3

    Signed two’s complement numbers. Read §3.1–3.2

  • Mon 4 Feb: Meeting 4 [quiz]

    Text encodings. Read §3.3

  • Wed 6 Feb: Meeting 5

    Text compression.

  • Mon 11 Feb: Meeting 6

    Graphics encoding. Read §3.5

  • Wed 13 Feb: Meeting 7

    Audio/video encoding. Read §3.4, 3.6

  • Mon 18 Feb: Assignment 1 due

    Text compression

  • Mon 18 Feb: No class – Presidents’ Day
  • Tue 19 Feb: Meeting 8 [quiz]

    Boolean logic. Read §4.1–4.2

  • Wed 20 Feb: No class – I am out of town

    We will substitute some online content and exercises. Combinational circuits. Read §4.3, 4.4

  • Mon 25 Feb: Meeting 10

    Memory and the Turing Machine model. Read §4.5, 5.1

  • Tue 26 Feb: Assignment 2 due

    Image representation

  • Wed 27 Feb: Meeting 11 [quiz]

    The von Neumann architecture and machine code. Read §5.2, 6.1–6.3

  • Sun 3 Mar: Assignment 3 due

    Combinational circuits

  • Mon 4 Mar: Meeting 12

    Algorithms and complexity. Read §6.5, 7.1–7.2

  • Wed 6 Mar: Meeting 13

    Searching and sorting. Read §7.4–7.5

  • Mon 18 Mar: Meeting 14

    Python syntax.

  • Wed 20 Mar: Meeting 15 [exam]

    Midterm exam.

  • Sun 24 Mar: Assignment 4 due

    Sorting and searching

  • Mon 25 Mar: Meeting 16

    Python programming.

  • Wed 27 Mar: Meeting 17

    More programming.

  • Mon 1 Apr: Meeting 18

    Other programming languages. Read §9.2–9.3

  • Wed 3 Apr: Meeting 19

    What is an Operating System? Read §10.1–10.4

  • Sun 7 Apr: Assignment 5 due

    Python program

  • Mon 8 Apr: Meeting 20

    Introduction to Linux and the network stack. Read §15.1–15.4

  • Wed 10 Apr: Meeting 21 [quiz]

    Languages and protocols of the web. Read §16.1–16.2

  • Mon 15 Apr: Meeting 22

    The relational data model. Read §12.3

  • Wed 17 Apr: Meeting 23

    Introduction to SQL.

  • Sun 21 Apr: Assignment 6 due

    Web page

  • Mon 22 Apr: Meeting 24 [quiz]

    Overview of Artificial Intelligence. Read §13.1–13.3

  • Wed 24 Apr: Meeting 25

    Planning and searching techniques. Read §17.1–17.2

  • Sun 28 Apr: Assignment 7 due

    Artificial intelligence

  • Mon 29 Apr: Meeting 26

    Authentication and authorization.

  • Wed 1 May: Meeting 27 [quiz]

    Cryptography. Read §17.4–17.5

  • Mon 6 May: Meeting 28

    Wildcard day and wrap-up.

  • Final exam date to be determined

    Finals week is Wed 8 May–Tue 14 May

  • Fri 10 May: Assignment 8 due

    Cryptography