Date  Details  HW assignment 
Week 16 

12/11  Preparation for Final Exam Here is the study guide: CSI11_final_exam_studyGuide.pdf Answers/solutions: CSI11_final_exam_studyGuideAnswers.pdf 
review Midterm Exam study guide as well! 
Week 15 

12/06  topics to be covered: Anki Cozmo Robots To do at home: Download and install Anki Cozmo app from Apple AppStore (for iPhones) or Google Play (for Android phones) Bring to class: USB charger for your phone Programs: 01_hello_world.py, 02_drive_and_turn.py, 03_count.py, 04_drive_square.py, 05_face_follower.py, 06_roll_cube.py, 07_lookaround.py Instructions: CSI11_AnkiCozmo.pdf 
Group Project 3 due date: Thursday, December 20th, 11:59pm send file functions.py to my email: natna20@gmail.com Description of the project: CSI11GroupProject3.pdf Files: source1.txt, functions.py, statistics.py 
12/04  topics to be covered: Chapter 13 13.1 Reading files 13.2 Writing files Lecture slides: CSI11Day24_lectureSlides.pdf Programs: workWithFiles1.py, workWithFiles2.py, workWithFiles3.py, workWithFiles4.py, workWithFiles5.py, workWithFiles6.py Input files: source.txt, source2.txt Inclass activities: CSI11_Day24_InClassActivity.pdf 
HW 24 (due date: Saturday, December 8th, 11:59pm): last HW assignment ZyBooks, HW24: Chapter 13: Sections 13.1  13.2 / all participation and challenge activities Programming Assignment: (to be sent to my email: natna20@gmail.com) 1) grab the source file inputFile.txt 2) each line in the file is formatted in the following way: first_name_of_the_person age_of_the_person For example: Jasmine 28 Kevin 22 Paul 21 3) the program should read all information from the source file and create a dictionary, where the first name will serve as a key, and the age will serve as a value, and 4) should display the dictionary Use the following sketch with guidance: CSI11_hw24.py 
Week 14 

11/29  topics to be covered: Chapter 12: Sections 12.1  12.7 Lecture slides: CSI11Day23_lectureSlides.pdf Programs: SquaresOfNumbersInList.py, sortedNamesList.py, roundOffValues.py Inclass activity: CSI11Day21InClassActivity.pdf 
HW 23 (due date: Wednesday, December 5th, 11:59pm): ZyBooks, HW23: Chapter 12: Sections 12.1  12.7 / all participation and challenge activities Programming assignment: question 6 from inclass work 
11/27  topics to be covered: Encryption and Decryption Here is the YouTube video we watched: Cryptography: Crash Course Computer Science #33 Lecture slides: CSI11Day22_lectureSlides.pdf Programs: EncryptingTheMessage.py Inclass activities: CSI11Day22InClassActivity.pdf Inclass activity 3: https://studio.code.org/s/hocencryption/stage/1/puzzle/1 
HW 22 (due date: Saturday, December 1st, 11:59pm): Finish the inclass activity 3: https://studio.code.org/s/hocencryption/stage/1/puzzle/1 Take the pictures of the decrypted text and of the letters assignment and send them my way along with the information about which text (15) you decrypted. 
Week 13 

11/2223  The college is closed. 

11/20  topics to be covered: Chapter 11: Section 11.1 Loop else Section 11.2 Getting both index and value when looping: enumerate() Section 11.3 Section 11.4 Section 11.5 Section 11.6 We started on cryptography. Here is the YouTube video we watched: How does the ENIGMA MACHINE work in the IMITATION GAME Lecture slides: CSI11Day21_lectureSlides.pdf Programs: FunctionsExample1.py, FunctionsExample2.py, FunctionsExample3.py Inclass activity: CSI11Day21InClassActivity.pdf 
HW 21 (due date: Tuesday, November 27th, 11:59pm): ZyBooks, HW21: Chapter 11: Sections 11.1  11.6 / all participation and challenge activities Programming Assignment: (to be sent to my email: natna20@gmail.com) Define a function maximum that takes two numbers as parameters and returns the greatest of them. For example, the function call maximum(12.5,9.5) returns 12.5. 
Week 12 

11/15  topics to be covered: Chapter 10: Section 10.11 Loop else Section 10.12 Getting both index and value when looping: enumerate() Section 10.13 Additional practice: Dice statistics Lecture slides: CSI11Day20_lectureSlides.pdf Programs: 5positiveIntegers.py, enumeration1.py, twoDiceRolls.py, twoDice100Rolls.py Inclass activity: CSI11Day20InClassActivity.pdf 
HW 20 (due date: Wednesday, November 21st, 11:59pm): ZyBooks, HW18: Chapter 10: Sections 10.11  10.12 / all participation and challenge activities, 
11/13  topics to be covered: Turtle library with loops and decision structures Lecture slides: CSI11Day19_lectureSlides.pdf Programs: TurtleWithLoops1.py, TurtleWithLoops2.py, TurtleWithLoops3.py, TurtleWithStamps.py, TurtleWithManyRepetitions.py, Turtle_pyramidInTheWorks.py Inclass activity: CSI11Day19InClassActivity.pdf 
HW 19 (due date: Saturday, November 17th, 11:59pm): How To Think Like a Computer Scientist: http://interactivepython.org/runestone/static/thinkcspy/index.html Sections 4.3, 4.6, 4.8 Since this textbook doesn't keep information about your work but still has some interactice practices, when you finished working on each chapter, save it as pdf file and send it to my email. Here are the instructions: Do a right click anywhere on the page (a menu will popup), choose print... , then change your printer to "save as pdf", click "save". Save the three files (for three sections) as different pdfs. Send them to me as attachment along with the programming assignment. Programming Assignment : (to be sent to my email: natna20@gmail.com) 1) Turtle race: http://interactivepython.org/runestone/static/thinkcspy/Labs/lab03_01.html 2) Grab the program Turtle_frame.py . I want to draw a frame in the graphics window. Finish drawing the frame. 
Week 11 

11/08  topics to be covered: Chapter 10: Section 10.7 While vs. for loops Section 10.8 Nested loops Section 10.9 Developing programs incrementally Section 10.10 Break and continue Lecture slides: CSI11Day18_lectureSlides.pdf Programs: twoLettersDomainName.py, ExampleWithContinue.py Inclass activity: CSI11_Day18_InClassActivity.pdf 
HW 18 (due date: Saturday, November 17th, 11:59pm): ZyBooks, HW18: Chapter 10: Sections 10.7  10.10 / all participation and challenge activities, 
11/06  topics to be covered: Chapter 10: Section 10.5 For loops Section 10.6 Counting using the range() function Section 10.7 While vs. for loops Lecture slides: CSI11Day17_lectureSlides.pdf Inclass activity: CSI11_Day17_InClassActivity.pdf 
HW 17 (due date: Wednesday, November 14th, 11:59pm): ZyBooks, HW17: Chapter 10: Sections 10.5  10.6 / all participation and challenge activities, Programming Assignment: (to be sent to my email: natna20@gmail.com, by the due date) Write the program that finds the average of all negative numbers in the list data, and the average of all positive numbers in the list data. Your program should display both results. You may use any list of values for data, to test your program. For example, test it on the list [1,1,2,2,3,3], on the list [1,2,3,4], on the list [1,1,2,3,5,4,7], and on the list [1,0,2,0,3,7,9,10,0]. 
Week 10 

11/01  topics to be covered: Chapter 10: Section 10.1 Loops Section 10.2 While loops Section 10.3 More while examples Section 10.4 Counting Lecture slides: CSI11Day16_lectureSlides.pdf Programs: CSI11Day16examples1.py CSI11Day16examples2.py CSI11Day16examples3.py CSI11Day16examples4.py, Inclass activity: CSI11_Day16_InClassActivity.pdf 
HW 16 (due date: Saturday, November 10th, 11:59pm): ZyBooks, HW16: Chapter 10: Sections 10.1  10.4 / all participation and challenge activities, Programming Assignment: (to be sent to my email: natna20@gmail.com, by the due date) Write a program that will find the sum of the positive numbers entered by the user. The program should notify the user what does it do, then the user is prompt for positive integers (while loop). If the user enters a negative number, this is the signal for the while loop to stop. Don't forget to add all those positive numbers the user entered! At the end, the program should display the sum. 
10/30  topics to be covered: Tynker: CSI 11 class : Programming 100 (2 lessons) Lecture slides: CSI11Day15_lectureSlides.pdf Handout: Tynker.pdf 
HW 15 (due date: Saturday, November 3rd, 11:59pm): Tynker: CSI 11 Complete two lessons: Candy Quest and Dragon Dash Extra practice: Spooky Brew in Tynker: CSI 11 class 
Week 9 

10/25  topics to be covered: Chapter 9: Section 9.7 Order of evaluation Section 9.8 Code blocks and indentation Section 9.9 Conditional expressions Section 9.10 Additional practice: Tweet decoder Lecture slides: CSI11Day14_lectureSlides.pdf Inclass activity: CSI11Day14_lectureInClassPractice.pdf submit the paper by the end of the class, send the code to my email by Saturday night, October 27th (11:59pm) 
HW 14 (due date: Tuesday, October 30th, 11:59pm): ZyBooks, HW14: Chapter 9: Sections 9.7  9.9 / all participation and challenge activities, Group Project 2 (due date: Wednesday, November 7th): CSI11GroupProject2.pdf twopeople project: the project should have two files for the final submission: states.py and StatesProject.py oneperson project (Project Leader role): you are to submit one file: StatesProject.py However, note that your program should import the file states.py and use the dictionary statesInfo from it. You can take care of the entire input/output (including request for the states two letters) or do as instructed in the handout  it is up to you! You can use this file that already has information about the two states: states.py 
10/23  topics to be covered: Chapter 9: Section 9.4 More ifelse Section 9.5 Boolean operators and expressions Section 9.6 Membership and identity operators Lecture slides: CSI11Day13_lectureSlides.pdf Inclass work: CSI11_Day13_InClassActivity.pdf submit by the end of the class 
HW 13 (due date: Saturday, October 27th, 11:59pm): ZyBooks, HW13: Chapter 9: sections 9.4  9.6/ all participation activities, and challenge activities Lab: Sections 9. 11 and 9.12 Automobile service Extra practice: to be posted 
Week 8 Few reminders:


10/18  Midterm Exam Midterm Exam is based on Chapters 19. It is open book, open notes, computer limited use is allowed (only ZyBook and Python Idle are allowed). Phone use is not allowed. No group work. No talking to each other. 

10/16  preparation for the Midterm Exam More information about the Midterm Exam can be found on the Midterm and Final exams page. Study guide is posted there! 

Week 7 

10/11  topics to be covered: Section 8.4 Logical equivalence Chapter 9: Section 9.1 Ifelse branches (general) Section 9.2 Ifelse statement Section 9.3 Equality and relational operators Lecture slides: CSI11Day12_lectureSlides.pdf Inclass activity: CSI11Day12_lectureInClassPractice.pdf 
HW 12 (due date: Tuesday, October 16th, 11:59pm): ZyBooks, HW12: Chapter 8: Section 8.4 Logical equivalence / all participation and challenge activities Chapter 9: Sections 9.1  9.3 / all participation and challenge activities, Lab: to be posted 
10/09  topics to be covered: Chapter 8: Section 8.1 Propositions and logical operations Section 8.2 Evaluating compound propositions Section 8.3 Conditional statements Section 8.4 Logical equivalence  will cover it in the next class Lecture slides: CSI11Day11_lectureSlides.pdf Inclass work: submit by the end of the class 
HW 11 (due date: Saturday, October 13th, 11:59pm): ZyBooks, HW11: Chapter 8: sections 8.1  8.3/ all participation activities, challenge activities, and additional exercises Lab: Section 7.12 Dictionary work Extra practice: look through the additional exercies in sections 8.18.4 
Week 6 

10/04  topics to be covered: Chapter 7: Section 7.7 String formatting Section 7.9 Additional practice: Health data Note that we are skipping section 7.8 because we already did it. Lecture slides: CSI11Day10_lectureSlides.pdf Poison Wine Bottle questions answers: WinePoisonBottles_QuestionsAnswers.pdf Inclass activity / group project: flower garden the program must be sent to my email (natna20@gmail.com) by Thursday, October 11th, 11:59pm 
HW 10 (due date: Wednesday, October 10th, 11:59pm): ZyBooks, HW10: Chapter 7: Sections 7.7, 7.9 / all participation and challenge activities, Group project: must be sent to my email (natna20@gmail.com) by Thursday, October 11th, 11:59pm 
10/02  topics to be covered: Chapter 7: Section 7.3 Dictionary basics Section 7.4 Common data types summary Section 7.5 Additional practice: Grade calculation Section 7.6 Type conversions Lecture slides: CSI11Day09_lectureSlides.pdf Inclass work solutions: Dict1.py Starting from the next meeting you will be asked to send some of your classwork to my email at the end of the class. Send them please to natna20@gmail.com. Classwork will comprise 10% of the final grade. 
HW 9 (due date: Saturday, October 6th, 11:59pm): ZyBooks, HW09: Chapter 7: sections 7.3  7.6/ all participation and challenge activities, Lab: section 7.11 
Week 5 

09/27  topics to be covered: Chapter 7: Section 7.1  7.2 Lecture slides: CSI11Day08_lectureSlides.pdf Inclass activity: Poison Wine Bottle youTube link: https://www.youtube.com/watch?v=N3qmN6pYhi0&feature=youtu.be Programs: stringsProg1.py, stringsProg2.py, stringsProg3.py 
HW 8 (due date: Wednesday, October 3rd, 11:59pm): ZyBooks, HW08: Chapter 7: Sections 7.1  7.2 / all participation and challenge activities, Lab: Section 7.10 due next class meeting: watch the poison wine bootle again (try to understand both the Poison Wine Challenge and the solution), then answer the following questions:

09/25  topics to be covered: Chapter 6: Section 6.1 Representing information as bits Section 6.2 Number representation (up to The number of digits required to represent a number, not including) Lecture slides: CSI11Day07_lectureSlides.pdf 
HW 7 (due date: Saturday, September 29th, 11:59pm): ZyBooks, HW07: Chapter 6: all sections / all participation and challenge activities (except participation activity 6.2.6), look through all additional exercises and their solutions; 
Week 4 

09/13  topics to be covered: Chapter 5: Section 5.10 Turtle Lecture slides: CSI11Day06_lectureSlides.pdf Programs: Turtle_fun1.py, Turtle_fun2.py, Turtle_fun3.py, Turtle_fun_4shapes.py, Turtle_fun_5fence.py Other recource: Turtle library methods https://docs.python.org/3/library/turtle.html#overviewofavailableturtleandscreenmethods 
HW 6 (due date: Wednesday, September 26th, 11:59pm): ZyBooks, HW06: Chapter 5: Section 5.10 / all participation and challenge activities, Lab (due Thursday, September 27th): use Turtle library and Python Idle: write a program that draws a house or a flower. Send it to me via email (as attachment)  group work and nice pictures are very welcome! 
09/18  No classes scheduled on TuesdayWednesday, 09/1809/19  
Week 3 

09/13  topics to be covered: Chapter 5: Sections 5.6  5.9 Lecture slides: CSI11Day05_lectureSlides.pdf Programs: qr.py, circleMath.py 
HW 5 (due date: Wednesday, September 19th, 11:59pm): ZyBooks, HW05: Chapter 5: sections 5.65.9 / all participation and challenge activities, Lab: 5.13 
09/13  The college is closed. Rosh Hashanah.  
Week 2: Monday, September 3rd the college is closed. Labor Day! 

09/06  topics to be covered: Chapter 5: Variables and Expressions (Sections 5.1  5.5) Lecture slides: CSI11Day04_lectureSlides.pdf 
HW 4
(due date: Wednesday, September 12th):  the due date is extended to 09/16 ZyBooks, HW04: Chapter 5: Sections 5.1  5.5/ all participation, challenge activities; labs: See Section 5.11 and 5.12 
09/04  topics to be covered: Chapter 4: Basic Input and Output (all sections) Lecture slides: CSI11Day03_lectureSlides.pdf Programs: helloWorld.py, mySecondProgram.py, myThirdProgram.py, myFourthProgram.py 
HW 3 (due date: Sunday, September 9th):  the due date is extended to 09/16 ZyBooks, HW03: Chapter 4: all sections / all participation, challenge activities and labs 
Week 1 

08/30  topics to be covered: Chapter 2: Hardware and Software (sections 2.6  2.8) Chapter 3: Operating Systems (sections 3.1  3.2) Inclass Activity: The Orange Game Lecture slides: CSI11Day02_lectureSlides.pdf 
HW 2 (due date: Wednesday, September 5th, 11:59pm): ZyBooks, HW02: Chapter 2: sections 2.62.8 and Chapter 3: sections 3.1  3.2 / all participation and challenge activities Optional (not for grade): Chapter 3: Sections 3.33.5 in ZyBooks 
08/28  topics to be covered: Chapter 1: History and Basics (all sections) Chapter 2: Hardware and Software (sections 2.1  2.5) Inclass activity: Harold the robot Lecture slides: CSI11Day01_lectureSlides.pdf videos mentioned in lecture slides: 1) video about 10 amazing robots that really exist (~10 minutes) https://youtu.be/sZ_ybTN9M 2) video about Hardware (~30 minutes): https://youtu.be/ctAVC2JwEwI program: myFirstProgram.py 
HW 1 (due date: Monday, September 3rd, 11:59pm) : ZyBooks, HW01: Chapter 1: all sections and Chapter 2: sections 2.1  2.5 / all participation and challenge activities Install Python 3.7: 1) Download the distribution of the Python from here (latest release 3.7): https://www.python.org/downloads/release/python370/ (scroll down) This distribution includes compiler, standard libraries and a simple IDE called IDLE. 2) Install Python. Check "add Python to the PATH" during the installation. 3) After installation you can run IDLE by clicking: Start > All Programs > Python 3.7 > IDLE (Python GUI) 