Introduction/Syllabus
IMPORTANT NOTE: The following schedule is still being updated for the Spring 2022 quarter (much of it is taken from Spring 2021), but it should give you a general idea of the pace and timing of the class. THIS SCHEDULE WILL CERTAINLY CHANGE AS THE QUARTER PROGRESSES. As the term progresses, I will be posting notes and other readings for you. Please don't depend on this information in purchasing airline tickets or making other irrevocable scheduling decisions without consulting me first.
Reading assignments are from Kernighan's Understanding the Digital World (2nd Edition) unless specified otherwise.
Jump directly to Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | Week 7 | Week 8 | Week 9 | Week 10
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
---|---|---|---|---|
Week 1
Monday(M1) |
MASKS REQUIRED !
Big-Picture
Schedule for the Term (diagram)
|
Video:
Watch the Introduction
to the Collaboration Center video (3.5 min)
Tasks:
Fill out your introduction/name card in the
Intros powerpoint which can be found in the CS 107 Team.
Problem Set 1A Form.
Do Wednesday before class.
|
||
Wednesday (W1) |
Lab Preparation:
Make sure you have VScode and Python installed on your computer.
|
MASKS REQUIRED !
Mini-Lab:
Getting Started with JES
|
Video:
|
|
LAB 1 |
Reading:
Video:
Functions (8.5 min)
|
MASKS REQUIRED !
Activity: Exploring Functions |
||
Friday (F1) |
Due before Class:
Complete
Problem Set 1A (form).
Submit
Problem Set 1B to
Kit.
Submit
Getting Started with JES Mini-Lab
to Kit.
|
MASKS REQUIRED !
Continue Exploring Functions (due Monday before class) |
Reading:
|
|
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 2 M2 |
Due before Class:
Exploring Functions Lab (from Lab 1)
Reading:
Video:
More on functions - 14.5 min
|
MASKS REQUIRED !
Mini-Lab: Drawing Pictures |
Finish up the Mini-Lab.
Work on Exercises 1-9 in the Intro to Pictures reading. |
|
W2 |
Reading:
Videos:
Intro to Picture Encoding - 9 min
Pictures and Loops - 14 min
(Apologies for the construction noises in
the background!)
|
MASKS REQUIRED !
Mini-Lab:
Manipulating
Pixels in a Picture
(You may find the JES Picture Functions Quick Reference helpful.) |
Finish up the Mini-Lab. Work on Lab Preparation. (see LAB 2) |
|
LAB 2 |
Due before Lab:
Manipulating Pixels Mini-Lab (From W2)
Lab Preparation:
Finish Manipulating Pixels Mini-Lab
Analysis Questions from Manipulating Pixels
Type in the
negative ,
grayscale , and weightedGrayscale
functions
from the reading.
Reading:
Make sure you have finished reading
Pictures and
Loops
Video:
Using
Functions Inside Other Functions - 6.5 min
|
MASKS REQUIRED !
Lab: Simple Picture Manipulation |
Finish up the lab. | |
F2 |
Due before Class:
Lab 2
Reading:
More with Picture and Loops:
Looping through a subset of a
picture
Video:
More with Loops:
Looping through a subset of a
picture - 14.5 min
|
MASKS REQUIRED !
Last Reminder!!!
Mini-Lab:
More
Practice with For Loops
|
Reflection 1: Week 1 and 2 Reflection |
|
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 3 M3 |
How Do Computers
Represent Numbers?
Video:
A Quick
Look at Representing Numbers in Decimal, Binary,
Octal, and Hexadecimal (12 min)
(slides)
How Do Computers
Represent Other Data?
In Kernighan's
Understanding the Digital World, read the rest of Chapter 2 (2.3 and 2.4)
Additional Resources:
Binary
and Hexadecimal Number Systems on Khan Academy.
|
Activity:
ASCII to Binary Mini-Lab
Reference:
ASCII Table
Due Wednesday before class
Continue with Mini-Lab from
Friday (if time permits)
|
Complete Problem Set on Number Representation
(Due Wednesday)
|
|
W3 |
Due before Class:
More Practice With For Loops Mini-Lab (From F2)
ASCII Mini-Lab
Reading:
Video:
Reflections and Rotations -
10.5 min
|
Mini-Lab: Reflecting Pictures | ||
LAB 3 |
Due before Lab:
Reading:
Read the Lab
Videos:
Scaling and Tiling - 2 min
|
Lab: CopyInto and Scaling | Finish Lab | |
F3 |
Due before Class:
Reflecting Pictures Mini-Lab (From W3)
CopyInto and Scaling Lab
Reading:
Video:
Cropping Pictures - 4 min
|
Mini-Lab: Using copyInto and cropPicture
|
||
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 4 M4 |
CopyInto and CropPicture Mini-Lab (From F3)
Reading:
Videos:
Conditional Statements - 10.5 min
Swapping Backgrounds - 4 min
(first 20 seconds are review, then it goes on to new
material)
|
Mini-Labs:
Selectively Changing Colors
|
Take or find pictures for Lab 4.
(If you haven't done so already, watch the
Taking or Choosing Pictures for
Lab 4 video.)
|
|
W4 |
|
Mid Semester Reflection Part 1:
Problem Set: Duplicate Function
Semester Reflection Part 2:
if statements, binary, hex, english (human readable) |
Video:
Taking or Choosing Pictures for Lab 4
- 3 min
(600 x 400 pixels or 400 x 600 pixels are pretty good sizes
for landscape or portrait mode pictures; larger pictures
take more time to process.)
|
|
LAB 4 |
Due before Lab:
Video:
Introduction to Lab 4 - 11 min
(If you haven't done so already, watch the
Taking or Choosing Pictures for
Lab 4
video about taking or choosing pictures for this lab.)
|
Photo day!!!: do not wear green as we'll be taking pictures in
front of a green screen. Meet in the library foyer Combining Pictures |
Finish up the Lab
Begin to work on practice online
Problem Set (for loops)
(due Monday)
|
|
F4 |
Reading:
|
Mini-Lab: Blurring and
Scaling
|
||
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 5 M5 |
Reading:
|
Complete the first exercise from the
Debugging
Mini-Lab
Begin to work on the
Collage
Project.
|
Complete the Debugging
Mini-Lab started in class.
|
|
W5 |
Video:
Are Alg Anal videos still useful now that we have readings from Kernighan?
Intro to Algorithms and
Algorithm Analysis
Video: Watch first 9.5 min
Problems, Algorithms, and
Programs (00:00 - 3:44)
Example: Linear and Binary
Search (3:44 - 9:25) -- Careful! We got
right and left backwards a couple of times between
6:30 and 7:00. (Oops!)
Readings from
Kernighan's Understanding the Digital World:
Chap. 4: Intro, 4.1, 4.2 (pp. 59-63)
Chap. 4 — Sorting: 4.3 (pp. 63 - 67)
Note: It would seem that the current schedule never does go back to the final 4.5 min (Computable/Non, Tractable/Intractable) of this video. Comparable reading assignment is currently W10. |
Due M6 by 23:59
Collage
Project
(due no later than M7)
|
Read Through | |
LAB 5 |
Video:
Time Complexity Demonstration -
9 min
|
Hands-on Exercises
on Searching and Sorting Algorithms
Sorting Visualization Reference Materials:
|
||
F5 |
Due before Class (No Extensions!!!):
Mid Semester Reflection Part 1:
Problem Set: Duplicate Function
Semester Reflection Part 2: if statements, binary, hex, english (human readable) |
Introduction to Sound:
Instead of watching a video in class, watch the followng video
before Monday and submit a reflection:
Physics of Musical Instruments -
approx 60 min
|
Complete a video presentation reflection using the
Video Reflection Template
Optional Reading to Supplement Video:
|
|
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 6 M6 |
Due by 23:59
Video Reflection from Physics of Musical Instruments (F5)
Searching and Sorting Exercises
(Lab 5)
|
Mini-Lab: Changing Volume
|
Semester Reflection 3 Complete 3rd reflection by 23:59 04/06 (Friday) | |
W6 |
Reading:
Video:
Changing Frequency - 3 min
|
Mini-Lab: Changing Frequency
|
Finish up the Mini-Lab | |
LAB 6 |
Video:
Splicing Sounds - 7.5 min
|
Finish the lab
|
||
F6 |
CS History: Concepts to
Implementation
Video:
The Machine that Changed the World, Part I
(approx. 60 min.)
is available from the
Links to CS History Videos
file in
Kit.
Read: Intro to Part I Hardware (pp. 7-10)
in Kernighan's Understanding the Digital World
|
Complete Semester Reflection 3.
Mini-Lab: Echoing Sounds and Shifting Frequencies |
Complete a video reflective response
on The Machine that Changed the World, Part I
using the
Video
Reflective Response Markdown template.
Include at least one additional thing you learned from the
reading.
|
|
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 7 M7 |
Due by 23:59:
Video Reflection on CS History
Reading:
External Video:
The Fetch-Execute Cycle: What's Your
Computer Actually Doing? (9 min)
|
Due M10 by 23:59:
Final Semester Reflection (Program) Final Semester Reflection (Written) (Check here for breakdown) Mini-Lab:
Blending
Sounds (Due M8 by 23:59)
|
Finish the Mini-Lab
Begin to work on the
Audio Collage
Project (Due M9 by 23:59)
If you're interested in other sounds you can use in your
project, check out
freesound.org. You'll need to be
careful, though, to find sounds with equivalent sampling
rates if you want to use them together in a sound collage.
|
|
W7 |
How Do Computers Represent and Run
Programs?
Is this too much? Comment out one or more?
Reading from Kernighan's
Understanding the Digital World:
Chap. 5: Intro, 5.1, 2 pages of 5.2 (pp. 73-77)
Video:
Introduction
to the Central Processing Unit
(7 min)
(slides)
Sub-topics:
High-level languages vs. machine code and assembly
code
Memory and the Central Processing
Unit (CPU)
The fetch-execute cycle
|
Mini-Lab:
Cropping Sounds (Due M8 by 23:59)
Assembly/Machine Language Exercise
Reference Material:
Simple CPU Simulator —
Recommendation: bring up in a separate browser
window and scroll down to find the instruction set.
|
Finish the Mini-Lab | |
LAB 7 |
Lab: Machine Language, Assembly Language,
and the CPU
In two side-by-side browser windows, bring up:
Extra Credit: 5 points
Music Composition (Due 05/26 by 23:59) Alternative: Do Music Composition Here & Echoing on F7. |
Finish the lab | ||
F7 |
DOGL - No Class.
Alternative: Do Simple Animations Here & Chromakey ML on M8. |
|||
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 8 M8 |
|
Due M9 by 23:59
Alternative: Do Simple Animations on F7 & Chromakey ML here. Publicize Final Project if there will be one. |
Finish the Mini-Lab
|
|
W8 |
Work on: Audio Collage Project (Due M9 by 23:59) Alternative: Chromakey Animation Other alternatives: Binary Numbers, Work Day, DOGL, Recursion |
|||
LAB 8 |
Work on: Final Semester Reflection (Program) Alternatives: Chromakey, Animations, Work on Final PP |
Finish lab | ||
F8 |
Final Project Storyboards due here if there is a final project (See StoryBoard Template for details)
Mini-Lab Preparation:
Some functions in the
More Animations
mini-lab take a long time to process, so you will want
to run them on small files.
You may use functions you have written previously to
make existing picture files smaller.
|
Alternatives: MTCTW 1, Chromakey Animation, Assembly/Machine Language, Binary Numbers, Recursion OR if M9 is Mem Day Boolean Logic here and More Animations later |
Finish the Mini-Lab | |
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 9 M9 |
Boolean Logic, Boolean Expressions,
and Truth Tables
Video:
Boolean
Operations and Truth Tables
- 8 min
(slides)
This video was created for COMP 105 and 110. The one
difference for Python is that Python uses
and instead of && ,
or instead of || , and
not instead of ! . (00:50 -
3:05)
|
Hands-On Boolean Logic Exercises
(complete the exercises on pp. 3-6)
OR
Hands-On Boolean Logic Exercises (pdf)
(Here is a
Markdown
template for these exercises that you may use to
format your answers.)
|
Finish the in-class activity
Very Important "Handout":
|
|
W9 |
Due before Class:
Boolean Logic Exercises
LogicGates:
Video:
Introduction to Logic Gates (11.5 min)
(slides)
Video:
Going from Truth Tables to Gates - 4 min
(slide)
|
Preparation for next week:
Download the Java Development Kit (JDK), if you don't have it
already, and JFLAP. The JDK is available from Oracle (type
"download jdk" into a browser). JFLAP is available from
jflap.org. (You will have to fill
out a form to let them know you are using it in a course;
textbook is "NONE -- Intro to CS course at Kalamazoo
College").
|
||
LAB 9 |
Due by 23:59
Logic Gates → Arithmetic:
Video:
How Do Computers Do Binary Addition? - 10 min
(slides)
|
Finish lab
Very Important "Handout":
Interesting follow up video on making microprocessors:
How to Make a Microprocessor
(a brief demonstration of photo reduction) - 3
min
|
||
F9 |
Due before Class:
Social, Ethical, and Privacy
Issues
Keep intro video? Or unnecessary thanks to Kernighan?
Video:
Brief Intro to Social/Ethical
Issues in Computing
(8 min)
(PowerPoint slides)
Readings from
Kernighan's Understanding the Digital World:
Chap. 9: 9.6 (pp. 174-176)
Chap. 10: 10.3-10.9 (pp. 185-202)
Chap. 13: Intro (pp. 239-240), first 4 paragraphs of
13.2 (p. 247)
You may be interested in reading the rest of
Chap. 13, especially 13.2.1-13.2.2 on
Tor and Bitcoin.
Video:
Watch any 2 of the 3 talks from
TEDxUNCCharlotte: Inclusion
Drives Innovation
Ashley Rivenbark on how inclusive thinking
ignites innovation (9:07 - 19:04)
Dr. Manuel Pérez-Quiñones on why
technology should support bilingualism
(19:04-38:40)
Dr. Diana Rowan on battling covert racism
(38:40-53:42)
|
Should be DOGL Make-up Day
E.g., something like Alyce will be available online for Catch-Up / Office Hours Work Day Prioritize your semester reflection!!! Complete the video reflection over the weekend. |
Complete a reflective response
that reflects on the introductory video,
the readings from Kernighan and
and the two TED talks you chose, using the
Video
Reflective Response Markdown template
(Pretend the template says "reading
and/or videos".)
|
|
DAY | PREPARATION BEFORE CLASS | IN-CLASS TOPICS/ACTIVITIES | FOLLOW-UP ACTIVITIES | |
Week 10 M10 |
Memorial Day - no class | |||
W10 |
Due by 23:59:
Final Semester Reflection (Program) Final Semester Reflection (Written)
Video Reflection
Hard Problems and Complexity
Reading from Kernighan's
Understanding the Digital World:
Chap. 4: 4.4, 4.5 (pp. 67 - 71)
Computational Models
Video:
Finite State Automata and Turing
Machines
(12 1/2 min)
(PowerPoint slides)
|
Alternative: Algorithm Analysis, Halting Problem (and P vs NP if you are out of your mind LOL) |
||
LAB 10 |
Halting Problem: Example of a
Non-Computable Problem
Video:
The Halting Problem
(10 1/2 min)
(PowerPoint slides)
|
Continue with
FSA's and Regular Expressions
Alternatives: Review for Final Exam, Work on Final Projects, Final Project Presentations |
Finish lab | |
F10 |
Due before Class:
Final Projects Due (if there are final projects) |
Course evaluations
Alternative: Final Project Presentations |