The Final Exam happens on Friday 4 August, from 10am till noon.
Course Content
Catalog description:
Computer literacy, number systems, concepts of operation systems,
storage, files, databases, logic gates, circuits, networks, internet.
Introduction to programming in Python, variables, assignments,
functions, objects.
The text books for this course are optional:
- J. Glenn Brookshear: Computer Science. An Overview,
9th edition, Addison-Wesley, 2009 (or later edition).
- Bradley N. Miller and David L. Ranum:
Python Programming in Context, Jones and Bartlett, 2009
(first or later edition).
Slides of the lectures and Python code will be posted below.
Week One
- Monday 12 June 2023
- Wednesday 14 June 2023
- Friday 16 June 2023
- L-5 Operating Systems and Turtle Graphics,
a Jupyter notebook,
Python scripts: spiral1,
spiral2,
turtlecolors,
prerecording on
youtube
- L-6 Formal Languages, Strings, Lists, and Tuples,
a Jupyter notebook,
prerecording on
youtube
Week Two
- Wednesday 21 June 2023
- L-7 Persistent Storage and Dictionaries,
a Jupyter notebook,
Python scripts: mileage.py,
miletab.py,
prerecording on
youtube
- L-8 Boolean Algebra, Logical Expressions, Conditional Statements,
a Jupyter notebook,
Python scripts: passfail.py,
gradecurve.py,
followup.py,
prerecording on
youtube
- Friday 23 June 2023
Week Three
- Monday 26 June 2023
- L-11 Adder Circuits; while and for loop,
a Jupyter notebook,
Python scripts: gcd.py,
showbal.py,
showfor.py,
traprule.py,
prerecording on
youtube
- L-12 Simulation; the break statement,
a Jupyter notebook,
Python script: mc4pi.py,
gcdstate.py,
secretguess.py,
prerecording on
youtube
- Wednesday 28 June 2023
- L-13 Top Down Design; Defining Functions,
a Jupyter notebook,
Python scripts: simuwait.py,
npdf.py,
prerecording on
youtube
- L-14 Call by Value, Call by Reference, Optional Arguments,
a Jupyter notebook,
Python script: area.py,
area2.py,
votes1.py,
votes2.py,
traprule2.py,
prerecording on
youtube
- Friday 30 June 2023
Week Four
- Monday 3 July 2023
- L-17 Working with Files,
a Jupyter notebook,
Python scripts: bkform2list.py,
bklist2dict.py,
scramblevowels.py,
wordcount.py,
wordlocate.py,
wordreplace.py,
prerecording on
youtube
- L-18 Networking and the Internet,
a Jupyter notebook,
Python script: forecast.py,
prerecording on
youtube
- Wednesday 5 July 2023
- L-19 Review of Literacy,
a Jupyter notebook with questions,
and answers,
png file of circuit, save as circuit.png,
dio file of flow chart, save as maxlist.dio,
prerecording on
youtube
- L-20 Review of Python,
a Jupyter notebook with questions,
and answers,
prerecording on
youtube
- Friday 4 July 2023
- midterm first version of questions,
a Jupyter notebook with questions,
and answers,
png file of circuit, save as midtermvA_circuit.png,
dio file of flow chart, save as midtermvAflowchart.dio,
png file of flow chart, save as midtermvAflowchart.png
- midterm second version of questions,
a Jupyter notebook with questions,
and answers,
png file of circuit, save as midtermvB_circuit.png,
dio file of flow chart, save as midtermvBflowchart.dio,
png file of flow chart, save as midtermvBflowchart.png
Week Five
- Monday 10 July 2023
- L-23 Modular Design,
a Jupyter notebook,
png file of diagram, save as stack_relations.png,
dio file of relations save as stack_relations.dio,
Python scripts: stack_data.py
stack_of_data.py
stack_of_data_io.py
stack_user.py
prerecording on
youtube
- L-24 Modular Programming,
a Jupyter notebook,
png file of diagram, save as autoquiz_relations.png,
dio file of relations save as autoquiz_relations.dio,
Python scripts: quand.py
questions.py
dialogue.py
quiz.py
prerecording on
youtube
- Wednesday 12 July 2023
- L-25 Packages and Open Source,
a Jupyter notebook,
prerecording on
youtube
- L-26 Object Oriented Programming,
a Jupyter notebook,
png file of diagram, save as classbook.png,
dio file of relations save as classbook.dio,
png file of diagram, save as usecatalog.png,
dio file of relations save as usecatalog.dio,
Python scripts: classbook.py
classperson.py
classcatalog.py
classpeople.py
libclassman.py
prerecording on
youtube
- Friday 14 July 2023
- L-27 Operator Overloading,
a Jupyter notebook,
Python scripts: flopfloats.py,
quaternion.py
prerecording on
youtube
- L-28 Encapsulation, Inheritance, Polymorphism,
a Jupyter notebook,
Python scripts: orbiting.py,
spirbot.py,
classpoint.py,
classcircle.py,
classpoly.py
prerecording on
youtube
Week Six
- Monday 17 July 2023
- L-29
Software Testing and Verification,
a Jupyter notebook,
Python script: useassert.py,
prerecording on
youtube
- L-30
Raising, Handling and Defining Exceptions,
a Jupyter notebook,
Python scripts:
ratraise.py,
readfilename.py,
readfilename1.py,
readfilename2.py,
readfilename3.py,
cntrlc.py,
anytime.py,
prerecording on
youtube
- Wednesday 19 July 2023
- L-31 Complexity and Cost,
a Jupyter notebook,
Python scripts: sortrandnumb.py,
timetosort.py,
time_iftry.py,
time_sin.py,
time_filework.py,
time_listcomp.py,
prerecording on
youtube
- L-32 Graphical User Interfaces,
a Jupyter notebook,
Python scripts: guihello.py,
guihello2.py,
usegrid.py,
guiradio.py,
guicheck.py,
mousedraw.py,
prerecording on
youtube
- Friday 21 July 2023
- L-33 Graphing on Canvas,
a Jupyter notebook,
Python scripts:
guieval.py,
guievaloo.py,
guisample.py,
arrowkeys.py,
prerecording on
youtube
- L-34 Scales and Animations,
a Jupyter notebook,
Python scripts:
exscale2.py,
rgbgui.py,
slidedot.py,
movedot.py,
prerecording on
youtube
Week Seven
- Monday 24 July 2023
- L-35
Class Hierarchies,
a Jupyter notebook,
Python script: class_point.py,
class_showpoint.py,
class_line.py,
class_showline.py,
class_parabola.py,
class_showparabola.py,
prerecording on
youtube
- L-36
The Game of Life,
a Jupyter notebook,
Python scripts:
game.py,
life.py,
prerecording on
youtube
- Wednesday 26 July 2023
- L-37
Multithreading and Concurrency,
a Jupyter notebook,
Python scripts:
hello_threads.py,
hello_threading.py,
class_producer.py,
class_consumer.py,
prodcons.py,
prerecording on
youtube
- L-38
Predator-Prey Simulations,
a Jupyter notebook,
Python scripts:
class_frog.py,
class_threadfrog.py,
draw_frogs.py,
frog_pond.py,
flying_birds.py,
prerecording on
youtube
- Friday 28 July 2023
- L-39
Network Programming,
a Jupyter notebook,
Python scripts:
tcp_server.py,
tcp_client.py,
dealer.py,
player.py,
prerecording on
youtube
- L-40
High Level Parallel Processing,
a Jupyter notebook,
Python scripts:
mc4pi2.py,
mc4pi_client.py,
hello_multiprocess.py,
multiprocess4pi.py,
prerecording on
youtube
Week Eight
- Monday 31 July 2023
- Wednesday 2 August 2023
- L-43
Review for Final Exam on Literacy,
a Jupyter notebook with questions,
and answers,
png file of circuit, save as review2_circuit.png,
dio file of flow chart, save as review2_flowchart.dio,
png file of flow chart, save as review2_flowchart.png,
dio file of class diagram, save as review2_classdiagram.dio,
png file of class diagram, save as review2_classdiagram.png,
dio file of use diagram, save as review2_usediagram.dio,
png file of use diagram, save as review2_usediagram.png,
Python script literacy.py,
prerecording on
youtube
- L-44
Review for Final Exam on Python,
a Jupyter notebook with questions,
and answers,
prerecording on
youtube
The Final Exam happens on Friday 4 August, from 10am till noon.