TOPICS FOR THE COP 3223H EXAM on Introductory Python Programming $Date: 2019/01/23 21:53:20 $ This exam covers topics from homeworks 1-2. It is related to the course outcome [Programming]. REMINDERS For this exam you are permitted one page of notes. It is a good idea to condense your notes into a small amount of ready reference material. If you need more space, use the back of a page. Note when you do that on the front. Before you begin, please take a moment to look over the entire test so that you can budget your time. Clarity is important; if your answers are sloppy and hard to read, you may lose some points. READINGS We recommend reading the materials referred to in the course syllabus. In particular the following: * Arup Guha. Programming Knights: An Introduction to Computer Programming in Python and C, Pearson Learning Solutions, 2013. Chapters 1, 2.1, 4.1-4.2. If you have time, you might also read * C. H. Swaroop. A Byte of Python, version 4.0, January 2016. Online at https://python.swaroopch.com/, up to the chapter on functions. * Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers. How to Think Like a Computer Scientist, version of October 2012. Online at: http://openbookproject.net/thinkcs/python/english3e/index.html, chapters 1-5 TOPICS In the following, I use + to denote relatively more important topics, and - to denote relatively less important topics. Topics marked with ++ are almost certain to be on the exam. All of these are fair game, but if you have limited time, concentrate on the ones that are more important first (and in those, the ones you are most uncertain about). SKILLS [Programming] ++ Write a Python function to compute some numerical function. (HW1: moons, discriminant, lightSecs, marsweight) ++ Write a Python procedure that interacts with the user to compute some function of its inputs. (HW2: average4, oldmacdonald) ++ Write a Python procedure that interacts with the user to compute some property of its inputs. (HW2: isdescending) CONCEPTS [Semantics] You should understand the following concepts and terms and be able to use them in solving problems. + int and float types in Python + arithmetic operators in Python (+, -, *, /, //, %) + comparison operators in Python (<, >, ==, >=, <=, !=) + Boolean operators in Python (and, or, not) + expressions, statements - difference between functions and procedures + return statement in Python + assignment statement in Python + conditional statements and expressions + Comment and documentation string conventions in Python + assert statement and testing + math module's isclose function + difference between returning a value and printing a value + print and input procedures in Python + prompting + stdin, stdout streams - stderr stream - strictly descending, strict comparisons