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 Computer Science?
What is COMP 105?
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)
Network Flow Exercise
Basic HTML (.html)

LAB1
Due Before Lab: HW1

Readings:
Read over the Lab so you know what will be expected
W3C: Web Standards Curriculum (Under HTML Body, read the sections on Lists, Images, Links, and Tables)
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)
W3C: CSS Basics (Skip the section on CSS Shorthand)
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: 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 (Getting Started and Mad Libs)
Mini-Lab Follow-up: Working with Numbers, Part II
Calculator Programming Project

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

Readings:
JavaScript Objects
Reed: pp. 115-117 from Chapter 7 (2nd Ed)
W3C: JavaScript functions
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

After Class: Completed Mini-Lab pages should be accessible from Moodle via your COMP 105 home page
HW 2
W2
Due Before Class:
Upload updated Mad Libs and Calculator Mini-Labs

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 (this is an updated version of the mini-lab; if you want to use the older version you had in lab, see older version)

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 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
W3C: Programming [JavaScript] - The real Basics (Conditions)
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 (this is an updated version of the lab; if you want to use the older version you had in lab, see older version)

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
W3C: Programming [JavaScript] - The real Basics (Under Variables, scroll down to Arrays and 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
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
W3C: Programming [JavaScript] - The real Basics (Review If statments, paying particular attention to the last example)
W3C: Programming [JavaScript] - The real Basics (Loops)
W3C: Programming [JavaScript] - The real Basics (Summary)
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
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
The Machine that Changed the World, Part I
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)
Video Reflective Response from Friday (submit to Moodle) (NOW DUE THURSDAY)

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 (pdf)   (video version)
Simple CPU Simulator (from Lab 5)
Assembly/Machine Language Exercise
LAB5
Due Before Lab:
Lab Entrance (bring to lab)
Video Reflective Response from Friday (submit to Moodle) (ORIGINALLY DUE MONDAY)
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 (Presentation Guidelines, Some Topic Ideas)
Introduction to User Interfaces (pdf)
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 (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 (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 (Presentation Guidelines)
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M9
Due Before Class:
HW 6 (submit to Moodle)
Student Presentations (Presentation Guidelines)
Jordan Grey: Accessibility
Grace: Computers as tools for people with disabilities
Kareem & Arun: "Cheap" computers

W9
Due Before Class:
Presentation Reflective Responses from Monday (template) (submit to Moodle)
Student Presentations (Presentation Guidelines)
Dylan & Langston: Machine Learning
Dominic & Ryan & Jane: Virtual Reality
Fon & Sang: The Turing Test

LAB9
No lab
(Catch up on student presentations, if necessary.)

F9
Due Before Class:
Presentation Reflective Responses from Wednesday (submit to Moodle)
Student Presentations (Presentation Guidelines)
Manveer & Rick: Computers in Medicine
Margaret & Reagan: Bioinformatics

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)
Corin & Gil: Computers & Privacy
Jake & Zach: Security Threats
Orly: Uncertainty

W10
Due Before Class:
Presentation Reflective Responses from Monday (submit to Moodle)
Student Presentations (Presentation Guidelines)
Calder & Grant: Is computing addictive?
Austin & Brett: Social Media & Social Libes
Carley & Shawn: ?

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)
Alex & Chandler: Cryptography
Jakob: Quantum Computing
Wrap up
Where are we in this course?

Exam Week No Exam