Date  Details  HW assignment 
Week 1  
08/29  topics to be covered: 1.1 The Universal Machine 1.2 Program Power 1.3 What is Computer Science? 1.4 Hardware Basics Lecture slides: lecture1.pdf lecture video about Hardware (from YouTube): https://youtu.be/ctAVC2JwEwI program: myFirstProgram.py 
HW 1 (due date: Thursday, August 31st) not for grade:
Here are the pictures of Chapter 1 Exercises for those who don't have a book yet: page 21, page 22, page 23, page 24, page 25 
If you want to speed up your Python programming language aquisition then try one of these resources: 1) codecademy: https://www.codecademy.com/learn/learnpython 2) Coding Bat: http://codingbat.com/python 

08/31  topics to be covered: 1.5 Programming Languages 1.6 The Magic of Python 1.7 Inside a Python Program 1.8 Chaos and Computers Lecture slides: CSI31lecture02.pdf programs: chaos.py, chaos_comments.py inclass assignment: CSI31lecture02InClassAssignment.pdf a possible solution for problem 2 from inclass assignment: inClassAssignment2.py 
HW 2 (due date: Tuesday, September 5th):
Here are the pictures of Chapter 1 Exercises for those who don't have a book yet: page 21, page 22, page 23, page 24, page 25 
Answers to T/F, Multiple Choice and Discussion questions from Chapter 1:
CSI31Chapter1answers.pdf URL for homework's status: https://goo.gl/Mf82hU Week 2: 

09/05  topics to be covered: 2.1 Software Development Process 2.3 Elements of Program 2.4 Output Statements 2.5 Asssignment Statements Lecture slides: CSI31lecture03.pdf programs: area.py, area_2.py inclass assignment: CSI31lecture03InClassAssignment.pdf Solutions: CSI31_Lecture03InclassAssignmentSols.pdf 
HW3
(due date: Tuesday, September 12th):

09/07  topics to be covered: 2.6 Definite Loops 2.7 Example Program: Future Value Lecture slides: CSI31lecture04.pdf programs: for_loop_list.py, futureValue.py inclass assignment: CSI31Lecture04_InClassAssignment.pdf Solutions: CSI31Lecture04_InClassAssignmentSols.pdf 
HW4 (due date: Thursday, September 14th):

Chapter 2 answers to True/False and Multiple Choice questions:
CSI31Chapter2answers.pdf Week 3: 

09/12  topics to be covered: 3.1 Numeric Data Types 3.2 Type Conversions and Rpunding 3.3 Using Math Library 3.4 Accumulating Results: Factorials Lecture slides: CSI31lecture05.pdf programs: example.py, factorial.py inclass assignment: CSI31lecture5InClassAssignment.pdf, InClassAssignment1_sketch.py, InClassAssignment2_mod_errors.py Solutions: InClassAssignment1.py, InClassAssignment2_mod.py 
HW5
(due date: Tuesday, September 19^{th}):

09/14  topics to be covered: 3.4 Limitations of Computer Arithmetic 7.1 Simple Decisions 7.2 TwoWay Decisions Lecture slides: CSI31lecture06.pdf programs: wage.py, wage_mod.py, simpleDecision.py, simpleDecision_mod.py, simpleDecision_mod2.py, inclass assignment: CSI31lecture06InClassWork.pdf answers/solutions: CSI31lecture06InClassWorkAnswers.pdf 

Chapter 3 answers to True/False and Multiple Choice questions:
CSI31Chapter3answers.pdf Week 4: 

09/19  follows Thursday schedule! topics to be covered: 7.3 Multiway Decisions 7.4 Exception Handling 7.5 Study in Design Lecture slides: CSI31lecture07.pdf programs: quadraticequation.py, quadraticequation_mod.py, quadraticanother.py, quadraticanother2.py inclass assignment: CSI31_lecture07InClassWork.pdf answers/solutions: CSI31_lecture07InClassWorkAnswers.pdf 
HW7
(due date: Thursday, September 28^{th}):

09/2009/22  no classes  
Chapter 7 answers to True/False and Multiple Choice questions:
CSI31Chapter7answers.pdf Week 5: 

09/26  topics: 4.1 Overview 4.2 The object of objects 4.3 Simple graphical programming 4.4 Using Graphical Objects Lecture slides: CSI31lecture08.pdf programs: example1.py, anySizeWindow.py, points.py Graphics library: graphics.py Reference Manual for graphics library: graphics.pdf webpage for graphics library: http://mcsp.wartburg.edu/zelle/python/ inclass assignment: CSI31lecture08InClassAssignment.pdf, inClassAssignment1_sketch.py answers/solutions: inClassAssignment1.py 
HW8 (due date: Tuesday, October 3^{rd}):

09/28  topics: 4.4 Using Graphical Objects (continues) 4.5 Graphing Future Value 4.7.1 Mouse Clicks Lecture slides: CSI31lecture09.pdf programs: ovals.py, ovalscorrected.py, futurepricetext.py, futurepricegraphics.py, mouseClicks.py, futurepricegraphics_mod.py inclass assignment: CSI31lecture09InClassAssignment.pdf answers/solutions: inClassAssignment.py 
HW9 (due date: Thursday, October 5^{th}):

Chapter 4 answers to True/False and Multiple Choice questions:
CSI31Chapter4answers.pdf Midterm exam will take place on Tuesday, October 17^{th} Study guide: CSI31_midterm_exam_studyGuide.pdf Week 6: 

10/03  topics: 4.6 Choosing coordinates 4.7 Interactive Graphics Lecture slides: CSI31lecture10.pdf programs: quadrilateral.py, tictactoe_begin.py, conversion.py, slideshow.py pictures for slideshow: Celtictreeoflife.gif, treeoflife.gif, TreeOfLife.gif or: inclass assignment: CSI31lecture10InClassAssignment.pdf answers/solutions: inClassAssignment1.py, inClassAssignment2.py, inClassAssignment3.py 
HW10 (due date: Tuesday, October 10^{th}):

10/05  topics: 5.1 The String Data Type 5.2 Simple String Processing 5.3 Lists as Sequences Lecture slides: CSI31lecture11.pdf programs: string_operations.py, months_string.py, months_lists.py, matrix_intro.py inclass assignment: CSI31lecture11InClassAssignment.pdf answers/solutions: inClassAssignment2.py, inClassAssignment3.py 
HW11 (due date: Thursday, October 12^{th}):

No classes on Monday (Columbus day)  the college will be closed Week 7 

10/10  topics: 5.4 String representation and message encoding 5.5 String methods 5.6 Lists have methods, too 5.7 From encoding to encryption Lecture slides: CSI31lecture12.pdf programs: encoding.py, decoder.py, date.py, re_ordering.py, CaesarCipherencoding.py inclass assignment: CSI31Lecture12_inClassAssignment.pdf, inClassAssignment3_notWorking.py answers/solutions: inClassAssignment2.py, inClassAssignment3.py 
HW12 (due date: Thursday, October 19^{th})  changed to Friday, October 20th:

10/12  topics: 5.8 Input/Output as String Manipulation 5.9 File processing Lecture slides: CSI31lecture13.pdf programs: experiments.py, readAllfromFile.py, readAllfromFile_mod.py, createDataFile.py, processDataFile.py Files: data.txt, numbers.txt, names.txt inclass assignment: CSI31lecture13InClassAssignment.pdf, inClassAssignment2_draft.py, myFile answers/solutions: inClassAssignment1.py, inClassAssignment2.py 
HW13 (due date: Saturday, October 21^{st}) extended to Saturday, October 28th:

Chapter 5 answers to True/False, Multiple Choice and Discussion questions:
CSI31Chapter5answers.pdf Week 8: 

10/17  Ask an Astronaut Event The BCC Office of Government Relations and External Affairs and US Congressman Serrano are cohosting an event titled "ASK AN ASTRONAUT" with NASA astronaut Lee Morin on Tuesday, October 17th, from 10 am until noon at Schwendler Auditorium (Meister Hall). Please take this opportunity to learn about the exciting career path and the extraordinary accomplishments of Dr. Morin. He holds several postgraduate degrees, including an M.D. and a Ph.D. and is a retired US Navy Captain. As an astronaut, Dr. Marin logged 259 hours in space, including 14 spacewalk hours. A short biography listing his many accomplishments can be found here: morin.pdf. Congressman José Serrano for the 15th district of New York in the Bronx will also speak about his service in government and his work with NASA. There will be refreshments served and NASA related materials given out at the event. For more information, please see the following pdf: NASA_Flyer.pdf Please take advantage of this unique opportunity to hear from one of the few individuals in the world that has been in space. 

10/19  Midterm exam Study guide: CSI31_midterm_exam_studyGuide.pdf Part 1: you can use textbook, your notes, pdf of the book, but no Python Interpreters nor search engines (1 hour long). Part 2: you can use textbook, your notes, and computers (50 minutes long). 

Week 9:  
10/24  topics: Chapter 6. Defining Functions 6.1 The Function of Functions 6.2 Functions, Informally 6.3 Future Value with a Function 6.4 Functions and Parameters: The Details 6.5 Functions That Return Values Lecture slides: CSI31lecture14.pdf programs/input files: four_numbers.py, square.py, removeSpaces.py, input.txt, triangle.py inclass assignment: CSI31_lecture14InClassAssignment.pdf, InClassAssignment2_draft.py, InClassAssignment3_draft.py answers/solutions: InClassAssignment1.py, InClassAssignment2.py, InClassAssignment3.py 
HW14 (due date: Wednesday, November 1^{st}):

10/26  topics: Chapter 6. Defining Functions 6.5 Functions That Return Values (continues) 6.6 Functions that Modify Parameters 6.7 Functions and program structure Lecture slides: CSI31lecture15.pdf programs: prog1.py, prog2.py, prog3.py, tests.py inclass assignment: CSI31_lecture15inClassAssignment.pdf, InClassAssignment2.py, InClassAssignment3.py answers/solutions: InClassAssignment2_answer.py, InClassAssignment3_Fall2017.py 
HW15 (due date: Friday, November 3^{rd}):

Chapter 6 answers to True/False, Multiple Choice and Discussion questions:
CSI31Chapter6answers.pdf Week 10: 

10/31  topics: Chapter 8. Loops structures and booleans 8.1 For loops: a quick review 8.2 Indefinite loops 8.3 Common loop patterns: interactive, sentinel Lecture slides: CSI31_lecture16.pdf programs/input files: example1.py, average_i.py, average_s.py, average_s_mod.py, average_i_exceptions.py, average_s_mod_exceptions.py, average_file.py, average_file_mod.py, input.txt, input2.dat, input3.dat inclass assignment: CSI31_lecture16InClassAssignment.pdf answers/solutions: CSI31_lecture16InClassAssignmentAnswers.pdf, InClassAssignment3.py 
HW16 (due date: Tuesday, November 7^{th}):

11/2  topics: Chapter 8. Loops structures and booleans 8.3 (Continues) Common loop patterns: nested loops 8.4 Computing with booleans 8.5 Other common structures: posttest, loop and half Lecture slides: CSI31_lecture17.pdf programs/input files: read_all_numbers.py, temperature.py, temperature_infiniteLoop.py inclass assignment: CSI31_lecture17InClassAssignment.pdf answers/solutions: CSI31_lecture17InClassAssignmentAnswers.pdf 
HW17 (due date: Thursday, November 9^{th}):

Chapter 8 answers to True/False, Multiple Choice and Discussion questions:
CSI31Chapter8answers.pdf Week 11: 

11/7  topics: Chapter 9. Simulation and Design 9.1 Simulating racquetball 9.2 Pseudorandom numbers 9.3 Topdown design 9.4 Bottomup implementation Lecture slides: CSI31_lecture18.pdf programs/input files: racquetball.py inclass assignment: CSI31_lecture18InClassAssignment.pdf answers/solutions: Assignment 3 is to be discussed at our next meeting 
HW18 (due date: Tuesday, November 14^{th}):

11/9  topics: Chapters 9 and 10 9.5 Other design techniques Lecture slides: CSI31_lecture19.pdf programs/input files: racquetballGraphics.py, Racquetball 2.gif inclass assignment: implement craps game 
HW19 (due date: Thursday, November 16^{th}):

Chapter 9 answers to True/False, Multiple Choice and Discussion questions:
CSI31Chapter9answers.pdf Week 12: 

11/14  topics: Chapter 10. Defining Classes 10.1 Quick review of objects 10.2 Example program: target 10.3 Defining new classes Lecture slides: CSl31_Lecture20.pdf programs/input files: target.py, target_mod.py, dice.py, dice_graphics.py, die1.gif, die2.gif, die3.gif, die4.gif, die5.gif, die6.gif, tworeddice.gif inclass assignment: CSl31_Lecture20InClassAssignment.pdf, inClassWork2.py answers/solutions: CSl31_Lecture20InClassAssignmentAnswers.pdf  corrected on 11/17 12:30pm, inClassWork2_answer.py 
work on inclass assignment 
11/16  topics: Chapter 10. Defining Classes 10.4 Data processing with class 10.5 Objects and encapsulation 10.6 Widgets Lecture slides: CSl31_Lecture21.pdf programs/input files: studentsGPA.py, students.txt, program.py, button.py, die.py, dieView.py, die1.gif, die2.gif, die3.gif, die4.gif, die5.gif, die6.gif, tworeddice.gif inclass assignment: CSl31_Lecture21InClassAssignment.pdf, cardTesting.py answers/solutions: will not be posted 
HW20 (due date: Thursday, November 30^{th}):

Chapter 10 answers to True/False, Multiple Choice and Discussion questions:
CSI31Chapter9answers.pdf Week 13: 

11/21  Tuesday runs on Friday's schedule no meeting 
work on your HW assignments and Final Project 
11/23  Thursday  Sunday 11/23  11/26 College is closed 
work on your HW assignments and Final Project click on the image to see larger size 
Week 14: 

11/28  topics: Chapter 11. Data Collections More about classes 11.1 Example problem: simple statistics 11.2 Applying lists 11.3 Lists of records Lecture slides: CSl31_Lecture22.pdf programs/input files: conventionsExample.py, targetClass.py, usingTarget.py, background1.gif, simpleStats.py, input1.txt, input2.txt, student.py, studentOrderingByGPA.py, students.txt inclass assignment: CSl31_Lecture22InClassAssignment.pdf answers/solutions: CSl31_Lecture22inClassAssignmentAnswers.pdf 
HW21 (due date: Tuesday, Deccember 5^{th}):

11/30  topics: Chapter 11. Data Collections 11.4 Designing with lists and classes 11.7 Nonsequential collections Lecture slides: CSl31_Lecture23.pdf programs/input files: othello.py, students.txt, studentsRecordsAsDictionary.py inclass assignment: CSl31_Lecture23inClassAssignment.pdf answers/solutions: to be posted 
HW22 (due date: Thursday, December 7^{th})  last HW assignment:

Final Exam is scheduled for Tuesday, December 19^{th} 10:00 am to 11:50 am at CPH 320 Week 15: 

12/05  Review Slides: lecture24noAnswers.pdf Answers: CSI31_Lecture24withAnswers.pdf 

12/07  Review Slides: CSI31_Lecture25noAnswers.pdf testing set: testingSet.py Answers: CSI31_Lecture25withAnswers.pdf set (solution): CSI31_Lecture25_set.py Final exam study guide: final_exam_CSI31studyGuide.pdf 

Weeks 16 & 17: 

12/12  Final Project demonstrations  
12/19  Final Exam The Final Grade is composed of: HWs (30%) Midterm Exam (30%) Final Project (20%) Final Exam (20%) 