CMSC 105 Python

Week 1
Start here

Schedule
Style, grading notes
Youtube videos list

Computer architecture     bits & bytes KMGTPE mμn     Powers of 2 worksheet
Algorithms     Program, software, code     Computing

BLS OOH Software Developer 1.6M jobs

Start here
welcome.py Click, Save/download, Open File it in IDLE, Run it F5.

LEO notes the 8 weeks of Content in a 40-page Word document.
READ: syntax, identifiers, variable, comments, sequence, type()
READ: output (print)
intVariable.py    A varying int variable. Demonstrates the "quintessence of programming".

Week 2
READ: arithmetic operators, int and float numbers, strings
allOperations.py    +-*/% // **
Math expression → Python expression. Exs. percent change, FV simple interest, compound interest FV,

READ: input
adder.py    input()
fv_annuity.py    Future value of an annuity=
Lab exercises: rectangle, box, BMI, Fahrenheit↔Celsius, Future Value, Hero
Tetrahedron
circle.py     math.pi
Data types classification diagram
stringDemo.py
Help in Python      python -m pydoc -b      Too advanced for novices?

Week 3
Control flow diagram
READ: if
READ: if statement
divIf.py
multibranchIf.py
calculatorIf.py     float('inf')
month_numIf.py
activitiesIf.py
max_of_3.py
alphabeticalIf.py     ASCII
Lab exercise
READ: logical operators
month_days.py
phoneDial.py    string.islower()
phoneDial2.py
validIf.py
julian.py long program with selection only.    quit() Cancel
ice_cream_cone.py
matchDemo.py      match statement. New in 3.10. Skip

Week 4
Functions: print(), input(), eval(), len(), min(), max(), sum(), quit(), type() ...
Type conversion functions: int(), float(), str()
Math functions: math.sqrt(), math.log2(), natural log base e: math.log(), random()
functions.py examples so far
math.sqrt()
pythag.py     Pythagorean theorem. math.sqrt()

quad1.py Quadratic equation solve:       quadIf.py
Solids' formulas .png

allOperationsRandom.py    random.random()

def myNewFunc(parameter list):
    statements
    return value   non-void function
READ: functions
func_power.py
func_leapyear.py
func_credits.py
palindrome.py

Week 5
Control flow diagram again
READ: while loops    indefinite iteration
validWhile.py    Data validity checking.
quadLoop.py    again?
READ: for loops    definite iteration    range([start,]stop[,step])
for_loop.py
coinflips.py    random.choice()       coinflips2.py
pointsDistance.py    random.randint()   
fibonacci.py    1 1 2 3 5 8 13 21 34 55 89...
primes.py
nestedLoops.py
stars.py    nested for loops.    print(...,end="")
Lab exercises: loops
loop_EOF.py    loop_EOF_data.txt

Week 6
stringLoop.py
loop_strings.py
unicode.py    Unicode characters
loan.py

Week 7

READ: arrays/lists   
list_ints.py
list_strings.py
list_maintain.py    sorted list of ints
lists_roadtrip.py
list_closest_pair.py    abs()
stddev.py
pointsXY.py
japanese.py        english.py random pseudo-English "words"
Array exercises 1
Array exercises 2

***************************
Other programs to write:
Solids I/O, variables, formulas
Triangles ifs
Tax ifs, loops
GPA ifs and while (data validation)
Loan payoff schedule loops
Monthly calendar loops

***************************
Bonus:
cpuburn.exe    Put a load on the CPU
Python in Command Prompt
IDLE shell filter

FILES
Files: READ
file_write.py    file_read.py
More details: fileIO.py         file_kana.py    datafile_kana.txt
occurences.py    count #occurences of a string in a file
word_freq.py    datafile_word_freq.txt    Alice in Wonderland

SOUND
playsoundTest.py    ding.au    beep.au    cow.wav    sample.mid    bond007.mid    Sound
talk_hello_world.py    Convert text to MP3 file using gtts

GRAPHICS
Single pixels      RGB colors      Compare RGB colors      Your Favorite colors
ezgraphics-2.1.tar.gz Download. pip install ezgraphics-2.1.tar.gz
ezgraphicsTest.py    example of it

graphpaper_maker.py     
rosette.py    example of it
Create GIF Image file:    ezgraphics_image.py    example of it
Mouse click input:     mousing_around.py        Sierpinski.py chaotic triangle
Animation:     bouncing_ball.py

Graphics programming assignments:
Make these images assignment     500x500     200x200     700x400
Shapes assignment     red radius 100 circle at (200,300)    green 200x100 oval at (200,300)    blue 200x100 rectangle at (200,300)    cyan 200 square at (200,300)   
Triangles assignment     Equilateral 300    Isosceles b200 s300    Right 300x400
Points assignment     image of 23 random points, chosen point (123,234)       CMD image of same run

TIME
time.py    Measuring time
datetime.py    dates and times

RANDOM
random_demo.py    The randoms        random_walk.py

***************************
Others:
exceptions.py      input_int.py    try except. Ensure an int is input.
in.py    in operator
twoDarray.py      vectors.py   vector stuff      matrix.py   matrix stuff
list_dups.py    remove duplicates in a list
sort_list_tuples.py
collections.py
dict_exs.py    Dictionary examples
comprehensions.py      datafile_countiesCSV.txt
generators.py
sortings.py   quicksort mergesort
map_demo.py    map and filter demo. multiple ints input.
lambda functions

giant_letters.py Marquee. dictionary
fizzbuzz.py
ulam.py recursion
algebra.py

tictactoe.py
poker hand      poker odds
hangman.py      anagrams.py      words_merged.txt
julian2.py
apery.py
lagrange.py      lagrange2.py
data_examples.py    planets. speak digits
ip_convert.py
sqrtIterative.py
pi_approxs.py
optable.py
pyramid, box, cross of stars
triangle.py Type of triangle
permutations.py

"Struct/record-oriented programming":
record.py Use a class as a struct/record
search.py search lists and sets of numbers and of records. Sequential and binary search.

Object-oriented programming:
oop_county.py
oop_pet.py
Date.py      oop_date_driver.py

ezgraphics:      nlogScalePaper.py      halving_square.py      halving_root2.py      nestedSquares.py
circlesInCircle.py
pointsXYcircle.py
pointsXYcircleNormal.py
rectangles.py
ulam_spiral.py
circle_division.py


Project Euler