IMPORTANT NOTE: The following schedule represents my current best guess concerning assignments and due dates. I am providing this information to 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.

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

DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M1
Introductions, Syllabus
What is COMP 105 about?
What is Computer Science?
How will COMP 105 be organized?
HW1
W1
Due Before Class: Syllabus Quiz on Moodle

Readings:
Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion by Abelson, Ledeen, and Lewis: Read the Appendix: The Internet as System and Spirit
w3schools: HTML tutorial (First page)

Quick Look Video Series:
A Quick Look at HTML
Basic Concepts Behind the Internet (.pptx)
In-class Exercise: Network Flow Exercise

Basic HTML (.html)

LAB1
Due Before Lab: HW1

Readings:
Read over the Lab so you know what will be expected
Creating a Web Page

Due After Lab: Web page accessible from Student Web Pages link on Moodle
Follow-up Reading:
w3schools: HTML tutorial (Read HTML CSS)
F1
Quick Look Video Series:
A Quick Look at JavaScript
A Quick Look at JavaScript Variables

Readings:
Introduction to Programming, Javascript, Variables
Simple Button Example
Button and Function Example
Reed: In Moodle, read the excerpt on JavaScript Variables in the Reed Excerpts folder.
the Wikipedia article on MadLibs
In Class:
Mini-Lab 1: Numbers and Strings, Part I (Getting Started with JavaScript)
Mini-Lab 2: Mad Libs

After Class: Both Mini-Lab pages should be accessible from Moodle via your COMP 105 home page
Due Before Monday:
Complete both Mini-Labs & upload to server (Numbers and Strings, Part I and Mad Libs)
Mini-Lab Follow-up: Numbers and Strings, Part II
Programming Project: Calculator, Part I

Follow-up Reading:
JavaScript Objects
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M2
Due Before Class: (upload to server)
Friday Mini-Labs (Numbers and Strings, Part I and Mad Libs)
Numbers and Strings, Part II
Programming Project: Calculator, Part I

Readings:
JavaScript Objects
Reed: pp. 115-117 from Chapter 7 (2nd Ed)
w3schools: JavaScript Functions
Reed: In Moodle, read the excerpts on "Numbers and Expressions" and "String Manipulation" in the Reed Excerpts folder.
Review of Basics From Last Week
Mini-Lab: JavaScript Objects (Updating Mad Libs)

After Class: Completed Mini-Lab pages should be accessible from Moodle via your COMP 105 home page
HW 2
Programming Project: Calculator, Parts I and II
W2
Due Before Class: (upload to server)

Readings:
Some Useful Math Functions
Mini-Lab: Lucky Number

Preparation for Lab: Page with Sample Form (.html)

After Class: Lucky page accessible from your published web page (via Moodle)

LAB2
Due Before Class:

Readings:
READ LAB
w3schools: HTML Forms and Input
View the Page Source for the Page with Sample Form to see what HTML tags can be used inside a <form></form> block.
View the Page Source for the Skeleton Message Board Entry Page and test what happens when you enter data on the page.
Forms/Events

After Lab: Message-posting page accessible from your published web page
Virtual Pet Design (due before Lab 3)
F2
Quick Look Video Series:
Review of Objects …
… With Examples (example page)

Readings:
Reed: In Moodle, read the excerpt on Functions in the Reed Excerpts folder.
Review User Defined Functions:
Song Example (Quick Looks video)
Image Replacement Example
Mini-Lab: Puzzle

After Class: Puzzle page accessible from your published web page
Don't forget the Virtual Pet Design (due before Lab 3)
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M3
Due Before Class:
HW 2 (submit to Moodle)
Message-posting page (Lab 2) accessible from your published web page

Quick Look Video Series:
A Quick Look at If Statements

Readings:
Reed: In Moodle, read the excerpt on JavaScript Variables in the Reed Excerpts folder.
w3schools: JavaScript If...Else Statements
View the Page Source for the:
If Example Page
If/Else Example Page
If Statements
Mini-Lab: Puzzle Improvement

After Class: Updated puzzle page accessible from your published web page
Don't forget the Virtual Pet Design (due before Lab 3)
W3 Finish Puzzle Mini-Labs
Don't forget the Virtual Pet Design (due before Lab 3)

Lab 3 Entrance Quiz on Moodle
LAB3
Due Before Lab:
Lab 3 Entrance Quiz on Moodle
Virtual Pet Design (bring to lab)
Puzzle (published web page)

Readings:
w3schools: JS Timing (Under "JS Advanced")
READ LAB
View the Page Source for the Timing Sample Page

Virtual Pet, Part I

After Lab: Published Virtual Pet page accessible from your published web page
Programming Project: Virtual Pet, Part II (due Monday of Week 5)
F3
Quick Look Video Series:
Review of Objects … (optional review from F2)
… With Examples (example page)
A Quick Look at Constructing Objects (slide, example page)
A Quick Look at Arrays (example page)

Readings:
w3schools: JavaScript Array Object and JavaScript Objects
Read the initial example in Mini-Lab: Address Book
Additional Resources:
Mini-Lab: Address Book

After Class: Published initial address book page accessible from your published web page
HW 3
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M4
Before Class: Complete Mini-Lab from Friday

Quick Look Video Series:
A Quick Look at For Loops, Part I
A Quick Look at For Loops, Part II
(final version of the page)

Readings:
w3schools: JavaScript For Loop
Additional Resources:
Loops
Mini-Lab: Address Book Printing

After Class: Updated address book page accessible from your published web page
Don't forget to work on the Virtual Pet Programming Project and HW 3 throughout Week 4.
W4
Before Class: Complete Mini-Lab from Monday
Discussion of Sorting and Quick Look at Selection Sort: Sorting Visualizations

Mini-Lab: Swap and Minimum
Lab Entrance Assignment
LAB4
Due Before Lab:
Complete Address Book Mini-Labs
Lab Entrance Assignment (Bring to Lab)

READ LAB
Sorting the Address Book

After Lab: Updated invitation list accessible from your published web page
PP 2: Invitation List
F4
CS History: Concepts to Implementation
No class -- watch The Machine that Changed the World, Part I (approx. 60 min.) on your own and complete a video presentation reflection (See course Moodle page for video and reflection template)
Assignment:
Complete a video presentation reflection using the Video Reflective Response Template (or pdf)

Follow-up Reading (after class):
"The Modern History of Computing" From the Stanford Encyclopedia of Philosophy
Additional Resources:
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M5
Quick Look Video Series:
A Quick Look at Representing Numbers (slides)
A Quick Look at Representing Characters in Strings (slides)

Due Before Class:
Reading Assignment "Quiz": Write out the answers to the Interactive Quizzes at the end of section 2 of the Reading Assignment on binary numbers below and bring to class.
Virtual Pet PP (published web page)
HW 3 (submit to Moodle)
CS History Video Reflective Response from Friday (submit to Moodle)

Readings:
UTK Binary Number Modules (Go through sections 1 and 2, about 12 slides)
Read the introduction and overview (first 4 paragraphs) in the Wikipedia entry on ASCII.
Read the introduction (first 2 paragraphs) in the Wikipedia entry on UTF-8.
Additional Resources:
Where are we in this course?
Representating Numbers and Text
ASCII Table
Mini-Lab: ASCII to Binary Mini-Lab

After Class:
Mini-Lab Write-up (hard-copy turned in)
HW 4
W5
Additional Resources:
Computer Organization: Focus on CPU & Memory
Representating Programs: Machine Language, Assembly Language, and High-Level Languages
Class Presentation   (video version) (an alternative presentation -- pdf)
Simple CPU Simulator (from Lab 5)
Assembly/Machine Language Exercise
LAB5
Due Before Lab:
Lab Entrance (bring to lab)
Machine Language, Assembly Language, and the CPU

After Lab:
Lab Write-up (submit to Moodle)

F5 Mid Quarter Break No Class
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M6
Quick Look Video Series:
Boolean Operations (taken from COMP 110)
Due Before Class:
HW 4 (submit to Moodle)

Additional Resources:
Logic (pdf)
In-Class Exercises (pdf)
HW 5
W6
Due Before Class:
PP 2: Invitation List (published web page)
Gates (slides)
Going from Truth Tables to Gates (1 slide)
Binary Addition (slides)
ALU slides (only the 1st slide is relevant for this class)
Very Important sample diagram :-)
Follow-up Reading:
How Stuff Works How Boolean Logic Works (pp. 2 - 4)
Additional Resources:
LAB6
Gates Lab

After Lab:
Lab Write-up (hard-copy turned in)

F6
CS History: Mainframes to Personal Computers
Big Iron: The Mainframe Story (Part 1 of 5) (0:00 - 4:22)
The Machine that Changed the World, Part III (5:12 - 36:20) (Video no longer available publicly online, but available in the library.)
From Sand to Chip - How a CPU is Made (1:24 - 4:45)
How to Make a Microprocessor (a brief demonstration of photo reduction)
Assignment:
Complete a video presentation reflection using the Video Reflective Response Template (or pdf)

Follow-up Reading:
A History of the GUI, Jeremy Reimer, Ars Technica, 2005
Additional Videos if you're interested
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M7
Due Before Class:
HW 5 (submit to Moodle)
Video Presentation Reflective Response: Mainframes to PCs (submit to Moodle)
Where are we in this course?
Discuss Presentation (Some Topic Ideas, Presentation Guidelines)
Introduction to User Interfaces (pdf)

Some interesting interactive exercises in this reading: Computer Science Field Guide: Human Computer Interaction


Follow-up Reading:
Wikipedia: Human-Computer Interaction, Graphical User Interface
Jakob Nielsen's Alertbox Blog: Usability 101: Introduction to Usability (2003), Best Application Designs (2012: Be sure to read the whole document, not just the list of winners. The explanations of the winners' key features, organized by category, is valuable reading)
Additional Resources:
W7
Brief Introduction to Artificial Intelligence (pdf)
The Machine that Changed the World, Part IV (3:20 - 6:00, 10:42 - 13:22, 14:57 - 20:30, 21:53 - 22:16)
PBS NewsHour segment on Watson (8:50)
Jeopardy! IBM Watson Challenge (Day 1: 1:56 - 6:40, 12:28 - 14:50, 15:53 - 16:53; Day 2: 2:42 - 4:25, 9:50 - 14:50; Day 3: 0:42 - 1:20)
A Computer Called Watson (42:04 - 45:21, 1:03:15 - 1:04:35)
Looking Ahead: Table of Contents for Blown To Bits (pdf)
Assignment:
Complete a video presentation reflection using the Video Reflective Response Template (or pdf)

Follow-up Reading (Watching):
Challenge and Promise of Artificial Intelligence (a Nov. 2011 interview with Dr. Eric Horvitz of Microsoft Research and Dr. Peter Norvig of Google; 4:45 minute segment from 16:02 to 20:45)
Jeopardy! The IBM Watson Challenge Day 3 (9:40 - end (or entire episode if you want))
LAB7
User Interface Lab

After Lab:
Lab Write-up (submit to Moodle)

F7
Due Before Class:
Video Reflective Response on AI (submit to Moodle)
Presentation Topic (be sure to include the name of both (or all) team members)

Required Reading:
Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion by Abelson, Ledeen, and Lewis: Read the Preface, Chapter 1, and Conclusion
Brief Introduction to Societal, Ethical, and Privacy Issues
Don't forget to be working on your Student Presentation (Topic Ideas/Assignments, Presentation Guidelines)
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M8
Where are we in this course?
Algorithm Analysis
Searching Code
Sorting Visualizations:
Small-scale, step-by-step animations
Comparisons
Animations with larger datasets

W8
Automata/Turing Machines (ppt)
Algorithm Exercise
HW 6
LAB8
FSA's and Regular Expressions
Turing Machines Mini-lab

After Lab:
2 Lab Write-ups (hard-copy or submit to Moodle)

F8
Halting Problem, P and NP (ppt)
Alternate version: Halting Problem, P and NP (pdf)
Complete Turing Machines Mini-lab
Follow-up Reading:
Chapter 4 (Computation) from Complexity: A Guided Tour by Melanie Mitchell
Don't forget to be working on your Student Presentation (Topic Ideas/Assignments, Presentation Guidelines)
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M9
Due Before Class:
HW 6 (submit to Moodle)
Student Presentations (Presentation Guidelines)
Devon: Mice, Trackpads, Keyboards
Juleon and Nathan: The Turing Test / Loebner Prize
Ian, Tytus, and Casey: Machine Learning
Presentation Reflective Responses (template)
W9
Due Before Class:
Presentation Reflective Responses from Monday (template) (submit to Moodle)
Student Presentations (Presentation Guidelines)
Malik and Teo: Natural Language Processing
Alex and Colton: Watson
Max Gordon, Isaac, and Dylan: Self-Driving Cars
Presentation Reflective Responses (template)
LAB9
No lab
(Catch up on student presentations, if necessary.)

F9
Due Before Class:
Presentation Reflective Responses from Wednesday (template) (submit to Moodle)
Student Presentations (Presentation Guidelines)
Grace, Joe, and Matthew: Robotics
Marissa, Libby, Jasmin: AI in science fiction vs AI fact
Max Novick, Adam, Ben: AI in video games
Presentation Reflective Responses (template)
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M10
Due Before Class:
Presentation Reflective Responses from Friday (submit to Moodle)
Student Presentations (Presentation Guidelines)
America, Lillian, Tris10: Virtual Reality
Kate and Jasper: Scientific Visualization
Shayaan and Muhammad: Cryptocurrency
Presentation Reflective Responses (template)
W10
Due Before Class:
Presentation Reflective Responses from Monday (submit to Moodle)
Student Presentations (Presentation Guidelines)
Hammas and Zayn: Computers and Privacy
Davion and David: Are Computers (or Specific Applications) Addictive?
Carlos: Social Media vs Social Lives
Presentation Reflective Responses (template)
LAB10
No lab
(Catch up on student presentations, if necessary.)

F10
Due Before Class:
Presentation Reflective Responses from Wednesday (submit to Moodle)
Student Presentations (Presentation Guidelines)
Wrap up
Where are we in this course?
Presentation Reflective Responses (template)
Exam Week No Exam