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
1/17 Get the online textbook:
Instructions here
Advice from last fall's students - Log into your UNI account to view
Class Notes - Course Introductions
 
1/18 zyBook 1.1 - 1.2 Lab #1 in 112 (check your assigned lab times)  
1/19  zyBook 1.4 -1.5  Class Notes - Understanding the history and basics of computers  
1/22 zyBook 1.6-1.7 Preparing to write programs
(Notes and examples from zyBook)
 
1/24  zyBook 1.8 - 1.10 Starting to write programs
(Notes and examples from zyBook)
 
1/25   Lab #2 in WRT 112  
1/26
zyBook 1.11 - 1.13 Notes - More with data and types
(Notes and examples from zyBook)
HW #1 (due 1/31)
See homework link in Blackboard
1/29 zBook 1.14  Notes - Finishing up Chapter 1
(Notes and examples from zyBook)
 
1/31 zyBook 2.1 - 2.2 Notes - Introducing Branching in Python
(Notes and examples from zyBook)
 
2/1   Lab #3 in WRT 112  
2/2 zyBook 2.3 - 2.4 Notes - Boolean and Relational Operators
(Notes and examples from zyBook)
HW #2 (due 2/7)
2/5 zyBook 2.5 - 2.7 Notes - More if/else
(Notes and examples from zyBook)
 
2/7 zyBook 3.1 - 3.3
Class Notes - Introducing For and While Loops  
2/8   Lab #4 in WRT 112  
2/9
zyBook 3.4 - 3.5 Class Notes - Lab Debrief and More Practice HW #3 (due 2/14)
2/12 zyBook 3.6 - 3.7 Class Notes - Advanced Looping  
2/14 zyBook 3.8 - 3.9
 
Class Notes - Nested looping  
2/15   Lab #5 in WRT 112  
2/16   Lab 5 demonstrations HW #4 (due 2/21)
2/19 Powerpoint notes Class Notes- Algorithms and Program Development  
2/21 zyBook 4.1 - 4.2 Class Notes - Introduction to Strings  
2/22   Lab #6 in WRT 112  
2/23
  Class Notes - Working with Strings HW #5 (due 2/28)
2/26  zyBook 4.3 - 4.4 Class Notes - More with Strings - Methods  
2/28 zyBook 4.5 Class Notes - More with Strings - Penny Math  
2/29   Lab #7 in WRT 112  
3/1   Lab 7 Debrief and Midterm Exam Prep
Preparing for the Exams
Programming Exam Question Bank
Reference Sheet - you may use the first page on the exam
 
3/4 Extra Credit Day
Bring your laptops
Programming Exam Practice  
3/6 Note: Test in Sabin 102 Concepts Exam #1  
3/7 Note: Test in 112 Wright Hall In-lab Exam #1  
3/8 zyBook 6.1-6.3 (readings checked by 3/20) Defining your own functions (zyBook used in class)  
Spring Break
3/18 zyBook 6.4-6.6 Class Notes - More on functions
3/20 Continue Topics
3/21   Lab #8 in WRT 112  
3/22 zyBook 7.1-7.3 Class Notes - Introducing Lists HW #6 (due 3/27)
3/25 zyBook 7.4-7.8 Class Notes - More Lists  
3/27 zyBook 7.6-7.8
Class Notes - Lists - Indexing and Sorting  
3/28   Lab #9 in WRT 112  
3/29 Class Notes - Intro to Files  HW #7 (due 4/3)
4/1 zyBook 5.1-5.2 Class Notes - More Files
4/3 Class Notes - Using Files and Lists to Parse Text
4/4   Lab #10 in WRT 112  
4/5 Lab 10 review HW #8 (due 4/10)
How do I make the points list?
4/8 zyBook 8.1 and 8.2 Class Notes - Introduction to Dictionaries  
4/10 zyBook 8.3 and 8.4 Dictionary frequency analaysis sorted by key or value:
Letter Count (Alphabetical Sort) - Sort dictionary by key
Letter Count (Frequency Sort) - Sort dictionary by frequencey/value
4/11   Lab #11 in WRT 112  
4/12
No class Watch Introduction to HW #9
Lab #11 walkthrough video available
HW #9 (due 4/17)
4/15 zyBook 9.1-9.4 Class Notes- Namespaces and Memory  
4/17  zyBook 10.1 Class Notes - Sets
4/18   Lab #12 in WRT 112  
4/19 Review Lab 12 Extra Credit HW #10 (due 4/26)
4/22 zyBook 11.1-11.3 Class Notes - Intro to Searching
4/24 zyBook 11.5 Class Notes - More Searching
4/25 Optional Lab Not a graded lab. Use lab time for homework help or for help studying for upcoming finals.

Preparing for the Exams
Programming Exam Question Bank
Reference Sheet - you may use both pages on the exam
 
4/26 Class Notes - Sorting  
4/29 zyBook 11.6-11.8
(last reading)
Programming Final Review - In-class lab final review session  
5/1 No class No class, study for finals  
5/2 Note: Test in 112 Wright Hall In-Lab Exam #2  
5/3 Final Review
5/6 Note: Final Exam in SAB 102 at 10:00 - 11:50am