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)
Before Lab: Download Brackets, an open-source program for creating and editing web pages. (See first section of Getting Started with Brackets for instructions.)
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 Kit 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 Kit 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 Kit)
Due Before Lab:
Lab Entrance Assignment
LAB2
Due Before Lab:
Lab Entrance Assignment

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 Art Gallery Entry Page and test what happens when you enter data on the page.
Forms/Events

After Lab: Art Gallery 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 MLK Day
W3
Due Before Class:
HW 2 (submit to Kit)
Art Gallery 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

Winter 2019: "Snow Day"

Do the Following On Your Own!
Alyce will be available for questions via email.


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)

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 Thursday of Week 4)
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
Additional Resources:

Before Class:
Read the "detour" example in Mini-Lab: Art Catalog (Getting Started)
Choose at least 4 entries from the Lab 2 Art Gallery to use in today's mini-lab.
Optional: preview of next mini-lab (and the assignments that follow it) (21 min)
Mini-Lab: Art Catalog (Getting Started)

After Class: Published initial art catalog page accessible from your published web page

If you have time, start on Exercises 1 and 2 in Monday's mini-lab.
Suggested: Exercises 1 and 2 in Monday's mini-lab.

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)

Before Class:
Complete Mini-Lab from Friday
Read the background info ("The For Loop" and "Example: Simple Loop") in Mini-Lab: Printing the Art Catalog

Readings:
w3schools: JavaScript For Loop
Additional Resources:
Loops
Mini-Lab: Printing the Art Catalog

After Class: Updated art catalog page accessible from your published web page
Add more entries to your Art Catalog so that you have at least 10 entries, not all by the same artist.
Don't forget to work on the Virtual Pet Programming Project (due Thursday) and HW 3 (due Monday of Week 5).
F4   W4 (Winter 2019 only)
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 reflective response (Markdown template)
Assignment:
Complete a video reflective response using the Video Reflective Response Markdown template

Follow-up Reading (after class):
"The Modern History of Computing" From the Stanford Encyclopedia of Philosophy
Additional Resources:
W4   LAB4 (Winter 2019 only)
Before Class:
Complete Mini-Lab from Monday
Video on swapping entries in an array (slide)
Video on finding the minimum value in an array (slides)
Discussion of Sorting and Quick Look at Selection Sort: Sorting Visualizations

Mini-Lab: Swap and Minimum
Lab Entrance Assignment
LAB4   F4 (Winter 2019 only)
Due Before Lab By the end of the day Monday: (Coldmageddon!)
Virtual Pet PP (published web page)
Complete All Art Catalog Mini-Labs
Lab Entrance Assignment (Bring to Lab)

READ LAB
Sorting the Art Catalog

After Lab: Updated art catalog accessible from your published web page
PP 3: Art Catalog Enhancements (due Thursday of Week 5)
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.
HW 3 (submit to Kit)
CS History Video Reflective Response from Friday (Video Reflective Response Markdown template)

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

Don't forget to work on the PP 3: Art Catalog Enhancements (due Thursday)
W5
Video before class:
Introduction to the CPU   (slides)

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:
PP 3: Art Catalog Enhancements (published web page)
Lab Entrance (bring to lab)
Machine Language, Assembly Language, and the CPU

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

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

Additional Resources:
Logic (pdf)
In-Class Exercises (pdf)
HW 5
F6
Winter 2019 W6
CS History: Mainframes to Personal Computers
In Kit, see the LinksToCSHistoryVideos file for links to this set of videos and video clips.
Assignment:
Complete a video reflective response using the Video Reflective Response Markdown template

Follow-up Reading:
A History of the GUI, Jeremy Reimer, Ars Technica, 2005
Additional Videos if you're interested
W6
Winter 2019 Lab 6
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
Winter 2019 F6

Gates Lab

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

DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M7
Due Before Class:
HW 5 (submit to Kit)
CS History Video Reflective Response: Mainframes to PCs (Markdown template) (submit to Kit)
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 reflective response using the Video Reflective Response Markdown template

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

F7
Due Before Class:
Video Reflective Response on AI (Markdown template) (submit to Kit)
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 Kit)

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 Kit)
Student Presentations (Presentation Guidelines)
NOTE: The schedule of presentations during Weeks 9 and 10 is still to be determined.
Presentation Reflective Responses (Markdown template)
W9
Due Before Class:
Presentation Reflective Responses from Monday (Markdown template) (submit to Kit)
Student Presentations (Presentation Guidelines)
Presentation Reflective Responses (Markdown template)
LAB9
No lab
(Catch up on student presentations, if necessary.)

F9
Due Before Class:
Presentation Reflective Responses from Wednesday (Markdown template) (submit to Kit)
Student Presentations (Presentation Guidelines)
Presentation Reflective Responses (Markdown template)
DAY PREPARATION IN-CLASS TOPIC/ACTIVITY FOLLOW-UP ASSIGNMENTS
M10
Due Before Class:
Presentation Reflective Responses from Friday (Markdown template) (submit to Kit)
Student Presentations (Presentation Guidelines)
Presentation Reflective Responses (Markdown template)
W10
Due Before Class:
Presentation Reflective Responses from Monday (Markdown template) (submit to Kit)
Student Presentations (Presentation Guidelines)
Presentation Reflective Responses (Markdown template)
LAB10
No lab
(Catch up on student presentations, if necessary.)

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