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 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)
Basic Concepts Behind the Internet (.pptx)
Basic HTML (.html)

LAB1
Due Before Lab: HW1

Readings:
Read the Lab
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
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: Getting Started with JavaScript (Mad Libs)
Mini-Lab: Working with Numbers (Calculator)

After Class: Both Mini-Lab pages should be accessible from Moodle via your COMP 105 home page
Complete Mini-Labs & Upload to Server (due Monday)
Follow-up Reading:
JavaScript Objects
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M2
Due Before Class:
Complete Friday Mini-Labs (Mad Libs and Calculator)

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:
Complete 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 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

F2 Readings:
Reed: In Moodle, read the excerpt on Functions in the Reed Excerpts folder.
Review User Defined Functions:
Song Example
Function Example
Mini-Lab: Puzzle

After Class: Puzzle page accessible from your published web page

DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M3 MLK Day
W3
Due Before Class:
HW 2 (submit to Moodle)

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 Statements
Mini-Lab: Puzzle Improvement

After Class: Updated puzzle page accessible from your published web page
Virtual Pet Design

Lab 3 Entrance Quiz on Moodle
LAB3
Due Before Lab (Bring to Lab):
Lab 3 Entrance Quiz on Moodle
Virtual Pet Design

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
F3 Videos:
Constructing Objects in JavaScript (mp4)
JavaScript Arrays (mp4)

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 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

W4
Mini-Lab: Swap and Minimum

Sorting
Lab Entrance Assignment
LAB4
Due Before Lab:
Complete Mini-Labs 6-8
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 Reflection 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
Due Before Class:
Reading Assignment "Quiz": Write out the answers to the Interactive Quizzes at the end of section 2 and bring to class.
Virtual Pet PP (published web page)
HW 3 (submit to Moodle)
Video Reflection from Friday (submit to Moodle)

Readings:
UTK Binary Number Modules (Go through sections 1 and 2, about 12 slides)
Read the introduction (first 4 paragraphs) to the Wikipedia entry on ASCII, then follow the UTF-8 link at the end of the introduction and read the introduction to the UTF-8 page.
Additional Resources:
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)
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 Semester Break No Class
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M6
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 (ppt) (pdf)
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 Reflection 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 Reflection: Mainframes to PCs (submit to Moodle)
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 (4:10 - 10:35, 12:15 - 14:42)
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 Reflection 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 Reflection 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
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M8
Algorithm Analysis
Searching Code
Sorting Visualizations

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
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M9
Due Before Class:
HW 6 (submit to Moodle)
NOTE: The schedule of presentations during Weeks 9 and 10 is still to be determined.

W9
Due Before Class:
Presentation Reflections from Monday (template) (submit to Moodle)
AI in Science Fiction & Fact: Erin Brown, Christi Cho

LAB9
No lab
F9
Due Before Class:
Presentation Reflections from Wednesday (submit to Moodle)
Gender & Cultural Considerations: Yu Shang, Qiwei Jiang
Artificial Intelligence: Elle Yeffeth, Amy Zhu, Sherry Chen
Artificial Intelligence in Science Fiction: Sara Figueroa

DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M10
Due Before Class:
Presentation Reflections from Friday (submit to Moodle)
Watson & Today's Applications: Blake Willison
Cloud Computing: Zack Ray, Josh Whitney, Riley Boyd
Computers, Chemistry & Entrepreneurship: Shiva Sah, Mickey Techabunyart

W10
Due Before Class:
Presentation Reflections from Monday (submit to Moodle)
Virtual Reality: Ben Forhan, Justin Roop, Ali Mohegaddin
Smartphone/Tablet User Interfaces: Daniel Henry, Branden Metzler, Lexi Ambs

LAB10
No lab
F10
Due Before Class:
Presentation Reflections from Wednesday (submit to Moodle)
Wrap up

Exam Week No Exam