Required Textbook

Zelle, John M. Python Programming: An Introduction to Computer Science 2nd (or 3rd) ed. Franklin, Beedle & Associates, Inc. ISBN-13: 978-1590282410

Tentative Schedule

Week 01.
Wednesday(2017-08-23): Variables, Input, and Output
Topics Introduced: How to declare variables and assign them values. How to print to the console view. How to ask user for values through the console view. How to convert a string to an integer. Some math operations (including integer division)
Functions Introduced: print(). input(). int().
Friday(2017-08-25): Built-in Functions, and More About Variables and Their Data-types
Topics Introduced: How to do more conversions (float, string, integer). String concatenation. Reassigning values to variables. More about Functions and how they operate.
Functions Introduced: round(). type(). float(). str(). abs().
Further Book Readings: 2.3.2, 2.4, & 2.5 (excluding 2.5.3)

Week 02.
Monday(2017-08-28):
Topics Introduced: How to get the date-type of variables. What is 'eval()' and how to use it. Simple loops and how they behave.
Functions Introduced: type(). eval(). range().
Wednesday(2017-08-30):
Topics Introduced: Multiplying a string by an integer (valid). How to use escape characters (\n, \t, \\, ...) in the function print(). How to set the initial value, end value, and step value of a loop and how they behave accordingly.
Friday(2017-09-01):
Topics Introduced: How to create user-defined functions and what exactly happens when we call these functions in our code. How to use 'el' (loop counter variable) to generate different terms according to our needs (Pi approximation example)
Further Book Readings: 2.6 & 2.7

Week 03.
Monday(2017-09-04):
Topics Introduced: How to get the power of numbers. How to import libraries and functions. How to swap the values of two variables (two ways). If statements. Mod operator.
Functions Introduced: pow(). sqrt(). ceil(). floor().
Further Book Readings: 7.1 (excluding 7.1.3), 7.2, & 7.3
Wednesday(2017-09-06):
Topics Introduced: How to use If/Else and elif. How to generate a random number.
Function(s) Introduced: randint().
Friday(2017-09-08): Class Canceled Due to Hurricane Irma

Week 04.
Monday(2017-09-11): Class Canceled Due to Hurricane Irma
Wednesday(2017-09-13): Class Canceled Due to Hurricane Irma
Friday(2017-09-15):
Topics Introduced: Logical Operators (and/or) and their order of operation. ASCII Codes. While loops. Random password generator code.
Function(s) Introduced: chr(). ord().
Further Book Readings: 8.1 & 8.2

Week 05.
Monday(2017-09-18):
Overview of Computers & Computer Programming: Slides Posted on Oaks
Further Book Readings: 1.1 to 1.5
Wednesday(2017-09-20):
Everything is a Number: Slides Posted on Oaks. Practice Questions available on csci250.amhajja.com
Friday(2017-09-22): First Exam

Week 06 (Lists/Strings Part I).
Monday(2017-09-25):
Topics Introduced: Creating Lists. Accessing Lists. Appending to Lists. Looping through Lists. Splitting strings.
Function(s) Introduced: len(). append(). split().
Further Book Readings: 5.1 to 5.3
Wednesday(2017-09-27):
Function(s) Introduced: remove(). pop(). reverse(). append(). lower(). index(). count().
Further Book Readings: 11.2 (excluding 11.2.3)

Week 07 (Lists/Strings Part II & Files).
Monday(2017-10-02):
Topics Introduced: Implementing reverse() on lists. The idea that strings are different than lists because they're immutable.
Topics Introduced: Splitting/Slicing lists/arrays using three indices. How to empty a list. Multiplying a list by a number. Accessing list/string elements using negative indices.
Wednesday(2017-10-04):
Topics Introduced: Opening and reading from files. Closing files. Extracting titles from a web page-source.
Function(s) Introduced: open(). readline(). readlines(). find().
Friday(2017-10-06):
Topics Introduced: Opening and writing or appending to files. Review of functions (arguments/parameters)
Further Book Readings: 5.9

Week 08 (Graphics).
Monday(2017-10-09):
Topics Introduced: How to open a graph window. How to import functions from a separate file (graphics.py). How to draw points, lines, & circles using the functions in graphics.py.
Function(s) Introduced: draw(). sleep(). setFill(). getMouse().
Further Book Readings: 4.3
Wednesday(2017-10-11):
Topics Introduced: How to use color_rgb to fill with random colors. How to move an object in a graph window.
Function(s) Introduced: color_rgb(). getCenter(). getX().
Further Book Readings: 4.4
Friday(2017-10-13):
Topics Introduced: How to open an existing image and anchor it at the center (or any other location) in the graph window. How to get (and set) pixels at location x, y.
Function(s) Introduced: getHeight(). getWidth(). getPixel(). setPixel().

Week 09.
Monday(2017-10-16):
Topics Introduced: How to move an object when the user presses a key on the keyboard.
Function(s) Introduced: getKey().
Wednesday(2017-10-18):
Topics Introduced: Parallel arrays. Providing default values for parameters.
Friday(2017-10-20): Second Exam

Week 10.
Monday(2017-10-23):
Wednesday(2017-10-25):
Friday(2017-10-27):

Week 11.

Week 12.

Week 13.
Monday(2017-11-13): Third Exam
Wednesday(2017-11-15): Continue discussion about dictionaries
Friday(2017-11-17): Exceptions in Python Part I

Week 14.
Monday(2017-11-20): Exceptions in Python Part II
Wednesday(2017-11-22): Thanksgiving Break: No Class
Friday(2017-11-24): Thanksgiving Break: No Class

Week 15.
Monday(2017-11-27): Binary Search
Wednesday(2017-11-29): Sorting Part I
Friday(2017-12-01): Sorting Part II

Week 16.
Monday(2017-12-04): Review

Final Exam

Section 4: Wednesday December 13 from 8:00am to 11:00am