Basic Information

This course is the computer science department’s introductory course. The two primary goals are to introduce the general field of computer science and to introduce the concept of programming.

This website is subject to change as more content is added. Check it often!

Readings before class - ZyBook "participation" activities and readings are due before the class they are assigned.  Each section usually takes on average 10 minutes complete (although some might take a little more time and some might take a little less time).  "Challenge" activities are optional and may be used as examples in class. Chapter sections marked as optional will not be graded, but they will better help you understand Python.

Topics/Notes - Any class notes will be linked here. If you miss a class, screencasts are provided through eLearning. (Note - screencasts are only meant as note suppliments. You may miss things written on the board or in-class activities/bonus points.)

Assignments - Assignments should be submitted on the program submission system before they are due. The system will automatically run your program and report any errors. If you do not understand what the system means if it returns an error, it is your responsibility to ask. Assignments can be turned in up to two days late with a 10% penalty deducted per day.



Date Readings before class Topics/Notes Assignments
8/22 Get the online textbook:
Instructions here
Class Notes - Course Introductions No programming assignment this first week.
8/24 zyBook 1.1 - 1.2 Advice from last semester's students - Log into your UNI account to view
Class Notes - Understanding the history and basics of computers
 
8/25   Lab #1 in 112 (check your assigned lab times)  
8/26  zyBook 1.4 -1.5  Go over lab
Finish 8/24 lecture
Programming with Python
 
8/29 zyBook 1.6 - 1.7 Preparing to write programs
(Notes and examples from zyBook)
 
8/31  zyBook 1.8 - 1.10 Starting to write programs
(Notes and examples from zyBook)
 
9/1   Lab #2 in WRT 112  
9/2
zyBook 1.11 - 1.13 Notes - More with data and types
(Notes and examples from zyBook)
HW #1 (due 9/7)
See homework link in Blackboard
9/5 HOLIDAY  
9/7 zyBook 2.1 - 2.2 Notes - Introducing Branching in Python
(Notes and examples from zyBook)
 
9/8   Lab #3 in WRT 112  
9/9 zyBook 2.3 - 2.4 Notes - Boolean and Relational Operators
(Notes and examples from zyBook)
HW #2 (due 9/14)
9/12 zyBook 2.5 - 2.8 Notes - More if/else
(Notes and examples from zyBook)
 
9/14 zyBook 3.1 - 3.3
Class Notes - Introducing For and While Loops  
9/15   Lab #4 in WRT 112  
9/16
zyBook 3.4 - 3.5 Class Notes - Lab Debrief and More Practice HW #3 (due 9/21)
9/19 zyBook 3.6 - 3.7 Class Notes - Advanced Looping  
9/21 zyBook 3.8 - 3.9
No class meeting
Class Notes - Nested looping
Watch Lecture Video
 
9/22   Lab #5 in WRT 112  
9/23 No class meeting Watch Lab 5 explanation Video HW #4 (due 9/28)
HW #4 Intro Video
9/26 Powerpoint notes Class Notes- Algorithms and Program Development  
9/28 zyBook 4.1 - 4.2 Class Notes - Introduction to Strings  
9/29   Lab #6 in WRT 112  
9/30
  Class Notes - Working with Strings HW #5 (due 10/5)
10/3  zyBook 4.3 - 4.4 Class Notes - More with Strings - Methods  
10/5 zyBook 4.5 Class Notes - More with Strings - Penny Math  
10/6   Lab #7 in WRT 112  
10/7   Class Notes - Lab Debrief  
10/10   Class Notes- Exam prep, various examples, and wrap up  
10/12 Note: Test in Sabin 102 Concepts Exam #1  
10/13 Note: Test in 112 Wright Hall In-lab Exam #1  
10/14 No Class Instructor grading time and student recovery time  
10/17 zyBook 5.1-5.2
(Counts for last week's reading)
Class Notes - Intro to Files
10/19 zyBook 6.1-6.3 Defining your own functions (zyBook used in class) HW #6 (due 10/26)
10/20   Lab #8 in WRT 112  
10/21 zyBook 6.4-6.6 Class Notes - Lab 8 Debrief, more on functions
10/24  zyBook 6.9 Class Notes - Function wrapup, code comments  
10/26 zyBook 7.1-7.3 Class Notes - Introducing Lists
10/27   Lab #9 in WRT 112  
10/28 zyBook 7.4-7.5 Class Notes - More Lists HW #7 (due 11/2 at 11:59pm)
10/31 zyBook 7.6-7.8
Class Notes - Lists - Indexing and Sorting  
11/2 Class Notes - Using Files and Lists to Parse Text
11/3   Lab #10 in WRT 112  
11/4 Lab 10 review HW #8 (due 11/9)
HW #8 Intro Video
How do I make the points list?
11/7 No class
zyBook 8.1 and 8.2
No class, watch video here over dictionaries
Class Notes - Introduction to Dictionaries
 
11/9 zyBook 8.3 and 8.4 Class Notes - Word Frequency Analysis
11/10   Lab #11 in WRT 112  
11/11
Review of Lab Eleven
letterCount.py - Code example of how to sort a dictionary by frequencey/value
HW #9 (due 11/18)
No late days
11/14 zyBook 10.1-10.4 Class Notes- Namespaces and Memory  
11/16  zyBook 9.1 Class Notes - Sets
11/17   Lab #12 in WRT 112  
11/18 No Class I will be in the classroom for homework help during class time
Lab 12 Explanation Video
Thanksgiving Break
11/28 zyBook 11.1-11.3 Class Notes - Intro to Searching HW #10 (due 12/2)
In-Lab Exam 2 Study Guide
11/30 zyBook 11.4   Class Notes - More Searching  
12/1 Optional Lab Not a graded lab. Use lab time for homework help or for help studying for upcoming finals.  
12/2 zyBook 11.5 - 11.7 Class Notes - Sorting  
12/5 Anonymous Survey on eLearning for participation points (due 12/9 at 11:59pm) Programming Final Review - In-class lab final review session  
12/7 No class No class, study for finals  
12/8 Note: Test in 112 Wright Hall In-Lab Exam #2  
12/9 Final Review
Finals Note: Final Exam in SAB 102 at 10:00 - 11:50am 9am class on Wednesday, December 14
10am class on Monday, December 12