This is intended to give you a sense of what I think is important from the course so far, and what I will be thinking of when creating the exam. I hate disclaimers, but here are some anyway. This is not a contract. I may have inadvertently left something off this list that ends up in an exam question. I make no guarantees that the exam will be 100% limited to items listed below. Moreover, I will not be able to test all of this material given the time limitations of the exam. I will have to pick and choose some subset of it. You are permitted one 8.5 x 11 sheet of paper with notes (both sides) for use as a reference during the exam. Here are the specifics: Students should be able to... Demonstrate ability to interpret and utilize conditional statements work ("if"). Can interpret and construct complex conditions involving and, or, not, ==, <, <=, >, >=. Can evaluate Boolean expressions to get appropriate answer (True or False). Demonstrate understanding of differences between =, ==. Can construct and/or interpret complex usages of "if", "elif", and "else", including nesting. Be able to write a function to perform a specified task. Be able to correctly predict results from a program that utilizes functions, parameters, and local variables. Be able to appropriately handle use return statements and return values. Be able to distinguish when changing a parameter inside of a function has effects outside of that function. Demonstrate ability to interpret and utilize loops work ("while", "for"). Can interpret and construct code that does repetitive tasks, including nested loops. Be able to write code to do image processing, both in gray and color, similar to the examples we did for the assignments. Be able to create and use lists and dictionaries. Be able to manipulate lists and dictionaries within the contexts of loops and "if" statements to accomplish a desired task. Continue to be able to use important programming skills from the first third of the course, such as arithmetic, files, strings, input/output, and so on. Exam questions won't be written with the explicit purpose of testing these items, but could easily include them as part of a problem designed to test a more recent idea.