CSC 100: The Beauty and Joy of Computing

Class and Lab Schedule

The following calendar shows topics covered, handouts given, and assignments that have been given and when they are due. Items with yellow background are tentative (either because the date is in the future or because I haven't gotten around to updating it). All items with a white background are final.

 
Week 1
Wed, August 16 Fri, August 18
Lecture 1: Introduction
  • Introductions
  • Class/syllabus review
  • Tour of class resources
 
Handout: Syllabus
Lab 1:
Introduction to Snap! and Programming
 
See Canvas for lab materials
 
Week 2
Mon, August 21 Wed, August 23 Fri, August 25
Reading: Start BtB Chapter 1
 
Lecture 2: Success in College
  • High school vs college
  • Tips for success
 
Handout: Reading Reflection Info
Reading (read before class!):  
Lecture 3:
  • What is Computer Science?
  • The computer as a tool
  • Impact of CS on the world
 
Handouts:
Video (watch before lab!):  
Discussion: Pair Programming
 
Lab 2:
Drawing, variables, and interaction
Week 3
Mon, August 28 Wed, August 30 Fri, September 1
Due: BtB Chapter 1 Reflection
 
Lecture 4: Computing and Programming
  • Computing steps
  • Basic computer model
  • Computing speed
  • Programming languages
Reading (read before class!):  
First: Finish Programming Languages from Lecture 4
 
Lecture 5: Intro to Abstraction
  • Basic idea
  • Detail Removal
  • Generalization
 
Lab 3:
Abstractions in Snap!

Week 4
Mon, September 4 Wed, September 6 Fri, September 8
 
No class - Labor Day!
Reading: BtB Chapter 1 Wrap-up
    Start BtB Chapter 2
 
Lecture 6: Data Representation 1
  • Numbers
  • Number Bases
  • Binary
  • Conversions
Assigned:
 
Lab 4:
Number Representations, Strings, and Unicode
Week 5
Mon, September 11 Wed, September 13 Fri, September 15
Due: BtB Chapter 2 Reflection
 
Finish topics from Lecture 6:
  • Binary
  • Conversions
 
Lecture 7: Data Representation 2
  • Hexadecimal
  • Conversions
  • Finite Representations
 
Finish topics from Lecture 7:
  • Finite Representations
 
Lecture 8: Organizing Data
  • Abstract Data Types
  • Data Structures
  • Lists
  • Dictionaries and Trees
 
Lab 5:
Using Lists
Week 6
Mon, September 18 Wed, September 20 Fri, September 22
Reading: BtB Chapter 2 Wrap-up
    Start Emma reading
 
Due: Assignment 1
 
Lecture 9: Algorithms 1
  • Basic Definitions
  • Some Famous Algorithms
 
Handouts:
Left from Lecture 9:
  • Problems vs Algorithms
  • Algorithm Trade-offs
 
Lecture 10: Algorithms 2
  • Modern Computer Speeds
  • Moore's Law and the Singularity
 
 
Lab 6:
Introduction to Python
Week 7
Mon, September 25 Wed, September 27 Fri, September 29
Due: BtB Emma reading reflection
 
Left from Lecture 10:
  • Algorithm "time"
  • Measuring time
 
Lecture 11: Algorithms 3
  • Constant time
  • Loop patterns
    • Linear time
    • Quadratic time
  • Predicting times
Lecture 12: Algorithms 4
  • Exponential Time
  • Logarithmic Time
  • Databases
 
Handout: Midterm Review
 
Due: Assignment 2
 
Lab 7:
Algorithms
Week 8
Mon, October 2 Wed, October 4 Fri, October 6
Reading: Emma reading wrap-up
    Start BtB Chapter 4 (2 weeks)
 
Review for midterm
Midterm Exam!
 
Lab 8:
Reinforcement Lab
(no pre-lab work)
Week 9
Mon, October 9 Wed, October 11 Fri, October 14
 
No class - Fall Break!
Midterm exam solutions/discussion
 
Class project discussion
 
Handout: Class projects
 
Lab 9:
Python / Sprite Graphics
Week 10
Mon, October 16 Wed, October 18 Fri, October 20
Due: BtB Chapter 4 Reflection
 
Lecture 13: Reductions/Recursion
  • Solving one problem with another
  • Reduction examples
  • Recursion w/examples
 
Assigned:
Brief project discussion
 
Lecture 14: Data Representation 3
  • File formats and rendering
  • Text - ASCII
  • Formatted Text - HTML
  • ... rest delayed until Monday
 
Due: Project team identification
 
Lab 10:
Recursion and Fractals
Week 11
Mon, October 23 Wed, October 25 Fri, October 27
Reading: BtB Chapter 4 Wrap-up
    Start Von Ahn reading
 
Finish from Lecture 14:
  • Pictures - Grayscale
  • Pictures - Color
  • Human vision and color
 
Lecture 15: Data Representation 4
  • Sound - hearing and waveforms
Finish from Lecture 15:
  • More on sound/audio
  • Video and frame types
  • Data compression
Lab/Project Time:
Project proposal presentations
Week 12
Mon, October 30 Wed, November 1 Fri, November 3
Due: Von Ahn Reflection
 
Lecture 16: Big Data (2 days)
  • Measuring data
  • How much is that?
  • Where do I find data?
Due: Written project proposal
 
Lecture 16: Big Data - cont'd
  • Data mining
  • Challenges
  • Data Science @ UNCG
Lab/Project Time:
Project work time
Week 13
Mon, November 6 Wed, November 8 Fri, November 10
Due: Assignment 3
 
Reading: Von Ahn Wrap-up     Start BtB Chapter 5 (or 6)
 
Lecture 17: The Internet (part 1)
  • Physical connections: Ethernet
  • Switches and MAC addresses
  • IP addressing and hierarchy
  • ARP and address conversion
Lecture 18: The Internet (part 2)
  • IP communication
  • DNS for looking up names
  • Routing between networks
  • Higher layers
  • What can go wrong
  • DNS for looking up names
  • Higher layers
  • What can go wrong
Due: Project progress report (5:00)
 
Lab/Project Time:
Project work time
Week 14
Mon, November 13 Wed, November 15 Fri, November 17
Due: BtB Chapter 5 (or 6) Reflection
 
Lecture 19: Security and Privacy
  • Basic security goals
  • Eavesdropping
  • Encryption
  • Digital Signatures
  • Certificates
  • Tools: PGP, OTR, and Tor
Finish Lecture 19...
 
Lecture 20: Artificial Intelligence
  • Basic Ideas/Areas
  • The Turing Test
  • Consequences
  • Future of AI/Robotics
Lab/Project Time:
Project presentations
Week 15
Mon, November 20 Wed, November 22 Fri, November 24
Reading: BtB Chapter 5 (or 6) Wrap-up
 
Lecture 21: Limits and Future of Computing
  • Traveling Salesman Problem
  • NP-completeness
  • Uncomputability
 
No class - Thanksgiving!
 
No class - Thanksgiving!
Week 16
Mon, November 27 Wed, November 29 Fri, December 1
Topics:
Catch-up day or student choice
Topics:
  • Student-Choice Award
  • Review for Final Exam
 
Handout: Final Exam Review
Week 17
Mon, December 4 Wed, December 6
Due: All project materials
 
Final Exam (12:00-3:00)