CSC 100: The Beauty and Joy of Computing

A printable PDF is available.

CSC 100 Review for Final Exam

This document gives information to help you study for the final exam in CSC 100. The format of the final exam will be similar to the midterm: some terminology (matching) and some short answer questions, including both explanation/discussion type questions and some simple Snap!/Python code writing and interpretation. The final will include questions from throughout the semester, but will focus primarily on material since the midterm. As a rough estimate, expect about 20% of the exam to cover material from the first part of the semester, and 80% on the material after the midterm. Questions from before the midterm will focus on topics covered on the midterm exam -- if you study from that exam and understand the answers you should be fine (but the key is understanding the answers, not just memorizing them).

There are three primary sources of topics: lectures, labs, and readings. As a suggestion for studying, I would recommend taking the following lists and expanding them to outline all the basic topics and making lists of terminology. Use your notes as a guide, and see the lecture slides on the class web page for additional information. You should also review lab write-ups and the provided solutions. Then think up questions about the material that we covered, and write out answers -- don't just look at the questions and say "OK, I know that" because people are really good at fooling themselves! By forcing yourself to write out answers to questions, you really have to address the questions and not just skip over them. The best approach for most people is to organize study groups so you can ask each other questions, but you can still do this fairly effectively if you are studying on your own.

Topics Since the Midterm

The following lectures were after the midterm:

  • Lecture 13: Reductions, Self-Similarity, and Recursion
  • Lecture 14: Data Representation 3 (text and pictures)
  • Lecture 15: Data Representation 4 (sound and video)
  • Lecture 16: Big Data
  • Lecture 17: The Internet - Part 1 (Local area networks)
  • Lecture 18: The Internet - Part 2 (Networks of networks)
  • Lecture 19: Security and Privacy
  • Lecture 20: Artificial Intelligence
  • Lecture 21: Limits and Future of Computing

The following labs were after the midterm:

  • Lab 9: Python and Sprite Graphics (SnapPy)
  • Lab 10: Recursion and Fractals

The following readings were after the midterm:

  • Blown to Bits, Chapter 4: Needles in the Haystack: Google and Other Brokers in the Bits Bazaar
  • Luis von Ahn: Harnessing People-Power
  • Blown to Bits, Chapter 5: Secret Bits: How Codes Became Unbreakable