CS 111 w20 lecture 26 outline

1 Review

2 Beyond 111

2.1 CS 201: Data Structures

  • The Data Structures course is all about how to store information intelligently and access it efficiently. How can Google take your query, compare it to billions of web pages, and return the answer in less than one second? How can one store information so as to balance the competing needs for fast data retrieval and fast data modification?
  • uses the Java programming language (for now)
  • software development job interviews (including internships) mostly on material from this class
  • prerequisite for everything
  • usually multiple sections every term
    • I will likely teach it next winter

2.2 CS 202: Math of CS

  • This course introduces some of the formal tools of computer science, using a variety of applications as a vehicle. You'll learn how to encode data so that when you scratch the back of a DVD, it still plays just fine; how to distribute "shares" of your floor's PIN so that any five of you can withdraw money from the floor bank account (but no four of you can); how to play chess; and more. Topics that we'll explore along the way include: logic and proofs, number theory, elementary complexity theory and recurrence relations, basic probability, counting techniques, and graphs.
  • one of three required theory-based courses for the major
  • usually two sections per year
    • I am not likely to ever teach this

2.3 CS 208: The Hardware/Software Interface

  • Are you curious what's really going on when a computer runs your code? In this course we will demystify the machine and the tools that we use to program it. Our broad survey of how computer systems execute programs, store information, and communicate will focus on the hardware/software interface, including data representation, instruction set architecture, the C programming language, memory management, and the operating system process model.
  • use the C programming language
  • 111 is the only prerequisite, but taking 201 first is a good idea
  • usually two sections per year
    • I will likely teach it next spring