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!

When doing the readings, pay special attention to the participation activities and challenge activities. Both participation and challenge activities are due at the end of the week in the week they are assigned (typically Saturday at 11:59pm unless otherwise specified).  Work on them throughout the week they are assigned, and this will help you understand the lectures and programming activities.

Date Readings and pre-class assignments Session Links and Announcements
1/8
Get the online textbook: Instructions here Intro - Course Introductions
1/10 zyBook sections 1.1 - 1.4 Session One - Understanding the history and basics of computers
1/11   Lab One - Getting Started in the lab
1/12   Session Two - Numerical representation
1/15 No class
 
1/17 zyBook sections 1.5 - 1.11 Session Three - Numerical Representation and Lab 2 Prep
1/18   Lab Two - Getting Started With Python
1/19   Session Four - Lab Debrief and Chapter 1 review
PA01 - Your first chance to program
1/22 zyBook Sections 2.1 - 2.7 Session Five - More with data and types
1/24   Session Six - Basic Problem Solving in Python
1/25 zyBook sections 3.1 - 3.4 Lab Three - Conditionals and if/else Selection Statements
1/26   Session Seven - Debrief Lab Three
PA02 - Practicing conditionals
1/29   Session Eight - Multi-way conditionals
1/31 zyBook sections 4.1 - 4.4 Session Nine - Introducing Repetition
2/1   Lab Four - Exploring Repetition
2/2   Session Ten- Debrief and Practice
PA03 - Practicing Iteration
2/5 zyBook sections 4.5 - 4.9
(Section 4.5 challenge activity with dictionary is not required)
Session Eleven - More loop practice
2/7   Session Twelve - Nested looping
2/8   Lab Five- Loops
2/9 Exam 1 Study Guide Session Thirteen- Lab Debrief
Review for Exam #1
2/12 No zyBook readings this week, use this week to catch up Exam #1
2/14 Session Fourteen- Algorithms and Program Development
2/15   Lab Six - Algorithms and Latin Squares
2/16 Session Fifteen - Debrief of lab
PA04 - Program Development
2/19 zyBook sections 5.1 - 5.2 Session Sixteen - DeMorgan's Laws
2/21 No class meeting - watch video Session Seventeen - Introduction to Strings
2/22   Lab Seven - String Lab
2/23 No class meeting - watch video Session Eighteen - Working with Strings
PA05 - Working with Strings
2/26   zyBook sections 5.3 - 5.5 Session Nineteen - More with Strings - Methods
2/28   Session Twenty - More with Strings - Penny Math
3/1   Lab Eight - Caesar Cipher
3/2   Session Twenty One - Lab Debrief (Caesar)
3/5 zyBook sections 6.1 - 6.2 Session Twenty Two - Files
PA06 - Working with Files
3/7   Session Twenty Three - Files (pt 2)
3/8   Lab Nine - File Lab
3/9   Session Twenty Four - File lab debrief
3/19 zyBook sections 7.1, 7.2, 7.4 Session Twenty Five - Defining your own functions
PA07 - Decode the Exam2 study guide!
3/21   Session Twenty Six - More Functions
3/22   Lab Ten - Working with functions
3/23 No class (at WiCyS) - watch video Session Twenty Seven - Lab 10 Debrief, Exam prep
3/26   Exam #2
3/28 zyBook sections 8.1 - 8.4 Session Twenty Eight - Introducing Lists
PA08 - A Translator
3/29   Lab Eleven - List Lab
3/30   Session Twenty Nine - More Lists
4/2 zyBooks sections 8.5 - 8.8 Session Thirty - Lists - Indexing and Sorting
4/4 Design book chapter (pick up in class) Session Thirty One- Intro to Functional Decomposition
PA09 - Breaking Down the Problem
4/5   Lab Twelve - Design Lab (no link)
4/6   Session Thirty Two - More Design
4/9 zyBook sections 9.1 - 9.3, 9.5 Session Thirty Three - Finish Design
4/11 Session Thirty Four - Introduction to Dictionaries
PA10 - Coding up PA09
4/12 Lab Thirteen - Exploring Dictionaries
4/13 Today's video Session Thirty Five - Debrief Lab Thirteen
4/16  zyBook sections 10.1 - 10.5
(no challenge activities, so participation score will double as challenge score)
Session Thirty Six - Namespaces and Memory
4/18   Session Thirty Eight - Intro to Searching
PA11 - Put It All Together with a Word Cloud
4/20   Lab Fourteen - Analyzing Customer Data
4/21   Debrief of Lab 14 - lab answer here
4/24 Pick 3 zyBook sections that look interesting to you to complete for 4 points Session Thirty Nine - Intro to Sorting
4/26 Session Forty - More Sorting
4/27 Study Guide Come to lab for help on homework or final review
4/28   Session Forty One - Final Review
5/2 Final Exam in SAB 102 10am-noon