CSCI201: Computer Programming I

Updated 2019-05-21

Syllabus      Textbook       Finals Schedule       Academic Calendar       Python videos      Python 3.7.3 documentation      List cheat sheet

Final test is ????? (but you can start at noon if you want to) until 2:20 in HH112. DO NOT PLAN TO LEAVE CAMPUS BEFORE THE TEST.

Link to first github assignment: https://classroom.github.com/a/D221YmMz

Day #1. Tuesday, 8/20/2019

·        How to become a superstar

Software used in this class

·        Required: Anaconda Python

·        Required: Wing IDE Download the Pro ZIP version.
Personal activation code for fall, 2019: 6N32A-78WY2-B719F-DLRCE

·        Optional: An online Python interpreter

·        Optional: A portable version of Python (no installation or admin privileges required): WinPython

Python resources:

·        Our (free) online textbook: How to Think Like a Computer Scientist

·        Another free Python course: Coursera online book, Coursera online videos

·        And another: Python Programming Fundamentals videos. These are Python videos for the textbook Python Programming Fundamentals.

·        Exercises

Homework due Day #2 at class time

·        Read, print, and sign the Attendance, Test, and Homework Policies.

·        Read chapters 1 and 2 of our textbook: How to Think Like a Computer Scientist. Be prepared for a quiz.

·        Write program #1 and put it in the drop box.

 

 

Earlier classes are below…

 

 

 

 

 

 

 

 

 

 

 

Day #2. Thursday, 8/22/2019

·        Notes from previous class

·        Today: arithmetic, relational operators, Boolean values, data types, input

Homework due next class

·        Program #2 to compute average score for a student. Put your "py" file in the drop box before noon on Tuesday.

·        Read chapter 3 of our textbook.

·        Read sections 4.1-4.5 of our textbook.

Day #3. Tuesday, 8/27/2019

·        Notes from previous class

·        Turtle graphics (chapter 4). Notes.

Homework due next class (at noon)

·        Finish reading chapter 4.

·        Program #3: turtle graphics, repetition, stars

Day #4. Thursday, 8/29/2019.

·        More loops, more turtle graphics. Notes.

Homework due next class

·        Program #4: A circle/star of parallelograms.

Day #5. Tuesday, 9/03/2019.

·        More loops: nested loops. Notes.

Homework due next class

·        Read chapter 5.

·        Program #5: Stars of polygons

Day #6. Thursday, 9/05/2019.

·        Today: writing functions. Notes.

Homework due next class:

·        Read chapter 6, sections 1-6.

·        Program #6: Write a snowflake program that uses a function.

Day #7. Tuesday, 9/10/2019.

·        More nested loops: image processing. Notes. Pics.

Homework due next class

·        Read chapter 7.

·        Program #7: 5-10-20 problem. Data file.

Day #8. Thursday, 9/12/2019.

·        Today: selection in Python. Notes. Some pics: et.bmp, gg.bmp, b&w lion, liberty in color, roses, tulips

Homework due next class:

·        Program #8: Write a program that puts a border around a picture. Instructions. Picture file. Resources: Chapter 7 of textbook, instructor notes.

Day #9. Tuesday, 9/17/2019.

·        Test will probably be next Thursday

·        Today: more image algorithms. Notes.

Day #10. Thursday, 9/19/2019.

·        More image algorithms: Shrink, reverse, blur. Notes. Tulips.

·        Why pic width and height must be EVEN numbers if you want to shrink them by half.

Homework due next class:

·        Program #9: Write the flip program described in the Notes link above. You may work with one partner. If you do, submit ONE copy of the program with BOTH names in the comments and print statement.

Day #11. Tuesday, 9/24/2019

·        Steganography: Can you find the hidden picture here? tulips. family

·        Flip a pic, top to bottom

·        Review for test

·        Add a border to a pic video

·        Blur a pic video

Homework due Thursday, 10/02/2019

·        No programming assignment. Study for first test. Practice Test. Solution. Video solution, part 1. Video solution, part 2.

Day #12. Thursday, 9/26/2019

·        Test #1.

Day #13. Tuesday, 10/01/2019

·        Indefinite loops. Notes.

Homework due Thursday

·        Read chapters 8 and 9. There will be a quiz next class.

·        Program #10: Write a program to determine the student with the highest test score. Instructions.

Day #14. Thursday, 10/03/2019

·        Strings (chapter 9).  Notes.

Homework due Thursday, 10/16/2019 (no class this Tuesday—Fall break)

·        Program #11: Write a program that plays a simplified version of the Hangman game. Instructions. Words file.

Day #15. Tuesday, 10/08/2019.

·        Here is a summary of the string methods.

·        Here is a summary of the built-in functions we have seen so far.

·        More strings (chapter 9).  Notes.

Homework due Tuesday

·        Program #12: Finish the program (from the Notes link above) that will validate a password to make sure that it is (1) at least 8 characters long, (2) has at least 1 lowercase letter, and (3) has at least 1 uppercase letter.

Thursday, 10/10/2019. Fall Break.

Day #16. Tuesday, 10/15/2019. More strings

·        Common integer algorithms.

·        More hangman: how to print the hangman; hangman=" | \n O \n/|\\\n/ \\\n"

·        More hangman: how to print the clue

·        More strings. Exercises.

Homework due Thursday, 10/23/2019:

·        Program #13: Caesar Cypher

·        Read chapter 10.1-10.5 (intro to lists). Expect a quiz.

Day #17. Thursday, 10/17/2019. Lists

·        Python videos

·        Lists. Notes.

·        List functions to try.

Homework due Tuesday, 10/25/2017:

·        Program #14: List algorithms

·        Read Chapter 10.6-10.14. Expect a quiz

Day #18. Tuesday, 10/22/2019. More lists

·        Password checker.

·        Caesar cypher.

·        Write these algorithms. Do not use the built-in sort or reverse methods.

·        A file is a list. 1400 words.

·        List cheat sheet

Homework due Thursday, 10/30/2019:

·        Program #15. World Series winners. Data file.

Day #19. Thursday, 10/24/2019.

·        Visit to Great West on November 8?

·        Functions, parameters, scope. Notes.

Homework due Tuesday, 11/01/2019:

·        Program #16. World Series winners, version 2. Data file.

·        Read chapter 11. Expect a quiz.

Day #20. Tuesday, 10/29/2019. Files, selection

·        Test will probably be Day #23 (Tuesday, 11/15/2019)

·        No class on Thursday

·        Files. Notes. QB-Stats.

·        Selection. Notes.

·        Selection, compound Booleans. Notes.

Homework due Thursday, 11/06/2019:

·        Program #17. The Linux wc utility. Sample files: GettysburgShort.txt, Gettysburg.txt.

Homework due Tuesday, 11/08/2019:

·        Program #18. Pizzeria bills.

Day #21. Tuesday, 11/08/2019.

Day #21. Thursday, 10/31/2019.

·        Review: pizza program

·        Formatting output with "f" strings.

·        Files, lists, if statements. Stocks problem.

·        Test #2 is next class. Things to know.

Homework due Thursday, 11/20/2019:

·        Read chapter 12 (Dictionaries). Expect a quiz.

·        Program #19. Credit Cards

Homework due Thursday, 11/20/2019:

·        Program #20. Quiz averages, files. Data file.

 

Homework due Thursday

Day #22. Tuesday, 11/05/2019.

·        Test #2

·        Download the test shell. Data file: Numbers.txt. Right-click on each file and choose "Save link as…".

Day #23. Thursday, 11/07/2019. Test #2

Day #24. Tuesday, 11/12/2019

·        How to code like a NASA programmer

·        Python online resources: Exercises, Coursera online book, Coursera online videos

·        Dictionaries. Notes. Py4E video 1. Py4E video 2. Py4E video 3.

·        Exercise: Count words. Data file.

Homework due Thursday, 11/27/2019:

·        Program #21: World Series winners.

·        Read Chapter 13: Exceptions. Expect a quiz.

Day #25. Thursday, 11/14/2019

·        Dictionary problems: #15 (count letter frequencies) and #19 (pirate talk) from textbook, chapter 12. Alice in Wonderland

·        Exceptions. Notes. List of Exceptions.

Homework due Tuesday

·        Watch these videos: Video 1. Video 2. Video 3.

·        Read this chapter. Online chapter. Expect a quiz.

Day #26. Tuesday, 11/19/2019

·        Pattern matching: regular expressions. Notes. Regular Expression Quick Guide.

·        Regular expression exercises.

Homework due Tuesday

·        Program #22: Using regular expressions to find patterns in an email data file. Instructions. mbox.txt. mbox-short.txt.

·        Read chapter 16: Classes and Objects—the Basics. Expect a quiz.

Day #27. Thursday, 11/21/2019.

·        Chapter 16: Objects in Python. Notes.

Homework due next class

·        Program #23: Write an Account class for a bank savings account and the code to test it.

·        Read chapter 15: Recursion

Day #28. Tuesday, 11/26/2019

·        Chapter 15: Recursion. Notes.

·        Examples of recursion (videos): Flood-fill, fractal

·        Examples of recursion (Python code): Sierpinski triangles, Towers of Hanoi

·        Test topics

Day #29. Tuesday, 12/03/2019

Day #30. Thursday, 12/05/2019

Final Test

Tuesday, 12/14/2017: Final Test