Calendar/Timetable |
Reference:
Chapter Slides
from
Starting Out with Python-5th Edition (SOWP5)
by
Tony Gaddis
Reference:
Chapter Slides
from
Starting Out with Python-4th Edition (SOWP4)
by
Tony Gaddis
Date | Event or Assignment (Entries are subject to change.) | ||
Key |
How to interpret these calendar entries. If it says:
| ||
JIT (Just In Time): Everything below this line is subject to last moment changes | |||
Aug 23 |
Reference: Lecture slides -
CSCI is different
(.pptx)
In class video: RoboZZle (alternate site: RoboZZle) Skim: Preface Read: Chapter 1 (Introduction to Computers and Programming) [Chapter 1 Slides] (For now, skip section 1.5) NOTE: Wait until your scheduled closed lab to perform these tasks. LAB1: (CLA stands for Closed Lab Assignment)
Finally, after lab, be sure to update your D2L profile (the headshot and nickname stuff) as noted on the D2L news item titled "Required D2L profile updates you need to do". | ||
Aug 25 |
Reference:
Lecture Slides -
1RURIntro
(.pdf)
Browse to the: Reeborg the Robot Home Page (https://www.cs.mtsu.edu/~untch/rur/lessons) and (linked from this page) read the following sections: Read: Reeborg the Robot Fundamentals Read: Reeborg the Robot Programs LAB2: NOTE: Wait until your scheduled closed lab to perform these tasks.
| ||
Aug 30 |
Reference: Lecture Slides - Functions (.pdf) Read: Extending Reeborg's Vocabulary using Functions View: Never mix indentation conventions! In Python, indent using spaces. (In C++, indent using tabs.) Reference: Lecture Slides - Murphy's Laws (.pdf) (Optional John Paul Stapp) Reference: John Paul Stapp and Rocket Sled WW II Navy Aircraft Crashes - watch times 8:13 through 8:28 vs 1950s Fatal Car Crash Scene John Paul Stapp's contributions LAB3: NOTE: Wait until your scheduled closed lab to perform these tasks. Do Lab 2 - Exploring UNIX, Compilers, and Interpreters For this closed lab, you will be submitting an AnswerSheet2.pdf file via the Gus Web interface and two log files (see Exercise 16) via the handin command. Once you have made those two submissions, you have completed the lab. | ||
Sep 1 |
Lecture prologue: An exercise in ratiocination (What is ratiocination?) Reference: Lecture Slides - Stepwise Refinement (.pdf) Lecture Slides - if statements (.pdf) Reference: Python's pass statement Reference: Lecture Slides - The Mile-long Hurdle Race Task (.pdf) Lecture reference: The Follow Wall Right Function Read: The Three Types of Software Maintenance Read: Conditionally Executing Instructions
LAB4: Do Lab X2b - Working with UNIX Log on to ranger2.cs.mtsu.edu and then follow Lab X2b instructions. For this closed lab, you will be submitting an AnswerSheetX2b.pdf file via the Gus Web interface. Once you completed and submitted your answer sheet you have completed the lab. Reference: The humble Linux cheat sheet - This one page reference might prove useful | ||
Sep 5
(Census Date) |
University calendar:
Last day to drop without a grade
Lottery scholarship recipients cannot change enrollment status after this date and retain scholarships. | ||
Sep 8 |
Try It (not actual quizzes): Quiz 0 & Lab 2P UNIX Quiz Reference: Lecture example - Iteration example ( No iteration example) Read: Repeatedly Executing Instructions Reference: Iteration - 7RURiteration (.pdf) HELPFUL TIP: Today, bringing your lecture notes on the classroom solution to The Follow Wall Right Function would be a wise idea. LAB5: NOTE: Wait until your scheduled closed lab to perform this task. The lab assistant will disclose what the closed lab assignment is at the beginning of lab. Do not delay on this lab. The rules about submitting late closed labs are slightly changed for this lab; to get full credit, this closed lab assignment must be completed by the end of the lab period. Any late submissions will be assessed the 25% late penalty. | ||
Sep 13 |
Review: Definitions of Stepwise Refinement Read: A Large Program Written by Stepwise Refinement (Handout 37) Reference: Refactoring explicated Lecture viewing: Introduction to idle (video 10:44) NOTE: on ranger, use idle3 & to invoke idle.
(Alternate video with Closed Captioning: Using Interactive Mode in IDLE) Read: Section 1.5 (Using Python) and Appendix B (Introduction to IDLE) LAB6:
Do Lab Z5 - Introduction to IDLE3 | ||
Sep 15 |
Read: Debugging Aids
Reference: Reeborg Summary Lecture viewing: Assignment statement (YDL video 7:56) Reference: Lecture Slides - Chapter 2 items (.pdf) Reference: Python Operator Precedence Read: Chapter 2 (Input, Processing, and Output) - Skip Section 2.10 [Chapter 2 Slides] Read: Section 5.2 (Defining and Calling a Void Function) View VideoNote: Reading input from the keyboard (video 9:16) LAB7: NOTE: Wait until your scheduled closed lab to perform these tasks. Do AtoL Lab 4 - Python Basics This will be your first use of the cslabserver2 system. The lab assistant will give you some tips for using the system at the beginning of the closed lab session. For the requested "User Name" and "Password" use the same C-number/password combination you use when logging on to ranger. If all goes well, you will be welcomed by name; if not, please inform the lab assistant so we can investigate why. If you were welcomed by name, click the link labeled Proceed to the AtoL lab and you will be presented with a menu of labs. Select the Lab 4: Python Basics item from the menu. When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Sep 20 |
Lecture viewing: Chapter 2 Slide review Lecture: Today's lecture will focus on formatting numbers and strings in Python (see Chapter 2 plus the following handouts) and will introduce the material from Chapter 3 of the textbook. Lecture viewing: Formatting Numbers and Strings (.pdf) Lecture viewing: More About Data Output (.pdf) View VideoNote: The Sales Prediction Problem (video 11:11) Look over: Exam 1 Review Sheet LAB8: Do AtoL Lab 5 - Input, Processing, and Output Skip exercise 8 (the last exercise). When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Sep 22 |
LAB9: Follow these directions and do Chapter 2 Programming Exercise 11 (ch2x11.py). | ||
Sep 27 |
Reference:
U.S. Bureau of Labor Statistics -
Software Developers
- Occupational Employment and Wages
Reference: Midstate Tennessee tech workforce growth to outpace other job sectors Lecture viewing: Boolean expressions (aka Predicates) (YDL video 10:01) Read: Chapter 3 (Decision Structures and Boolean Logic) - Skip Section 3.7 [Chapter 3 Slides] Read: Boolean Algebra - a 2 page handout that includes a review of DeMorgan's Laws (.pdf) View VideoNote: The if Statement (video 6:33) View VideoNote: The if-else Statement (video 4:06) View VideoNote: The Areas of Rectangles Problem (video 11:11) Read: About Comments Reference: PEP 8 - Style Guide for Python Code Reference: ASCII Code Chart LAB10: Follow these directions and do Chapter 3 Programming Exercise 6 (ch3x6.py). | ||
Sep 29 |
Read: Sections 5.1, 5.2, & 5.3 (Functions) Read: Chapter 4 - Repetition Structures - Skip Section 4.8 [Chapter 4 Slides] View VideoNote: The while Loop (video 7:35) Lecture viewing: The for Loop (video 11:34) Lecture viewing: for loops (video 10:54) Reference: Lecture Slides - Loops LAB11: Follow these directions and do Chapter 4 Programming Exercise 10: Tuition Increase (ch4x10.py). The program should print out the result in the form: In 1 year(s), the tuition will be $ 8240.00 In 2 year(s), the tuition will be $ 8487.20 In 3 year(s), the tuition will be $ 8741.82 ... etc ... | ||
Oct 4 |
Optional Extra Credit Exercise Posted:
The Follow the Path Home Task (OLAX)
The grade on this optional, extra credit, programming exercise can improve your open lab assignment (OLA) totals. Note that submissions after the stated deadline (see writeup) cannot be accepted. Feel free to submit early. Skim: Stimulate Your Creativity Lecture viewing: Passing Arguments to a Functions (video 8:51) Lecture viewing: Value-Returning Functions (video 6:12) Classroom Discussion: $PUB/luckywalk.txt & $PUB/luckywalk.py (& $PUB/luckywalk.wor) Classroom Discussion: $PUB/classrooms.py Read: Hierarchy Charts See: Modules and Hierarchy Charts (.ppt) Example: Hurdles Hierarchy Chart View VideoNote: Stepwise Refinement example (YDL video 5:11) Read: Sections 5.4, 5.5, 5.6, 5.7, & 5.8 (Functions) [Chapter 5 Slides] LAB12: Follow these directions and do Chapter 4 Programming Exercise 11: Calculating the Factorial of a Number (ch4x11.py). The program should prompt the user to enter a nonnegative integer and then display the input value followed by an exclamation mark, a space, an equal sign, a space, and then the calculated factorial value. For example: 7! = 5040 or, in general, n! = xxxxx To achieve this exact, required format, you will need to use a print feature described in section 2.9 of the textbook and recapped in More About Data Output (.pdf) | ||
Oct 6 |
Classroom Discussion:
The Check-Digit Calculator
View VideoNote: Coffee Price - example of if-elif-else (YDL video 14:35) View VideoNote: Divide and conquer - functions and modularity (YDL video 14:26) (Note: the YDL videos sometimes use CamelCase identifiers. In contrast, Python historically uses snake_case identifier naming conventions. Be sure to stick with the textbook's use of snake_case in your programs.) Read: Sections 5.9 & 5.10 (Functions) [Chapter 5 Slides] Reference: Linux Runs on All of the World's Top 500 Supercomputers LAB13: NOTE: Wait until your scheduled closed lab to perform these tasks. Do hybrid CLA11 - Repetition Structures Part 3 | ||
Oct 13 |
Review: Sections 5.4, 5.5, 5.6, 5.7, & 5.8 (Functions) [Chapter 5 Slides] . Read: Chapter 6 - Sections 6.1, 6.2, & 6.3 (Files) [Chapter 6a Slides] Lecture viewing: Using Loops to Process Files (video 12:53) Read: Chapter 6 - Section 6.4 (Exceptions) [Chapter 6b Slides] (Optional): YDL Self-test on Loops (This self-test is from another textbook and will likely have a few questions that either ask about topics we have not yet studied or will use terminology somewhat different than we have used; don't be alarmed if that happens---just skip those questions. In particular, skip questions 5.17, 5.18, 5.21-5.24, & 5.29.) LAB14: Do hybrid CLA17 - Files and Exceptions Part 1 When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Oct 18 |
Read: Advice on Writing Understandable Programs Reference: Roles of Variables & Roles Summary (G List) (7 36) Lecture Use Only: fibonacci.py & fibonacciFile.py & sumFile.py Reference: Leonardo Fibonacci On the Origin of The Fibonacci Sequence . Reference: Hindu-Arabic Numerals Read: Section 1.3 (How Computers Store Data) View: Convert Numbers into Binary (YouTube video 2:50) Read: Binary Numbers (Handout 914) Humor: There are 10 types of people in the world (Optional) Skim: The Patriot Missile Failure (Optional) View: video discussing the failure: Patriot missile failure (YouTube video 5:16) (Optional) View Richard Pryor in Superman III misdirecting half-cents to his account. (Meant to be humorous.) Look over: Exam 2 Review Sheet (Optional): Practice Problems
(Optional):
Python Basics Review video playlist (LIL video 21:46)
CodeCheck: Given three integers x, y, z, print the sum of the odd integers CodeCheck: Given two numbers, return true if they both have the same sign. Reference: ASCII Code Chart Reference: Khan Academy Introduction to number systems and binary video Reference: Khan Academy Convert from Decimal to Binary video LAB15: Do hybrid CLA18 - Files and Exceptions Part 2 When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Oct 20 |
LAB16: Follow these directions and do these two short programs: Chapter 6 Programming Exercise 3 (ch6x3.py). - copy the file $PUB/palindrome.dat into your CLA directory and use that as your final test input data. Chapter 6 Programming Exercise 7 (ch6x7.py). - use as your output file name randint.txt. (Hint: The VideoNote, Using Loops to Process Files from October 13, reviewed exactly this sort of stuff.) | ||
Oct 25 |
LA
FF
GW
Tao
Lecture viewing: String operations (YDL video 13:16) Read: Sections 8.1, 8.2, and 8.3 (Strings) [Chapter 8 Slides] LAB17: Start AtoL Lab 13 - Strings. For the requested "User Name" and "Password" use the same C-number/password combination you use when logging on to ranger. When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Oct 27 |
Lecture viewing: String methods (YDL video 12:17) Lecture Use: [Chapter 8 Slides] LAB18: Finish AtoL Lab 13 - Strings. For the requested "User Name" and "Password" use the same C-number/password combination you use when logging on to ranger. When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Oct 27 | University calendar: Last day to withdraw from a course without Department Chair's signature | ||
Nov 1 |
Lecture Use: [YDL String Slides] Reference: Another ASCII table (Optional): Self-test on Strings (This self-test is from another textbook and will likely have a few questions that either ask about topics we have not yet studied or will use terminology somewhat different than we have used; don't be alarmed if that happens---just skip those questions. In particular, skip questions 8.11, 8.21-8.23, and 8.27-8.29.) Lecture Use Only: conflate.py Lecture Use Only: Chapter 8 Programming Exercise 1 (ch8x1.py) Clarification: Prompt the user to enter an entire name at once as input and then break that string down into first, middle, last names in your processing in order to derive the initials.
LAB19: | ||
Nov 3 |
Lecture viewing:
Use lists (YDL video 12:54) - An introduction to using Python lists
Lecture reference: YDL Lists Slides and Python List Comprehensions CodeCheck: Given an input string, print the string with the first and last letter removed if they were equal, or the original string if they were not. Read: The Selection Sort Reference: Selection Sort Wikipedia entry Read: Chapter 7 (Lists) [Chapter 7 Slides] (For now, skip sections 7.8 and 7.9) Pay special attention to Program 7-17. For the requested "User Name" and "Password" use the same C-number/password combination you use when logging on to ranger. When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Nov 8 |
Lecture viewing:
Python Lists (Socratica video 5:43)
- the presentation style is, um, "interesting"
Reference: The Sequential Search Lecture viewing: Search a list (YDL video 13:30) - Describes Binary Search (a Ο(log2 n) search) (source code) Reference: Binary Search (iterative) Wikipedia entry Reference: The Binary Search Lecture viewing: Vowels and Consonants Problem (video 11:13) Lecture Use Only: Retrieving and Processing Web Data Reference: Sieve of Eratosthenes - Rosetta Python entry LAB21: Follow these directions and do Chapter 5 Programming Exercise 13 (ch5x13.py). For the requested "User Name" and "Password" use the same C-number/password combination you use when logging on to ranger. When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Nov 10 |
Lecture viewing: Lottery Number Generator Problem (video 8:31) Lecture Use Only: The Palindrome Problem Cambridge University Discovery (Optional): Self-test on Lists (This self-test is from another textbook and will likely have a few questions that either ask about topics we have not yet studied or will use terminology somewhat different than we have used; don't be alarmed if that happens---just skip those questions. In particular, skip questions 10.33 through 10.37.) LAB22: Follow these directions and do Chapter 5 Programming Exercise 16 (ch5x16.py) | ||
Nov 15 |
Lecture reference:
YDL Multidimensional Lists Slides
Lecture reference: Two-dimensional List Examples (.pdf) Lecture reference (Game of 15): Rules Game board (Optional): CodingBat Code Practice Warmup-1 LAB23: Follow these directions and do Chapter 2 Programming Exercise 10 (ch2x10.py) [yes, Chapter 2] | ||
Nov 17 |
Lecture Use Only: Chapter 8 Programming Exercise 7 (ch8x7.py). - Character Analysis Problem Lecture Use Only: Chapter 7 Programming Exercise 9 (ch7x9.py). - Population Data Problem Lecture viewing: Recursive Multiplication (video 7:29) LAB24: Follow these directions and do Chapter 8 Programming Exercise 8 (ch8x8.py). - see textbook page 435. | ||
Nov 22 |
Monte Carlo exterior Monte Carlo interior 1 Monte Carlo interior 2 Monte Carlo algorithm CodeCheck: Given an input string, print the string with the first and last letter removed if they were equal, or the original string if they were not. CodingBat Code Practice Warmup-1 Lecture Use Only: The Palindrome Problem Lecture Use Only: Chapter 8 Programming Exercise 10 (ch8x10.py). - see textbook page 436. Most Frequent Character: Write a program that lets the user enter a string and displays the character that appears most frequently in the string. Reference: Matrix Multiplication Lecture viewing: List Comprehensions (Socratica video 10:16) View VideoNote: List Slicing Review (video 10:16) Lecture Review (time permitting): Chapter 6b Slides: Exceptions Ace Batman . LAB25: Do CLA23: More Lists For the requested "User Name" and "Password" use the same C-number/password combination you use when logging on to ranger. When you are done, be sure to completely close your browser to get logged off (otherwise you won't be logged off and anyone can log into your session). | ||
Nov 24-Nov 27 | University calendar: No Classes - Thanksgiving Holidays | ||
Nov 29 |
Lecture viewing:
Tracing a Recursive Function (YDL video 6:36)
Lecture use: DNA On Control Structures Reference: Compilation Phase Diagram Lecture Use: Next: C++ Depending on time: View and discuss James Burke's Connections volume 4 (Faith in Numbers - Dailymotion video 48:43) LAB26:
Note: Must be completed/submitted by 7pm Wednesday, 12/1/2021 | ||
Dec 1 |
Lecture Use: Chapter 5 Programming Exercise 10 (ch5x10.py) Chapter 4 Programming Exercise 11 (ch4x11.py) Look over: Final Exam Review Sheet (Optional redux): Complete Python 3 Self Test List (This self-test is from another textbook and will likely have a few questions that either ask about topics we have not yet studied or will use terminology somewhat different than we have used; don't be alarmed if that happens---just skip those questions. In particular, skip questions 10.33 through 10.37.) On being human: BBC: Duolingo boss' advice: Develop your social skills BBC: What does reading on screens do to our brains? Technology and Society Discussion: 5G cyber-attack Huawei wi-fi modules detected in CCTV system Cultural Awareness Discussion: Nurses working with Mexican children might encounter the supernatural belief in the "mal de ojo" (the "bad eye" or "evil eye"). Believers think if someone looks at a child for any amount of time without touching the child, that person has cast a spell -- an 'evil eye' -- on the child. So it's important for nurses working with these children to touch them immediately. ---from Nurses learn to tend to cultural differences BUT, on the other hand, in the Carribean ... Mal de Ojo Mr. Baseball excerpt (YT video 2:10) Shoes Trash disposal (Local sidenote) World's Worst Cultural Mistakes Understanding the Impact of Cross-Cultural Differences LAB27: No closed lab. | ||
Dec 1 | University calendar: Last Day of Classes | ||
Dec 2 | University calendar: Study Day (some Study Day humor) | ||
Dec 6 (004) |
Final Exam -
Section 004: 12:30pm-2:30pm
(Same protocol as with Exam 1 & 2. Log on to Zoom & D2L) Work solo. You know getting another person to give you the answers (or getting them off the web or by using ranger) is cheating, so please don't. | ||
Dec 6 (005) |
Final Exam -
Section 005: 3:30pm-5:30pm
(Same protocol as with Exam 1 & 2. Log on to Zoom & D2L) Work solo. You know getting another person to give you the answers (or getting them off the web or by using ranger) is cheating, so please don't. | ||
Looking to the Future |
| ||