IMPORTANT NOTE: The following schedule is a draft, based on previous quarters. It should give you a general idea of the pace and timing of the class.

IMPORTANT NOTE: The following schedule is a draft, based on previous quarters. It should give you a general idea of the pace and timing of the class. THIS SCHEDULE WILL CERTAINLY CHANGE AS THE QUARTER PROGRESSES. Please don't depend on this information in purchasing airline tickets or making other irrevocable scheduling decisions without consulting me first.

Last modified:

Reading assignments are from Kernighan's Understanding the Digital World (2nd Edition) unless specified otherwise.


Getting Ready (Before Quarter Begins)

Follow the instructions in the Before Classes Start: Getting Set Up document to be ready for the start of the term.
  • Add students to Kit (could wait until M1 or W1)
  • Would probably be good to provide a link to a recent source on how chips are made. Some 230 students haven't a clue. https://history-computer.com/how-are-computer-chips-made/ is good reading assignment. Does Kernighan say much? Or google "how are computer chips made" -- videos from 2021 or 2022 would prolly be better than what I used to use 15 years ago.

Skip directly to Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | Week 7 | Week 8 | Week 9 | Week 10

DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
Week 1
Monday
(M1)
Before Class:
- Buy the textbook.
- Join the CS Collaboration Center in Microsoft Teams (code whllu3o). Turn on notifications for the General channel.
- Download VS Code for editing reflections and activity write-ups. (See Before Classes Start: Getting Set Up.)
- Create a class folder for your work in this class (e.g., comp101. (See Before Classes Start: Getting Set Up.)
- Skim this page and/or the assignment summary to get a sense of the pace of assignments in this course.

Add students to Kit in time for them to submit Reflection 1 by Friday.
Introduction
What is COMP 101 about?
Format of this course
Big-Picture Schedule for the Term [diagram]
Syllabus Highlights Video version [4 mins]
What is Kit and the value of reading your feedback?
Talk about value of reading feedback in Kit!

What is Computer Science?
Video version [4 mins] Slides


Make sure everyone joins the Collaboration Center team and turns on notifications for the General channel!

Assignment Due Before Next Class (Using Markdown):
Reflection 1: Right-click or control-click to download the reflection (Markdown file), then edit with your answers using VS Code, and submit to Kit.)
SIDE NOTE: Don't know Markdown? Intro to Markdown in plain text or Markdown format (you can edit a Markdown file in any tool that can handle plain text files, such as VS Code)
SIDE NOTE: "Markup" languages include extra formatting information (meta-information). "Markdown" (which you will use for reflections and homework assignments) is a way to format documents with minimal markup.
Friday
(F1)
Due on Kit Before Class:
Check: Does Microsoft Forms still have a bug with pull-down selections? If so, include the following:
[Note: Microsoft Forms may still have a bug with pull-down selections. When you view the quiz results it might give you 0 points when you give the correct answer, so just check that your choice is the one with the check mark. When I check the results, I will see the correct point total.]
Reflection 1

How Do Computers Represent Numbers?
- Video: A Quick Look at Representing Numbers in Decimal, Binary, Octal, and Hexadecimal [12 mins] Slides
OR
- Read: In Kernighan's Understanding the Digital World, read Section 2.3 through 2.3.3 [pp. 32-36]

How Do Computers Represent Other Data?
- Read: In Kernighan's Understanding the Digital World, Chapter 2: 2.2.4 "Digitizing Text" [pp. 31-32] and Chapter 2: 2.4 Summary [p. 38] [You may be interested in reading the rest of Chap. 2, especially Sections 2.2.1-2.2.3 on digitizing images, sound, and movies]

Optional Additional Resources:
- Binary and Hexadecimal Number Systems on Khan Academy.
Activity: Take the online Quiz on Binary Numbers to test your understanding of binary numbers.

Activity: Binary Representation
ASCII to Binary
Reference Material: ASCII Table


Very Important Number Representation Question:
Why do computer scientists confuse Halloween and Christmas?
[show answer]

Assignment Due Before Next Class:
CS History I: Concepts to Implementation: Read "Intro to Part I Hardware" [pp. 7-16], "Inside the Processor" [p. 39], and "Other Kinds of Computers" (and "Summary" section) [pp. 49-52] in Kernighan's Understanding the Digital World
REFLECT: Complete a reflective response on this reading assignment using the Reading Reflective Response Markdown template. Then, Submit to Kit.
OPTIONAL: Read this July 2023 New York Times article on new chips for AI
ASCII to Binary Activity
DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
Week 2
M2
Due on Kit Before Class:
ASCII to Binary Activity
CS History I: Concepts to Implementation

What is a Computer?
- Read (refreshing): Chapter 1 through Section 1.1.2 [pp. 11-16]
- Read (refreshing): Intro to Chapter 3 [p. 39]
- Read (refreshing): Sections 3.4 and 3.5 in Chap. 3 [pp. 49-52]
- Video: What is a Computer? [7 mins] Slides
Activity: CPU Simulator Exercise 1
In two side-by-side browser windows, bring up:
The Instructions for this Activity
The CPU Simulator
Submit Write-up to Kit
F2
Due on Kit Before Class:
CPU Simulator Exercise 1

How Do Computers Represent and Run Programs?
- Read: Sections 5.1 and 5.2 through Figure 5.1 in Chapter 5 [pp. 74-76]
- [Optional] Chapter 5: examples in 6 High-Level languages on pp. 77-81 (Figure 5.2, 5.3, 5.4, 5.5, 5.6, and 5.7)
- Read: Chapter 7, Section 7.11 "Summary" [pp. 130-131]
- Video: High-Level Languages to Simplest Assembly Instructions [3.5 min]
- Video: Load/Store (the Basics) [3 min]
- [Optional] Video: Watch the first 2 minutes of How a CPU Works in 100 Seconds. [Skip the following 10.5 min comparing the Apple M1 to Intel, which is not in the scope for this class.]
Activity: CPU Simulator Exercise 2
In two side-by-side browser windows, bring up:
The Instructions for the Second CPU Activity
The CPU Simulator
Start by talking the students through the table at the top of the instructions. Many skip that and dive straight to the questions.

Submit Write-up to Kit
Used to do Assembly/Machine Language Exercise

Assignment Due Before Next Class:
Reflection on Assembly and Machine Languages (based on the readings and activities)
DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
Week 3
M3
Due on Kit Before Class:
CPU Simulator Exercise 2
Reflection on Assembly and Machine Languages

Boolean Logic, Boolean Expressions, and Truth Tables
- Video: Boolean Operations and Truth Tables [8 mins] Slides
- Video: Introduction to Boolean Algebra (with hints for Hands-on Activity exercises) [17 mins] Slides
Alternate version: Logic (pdf)
Activity: Boolean Logic
Hands-On Boolean Logic Exercises
(Markdown template)

F3
Due on Kit Before Class:
Hands-On Boolean Logic Exercises

Logic Gates:
- Video: Introduction to Logic Gates [11.5 min] Slides
- Video: Going from Truth Tables to Gates [4 min] Slides
Activity: From Boolean Expressions to Circuit Diagrams
Boolean Expressions, Truth Tables, and Circuit Diagrams


Assignment Due Before Next Class:
CS History II: Evolution to Personal Computers: Read Sections 1.2 - 1.4 in Kernighan's Understanding the Digital World [pp. 18-24]
REFLECT: Complete a reflective response using the Reading Reflective Response Markdown template. Then, submit to Kit
DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
Week 4
M4
Due on Kit Before Class:
Boolean Expressions, Truth Tables, and Circuit Diagrams Activity
CS History II: Evolution to Personal Computers

Logic Gates → Arithmetic:
- Video: How Do Computers Do Binary Addition? [10 min] Slides
Activity: Circuit Diagrams
Creating Circuit Diagrams


Add Reflection on the relationship between binary values in Boolean mathematics (true/false), the binary nature of switches (on/off), and binary numbers.
Start thinking about possible Presentation topics. 1st and 2nd choices due via Topic Choice form no later than Thursday of 5th Week.
F4
Due on Kit Before Class:
Circuit Diagram Activity (PDF or Zip file)

Intro to Algorithms and Algorithm Analysis
- Video: Comparing Different Algorithms to Solve a Problem [02:50 - 3:44]
- Video: 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!)
- Code: See related Searching Code
- Read: from Kernighan's Understanding the Digital World: Chapter 4: Intro, Section 4.1, 4.2 [pp. 59-63] and Chapter 4 "Sorting" Section 4.3 [pp. 63 - 67]
Activity: Searching and Sorting Algorithms
Hands-on Exercises on Searching and Sorting Algorithms
Markdown template for these exercises.
Reference Material Sorting Visualizations:
- Small-Scale, step-by-step animations
- Comparisons
- Animations with larger datasets

DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
Week 5
M5
Where are we in this course?

Time Complexity and Computational Problems:
- Video: Time Complexity Demonstration - [9 min]
- Video: Computable vs Non-computable Problems [9:25 - 10:38]
- Video: Tractable vs Intractable Problems, including Traveling Salesperson [10:38 - 13:43] Slides

Hard Problems and Complexity
-Read: from Kernighan's Understanding the Digital World: Chapter 4: Section 4.4, 4.5 [pp. 67-71]
Continue with Hands-on Exercises from Searching and Sorting Algorithms

Start thinking about possible presentation topics for the Final Presentation

F5
Read possible presentation topics for the Final Presentation, and select a topic of your (or your group's) choice.


Are Algorithm Analysis videos still useful now that we have readings from Kernighan?

S23: I created groups of 3-5 based on similar presentation topics. They talked about similarities/differences in topics, either pairing up or deciding how to focus on different things. Some got started on research.
Catch-up day!
Fill out the Presentation Topic Choice form with a 1st choice presentation topic and a backup choice.
(List of possible presentation topics) (Presentation Guidelines)

Complete a reflective response on this week's reading assignments, videos, and lecture about Algorithm Analysis using the Reading Reflective Response Markdown template
DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
Week 6
M6
Due Before Class:
Algorithm Analysis reflective response
Searching and Sorting Hands-on Exercises (submit on Kit)
Work on Final Presentation

Helpful Tips for a Successful Presentation:
- [Video] 5 Presentation Tips for Students w/Templates
- [UNC at Chapel Hill] Preparing Effective Presentations
- [Video] Make AMAZING college presentations! Step-by-step instructions
- [Northern Illinois University] How do I create effective slide presentations?
F6
Catch-Up Day!
Week 7
M7
Computational Models
Video: Finite State Automata and Turing Machines (12.5 min) (PowerPoint slides)
[Note: This video refers to finite state diagrams drawn for a Virtual Pet project. That project used to be in COMP 105, and is now in COMP 102.]
Re-read the last paragraph on p. 50 from Section 3.4 in Kernighan's Understanding the Digital World.
Send around a sign-up sheet for first-years (or anyone) who wants to be on CS mailing list.
FSA's and Regular Expressions: Interesting for both theoretical and practical reasons
Do either videos or Kernighan introduce FSMs and reg exprs this way?

FSA's and Regular Expressions
DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
F7
Due on Kit Before Class:
FSA's and Regular Expressions Activity

Halting Problem: Example of a Non-Computable Problem
Video: The Halting Problem (10.5 min) (PowerPoint slides)
Alternative Video: Excellent YouTube video by Computerphile: Turing & The Halting Problem (6 min)
Alternative Video: Lighter, less formal YouTube video by udiprod: Proof That Computers Can't Do Everything (The Halting Problem) (8 min)

Very Important "Handout":
"The Halting Problem is Easy to Solve"
Quick intro to unary numbers

Turing Machines

Submit Activity to Kit
Need a reflection on Automata and Computability? Or how about on some of the Big Questions from Syllabus?
DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
Week 8
M8
Due on Kit Before Class:
Turing Machines Activity

What is the Internet? Reading assignments from Kernighan's Understanding the Digital World:
Chap. 8: Intro (pp. 141-142)
Chap. 9: Intro and 9.1 (pp. 157-160)
You may be interested in reading more in Chapters 8 and 9, especially section 9.6, which is part of the reading assignment for next week.
Article with visualizations of the growth of the internet since 1997 (animated visualization at end of article is very cool)

What is the Web?
Chap. 10: Intro, 10.1, and 10.2 (pp. 181-185) (Repeated from COMP 102)

More Information about the Internet (Optional)
External Video: What is the Internet? (4 min; Khan Academy & Code.org)
External Video: Packets, routers, and reliability (6.5 min; Khan Academy & Code.org)
Note: Web pages are just one kind of file that moves around on the internet.
Alyce does this In-class Exercise: Network Flow Exercise
Work on presentation planning/research with teammates in class. (Presentation Guidelines)
(Or work on overdue assignments.)

Complete a reflective response on the "What is the Internet?" readings from Chapters 8 and 9 and the two Optional video assignments for today using the Reading Reflective Response Markdown template. (Pretend the template says "reading and videos".) If you weren't in class, the videos are required, not optional.
F8
Due on Kit Before Class:
Reflective Response on the Internet (Markdown template)

Artificial Intelligence
Read Chap. 12 on Artificial Intelligence and Machine Learning from Brian Kernighan's Understanding the Digital World.

Social, Ethical, and Privacy Issues
Video: Brief Intro to Social/Ethical Issues in Computing (8 min) (PowerPoint slides)
Readings from Kernighan's Understanding the Digital World:
Digital Copyright: Chap. 9: 9.6 (pp. 174-176)
Issues Regarding the Web: Chap. 10: 10.9 (pp. 201-202)
You may be interested in other parts of Chap. 10.
Privacy & Anonymity: Chap. 13: Intro (pp. 239-240) and 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)
In-class Exercise: Machine Learning.

Before Friday (9th Week): Complete a reflective response on the AI Reading using the Reading Reflective Response Markdown template
Before Friday (9th Week): Complete a reflective response that reflects on the introductory video, the readings from Kernighan and the two TED talks you chose, using the Video Reflective Response Markdown template. (Pretend the template says "reading and/or videos".)
DAY BEFORE CLASS IN-CLASS TOPICS/ACTIVITIES
Week 9
M9
Memorial Day: No Class Memorial Day: No Class
F9
Due on Kit Before Class:
- Reflective Response on Social, Ethical, and Privacy Issues. (Markdown template; pretend the template says "reading and/or videos".)
- Machine Learning.
- Reflective Response on AI Reading (Markdown template)

Human-Computer Interaction: User Interfaces
Video: Introduction to User Interfaces (4.5 min) (PDF slides)

Interactive Reading Assignment: Read the Introduction and sections 4.1, 4.2, and 4.3 of Chapter 4 in the Computer Science Field Guide: Human Computer Interaction. (Note 4.3 is considerably longer than the others.) Read the extra notes behind the colored bars, but the bright blue exercises are optional.

With one or more partners, do the User Interface Activity
DAY IN-CLASS TOPICS/ACTIVITIES
M10
Due on Kit Before Class:
User Interface Activity


Student Presentations

Course Evaluations
Link
F10
Student Presentations
Due on Kit by Sunday Evening:
You need to provide reflections from three presentations, submit Reflective Responses to Kit by Sunday at midnight. Submit 3 reflections in one assignment. Use this Markdown template.

Final reflection? What should the prompt be?
Exam Week No Exam
Good idea from Pam: Read autobiographies and final reflections together to see their growth.