Schedule - CS303e - Summer 2024

This schedule and the information in it are subject to change.

All lectures are in person. Mondays, Wednesdays, and Thursdays 11:30 am - 1 :30 pm, BUR 112

There shall be an in-class exercise every day except exam days. 21 total. Refer to the syllabus.

All slides, PDF format.

All slides, PDF-4 format, 4 slides per page.

Date Lecture Topic(s) 1. Readings: chapter and section (complete before lecture on the given day)

Readings and exercises are from the required textbook, Starting Out With Python, 4th Edition by Tony Gaddis, ISBN: 9780134444321

2. Programming Exercises from the Exercises section at the end of each chapter (complete after watching video)

3. Assignments, Exams, and Extra Credit Opportunities.
Thursday, June 6 Course Introduction, Intro to Python and Programming
Course Intro Lecture Slides ppt, pdf, pdf-4
Basic Python Lecture Slides ppt pdf pdf-4
Sample program my_first_program.py
Bill Young's Slides on Computing pdf
Book Slides ppt, pdf, pdf-4
1. Reading: Chapter 1
2. Exercises: I suggest using PyCharm instead of IDLE. 1, 3, 4, 5
Monday, June 10 Input, Processing, Output, and Variables
Lecture Slides ppt pdf pdf-4
Sample program calculate_age.py
Book Slides ppt, pdf, pdf-4
bmi.py (program developed in lecture)
1. Reading: 2.1 - 2.9
2. Chapter 2 Algorithm Workbench: 1, 2, 4, 8, 9, 12
Chapter 2 Programming Exercises: 1, 2, 3, 4, 5, 6, 8, 9, 13, 14
3. Program 1 due
Wednesday, June 12 Decision Structures
Lecture Slides ppt pdf pdf-4
tax calculating program
Book Slides ppt, pdf, pdf-4
1. Reading: 3.1 - 3.4
2. Chapter 3 Algorithm Workbench: 1, 3, 4, 5
Chapter 3 Programming Exercises: 1, 2, 3, 6
Thursday, June 13 Boolean Logic, formatting output, f Strings
Same slides as June 7
leap_year.py
1. Reading: 2.10, 3.5 - 3.6
2. Chapter 3 Programming Exercises: 7, 8, 9, 12, 15, 16
3. Program 2 due
Extra Credit background Survey on Canvas due.
Monday, June 17 Repetition Structures 1
Lecture Slides ppt pdf pdf-4
Book Slides  ppt, pdf, pdf-4
not_throw_airplanes.py, is_prime_1.py, is_prime_2.py, square_root.py

1. Reading: 4.1 - 4.4
2. Chapter 4 Algorithm Workbench: 1 (what happens if the user enters a value <= 0?), 2, 3, 5
3.  Program 3 due
Wednesday, June 19 Per UT Austin Calendar: Juneteenth holiday; no classes held, no help hours  
Thursday, June 20 Repetition Structures 2
Same slides as June 12
newton_square_root.py, generate_bmi.py
1. Reading: 4.5 - 4.6
2.  Chapter 4 Programming Exercises: 2, 4, 5, 7, 10
3. Program 4 due
Monday, June 24 Repetition Structures 3
Lecture will cover multiple examples of using loops to solve various problems and run simulations.
All examples in this file:
loop_examples.py
1. Reading: 4.7
2. Chapter 4 Programming Exercises: 12, 13 (except truncate any fractional part), 14 (ask the user for the number of rows and generalize the output), 15 (ask user for number of rows and generalize the output)

Wednesday, June 26 Functions 1
Lecture Slides ppt pdf pdf-4
function_examples.py, function_examples_lecture.py
Book Slides ppt, pdf, pdf-4

1. Reading: 5.1 - 5.5
2. Chapter 5 Algorithm Workbench: 1, 3, 4
Chapter 5 Programming Exercises: 1, 5, 6, 7, 11
Thursday, June 27 Functions 2
Same slides as June 21
1. Reading: 5.7 - 5.10
2. Chapter 5 Programming Exercises: 13, 14, 15, 16, 17, 18, 20
3. Program 5 due
Monday, July 1 Files
Lecture Slides ppt pdf pdf-4
line_count.py, write_coin_flips.py, write_read_numbers.py
Book Slides ppt, pdf, pdf-4
1. Reading: 6.1 - 6.4
2. Chapter 6 Algorithm Workbench: 3, 4, 5
Chapter 6 Programming Exercises: 1, 2, 3, 4, 6

3. Program 6 due
Wednesday, June July 3 Midterm exam in class. Covers up to and including Chapter 5 of the textbook, Functions

Sample Midterm and Suggested Solution
1. Midterm in class. 50% short answer, 50% coding.
No Help Hours Today Due to Midterm
Thursday, July 4 Per UT Austin Calendar:  Independence Day holiday; no classes held, no help hours  
Monday, July 8 Lists 1
Lecture Slides ppt pdf pdf-4
list_examples.py
Book Slides ppt, pdf, pdf-4
1. Reading: 7.1 - 7.7
2. Chapter 7 Algorithm Workbench: 2, 3, 4, 7
Chapter 7 Programming Exercises: 1 - 4, 6, 7, 8 (GirlNames.txt, BoysNames.txt files)
3. Program 7 due
Wednesday, July 10 Lists 2
Same slides as Lists 1, June 28

Midterm returned at the end of class.
1. Reading: review 7.5 - 7.7
2. Chapter 7 Programming Exercises: 9 (USPopulation.txt), 10 (WorldSeriesWinners.txt)
Thursday, July 11 Lists 3
Same slides as Lists 1, June 28
list_examples_2.py
1. Reading: 7.8
2. Chapter 7 Programming Exercises: 11, Create a function that accepts a list of list of integers representing a Sudoku board. 0 represent a cell with no number currently. The function returns True if the set up is valid (no repeats besides 0 in any row, column, or subgrids), False otherwise.
3. Program 8 due
Monday, July 15 2D Lists, lists of lists 1
Lecture Slides ppt pdf pdf-4
game_of_life_part_1.py
Wiki page on Conway's Game of Life
Online version of Conway's Game of Life
1. Reading: 9.1
2. Chapter 9 Algorithm Workbench: 1, 2, 3
Chapter 9 Programming Exercises: 1, 2 (use the capitals.txt file), 5
3. Program 9 due
Wednesday, July 17 Finish Lists of Lists
Same slides as July 10
game_of_life.py


Dictionaries (a.k.a. Maps)
Lecture Slides ppt, pdf, pdf-4
word_count.py
1. Reading: 7.9, 8.1 - 8.3
2. Chapter 8 Algorithm Workbench: 1, 2, 3, 4, 10
Chapter 8 Programming Exercises: 1, 2, 4, 7, 10
Thursday, July 18 Tuples and More About Strings
Lecture Slides ppt, pdf, pdf-4
error_check_int.py (function to get a non negative int from a user)
3. Program 10 due
Monday, July 22 Classes and Object Oriented Programming (Encapsulation, Programmer defined data types)
Lecture Slides ppt, pdf, pdf-4
Circle.py
circle_client.py
1. Reading: 10.1 - 10.4
2. Chapter 10 Algorithm Workbench: 1, 2, 3
Chapter 10 Programming Exercises: 1, 2, 4, 8, 9

3. Program 11 due
Wednesday, July 24 Sets
Same slides as July 18
1. Reading: 9.2
2. Chapter 9 Algorithm Workbench: 5, 6, 7, 8, 9
Chapter 9 Programming Exercises: 4, 6
Thursday, July 25 Recursion
Slides ppt, pdf pdf-4
directory_size_example.py
recursion_example.py
1. Reading: 12.1 - 12.3
2. Chapter 12 Algorithm Workbench: 1, 2
Chapter 12 Programming Exercises: 2, 3, 4, 5, 7
3. Program 12 due
Monday, July 29 Sorting and Searching
Lecture Slides: ppt, pdf pdf-4
searching_and_sorting.py
3. Program 13 due
Thursday, August 1 Final exam
Time: 7 - 10 pm
Location: TBD
Final exam is cumulative  - Covers all topics from lecture and the book chapters 1- 10 and 12.
3. Final exam
Extra Credit Course and Instructor Survey completion due. See Canvas for instructions.