Final Study Guide

This is simply a guide of topics that I consider important for the midterm. I don’t promise to ask you about them all, or about any of these in particular; but I may very well ask you about any of these, as well as anything we discussed in class, in the discussion section, or that is in the text.

  1. Basics of programming
    1. Programming languages: high-level, low-level
    2. Syntax errors, semantic errors
    3. Programming in Python
      1. IDLE
      2. Comments
  2. Basics of Python
    1. Variable names
    2. Keywords
    3. Data types (integer, float, string, boolean)
  3. Expressions
    1. Arithmetic operators; precedence
    2. String operators
    3. Logical operators
    4. Relational operators and Boolean values
    5. Type conversion functions (int, float, str, list)
  4. Input and output
    1. input function
    2. print function; end= in the print function
  5. Statements
    1. Assignments
    2. for loop; range
    3. while loop
    4. if, if ... else, if ... elif ... else, nested ifs
  6. Functions
    1. Defining them
    2. Parameter lists and how they work
    3. Returning a value; return statement
    4. Parameters and arguments
    5. Scope (local vs. global, etc.)
    6. Recursion
    7. Memos in recursive functions
  7. Sequences
    1. Strings, string operations (+, *), string methods
    2. Lists, list operations (+, *), list methods
    3. Tuples
    4. Mutable vs. immutable
    5. Indexing (var[position])
    6. Slicing (var[start:end])
    7. Membership (in)
    8. References, aliasing
  8. Dictionary
    1. What it is
    2. Methods for dictionaries
    3. How to use a dictionary
  9. File I/O
    1. Opening and closing files
    2. Reading and writing files
  10. Exceptions
    1. Interpreting error messages
    2. Catching them (try ... except ... else ... finally)
    3. Throwing them (raise)
    4. Common exceptions

A PDF version is available here.
ECS 10, Basic Concepts of Computing
Fall Quarter 2012