Introduction to Computer Science
Spring 2012
Syllabus:  pdf, word

This class uses TouchDevelop and Scratch.

Grading Criteria: pdf Revised Grading Criteria
Time and Place:  MW  5:00-6:45pm   Jack Baskin Auditorium 101  
Class webpage:

Instructor:  Suresh Lodha
Office:   E2  361 (or 262)   
Office Hours:  MW   3:45-4:45pm, or by appointment
Phone:   831-459-3773
Teaching Assistant:
Sonali Somyalipi<>

Lab Schedule: 
Brice Gatelet<>Tuesday 7-9pm BE 109;
Christopher Taylor<>Wednesday 12noon-2pm Social Science I PC Lab;
Steven Butkus<>Wednesday 12noon-2pm MingOng PC Lab;
Wyatt Sanders<> Thursday 10am-12noon; Ming Ong PC Lab;
Zane Mariano<>Thursday 4-6pm; Social Science I PC Lab;
Michael Okuma<> Thursday 5-7pm; Ming Ong PC Lab;
Carmelo Herrera<>Thursday 7-9pm; MingOng PC Lab;
Sonali Somyalipi<>Thursday 7-9pm; BE 109;
Tu            10am-12noon     Ming Ong PC Lab             
Tu           4-6pm      Social Sciences I PC Lab              
Tu           5-7pm      Ming Ong PC Lab              
Tu           7-9pm      Social Sciences I PC Lab              
Lecture 1, April 2, Monday
Why, what, and how of Computer Science
Assignment 1: Fill out Online Survey (Required); Read Chapter 1 of "BtB"; Due April 4, Wednesday, 5:00pm
Homework Assignment 1   pdf, word

Lecture 2, April 4, Wednesday
Why (Computer Science Matters), What (is CS), How (we learn CS)
Solve problems of importance to Humans
Tell computer how to do
Abstraction in Arithmetic and Algebra
Homework Assignment 2   pdf, word Submit on eCommons, April 9

Lecture 3, April 9, Monday
Talk by Microsoft on "Why TouchDevelop"
Abstraction: Variable and Value; Assignment statement
Homework Assignment Part 1 of 3 on Interactive Story Telling;  
Available on eCommons; Due next week in discussion sections, hard copy in class on April 18, and electronic submission on eCommons

Lecture 4, April 11, Wednesday
Why? (Kiva) Why? (Bookbox) Why? (NextDrop)

Windows Phones loaned out
Discuss Programming Assignments
Programming Assignment 1 of 3 on Scratch and TouchDevelop;   Available on eCommons; Due next week in Discussion sections in-person

Lecture 5, April 16, Monday
Talk by James Davis on "Why Computer Science Matters?"

Abstraction: Type of variable (Number, String, Logical or Boolean)
Sequential Instructions

Homework Assignment 3 on Advertising Your Interactive Story;  
pdf, word Submit on Piazza
Also described as an instructor note on Piazza; Due Friday, April 20, 5:00pm

Lecture 6, April 18, Wednesday
Do computers understand why, what, and how?
Finishing Variables (comparison operators, boolean operators)
Whats a global variable: Millions of Anna; which one are you?
Sequential Instructions, Conditional, and Loops
Programming Assignment 2 of 3 ;   Available on eCommons; Due the week of April 30 in discussion sections in-person
Assignment 4 on Meeting the Instructor, April 19, is REQUIRED; Details of location and time on eCommons.

Lecture 7, April 23, Monday
Talk by Steven Butkus: "Interactive Story Telling using Twine and Inform 7"

Loops (for loop, while loop, repeat until loop)

Why do you drive a nail? Building Powerful Stories
Must watch Man on the Moon for your own joy; How to Stick Your Stories
Homework Assignment 5: Submit a one page TYPED reflection on the video and sticking your stories in class on April 25. If late, slip it under my office door E2-361 by Friday, April 27, 5:00pm.

Branching a Story; Run, Lola, Run;
Homework Assignment 2 of 3 on Interactive Story Telling;   Available on ecommons; Due the week of April 30 in discussion sections in-person
HW 6: Posting of the above story synopsis on piazza counts as HW 6.

Lecture 8, April 25, Wednesday
Talk by Wyatt Sanders: "Creating and Capturing Heart-Winning Art for Your Story: Gimp, Paint Editor, Photoshop, and Beyond"

Reusing a variable: Why? Arrays (Lists in Scratch, Collections in Touchdevelop)

Mobile vs Desktop: Media, Events, and Sensors: An Introduction

Are you ready for programming assignment 2 (scratch and touchdevelop)?
Are you ready for INTERACTIVE story telling?

Lecture 9, April 30, Monday
Talk by Chris Yonge: "3D Modeling and Animation using Blender"

Input-Output; Functions and Parameters (should we really call them Actions in Touchdevelop?)
Media: Image (pixels and colors) and Sounds: This is getting interesting.

Lecture 10, May 2, Wednesday
Media: Image (pixels and colors) and Sounds: This is getting interesting.

Programming Assignment 3 of 3 ;   Available on eCommons; Due the week of May 14 in discussion sections in-person
Mid-quarter Class Feedback? What more can we do?

Lecture 11, May 7, Monday
Sensors: Wow! finally, This is really fun and powerful too!
Events: Whats available on Scratch and Whats on mobile?; whew, its fun.
Control Flow and Wrapup of Programming Concepts

Detailed Discussion of Solutions to Programming Assignment 3 on TouchDevelop
Detailed Discussion of Solutions to Programming Assignment 3 on Scratch

Lecture 12, May 9, Wednesday
SMALL GROUP DISCUSSIONS in class on rotating basis Objectives Meeting Logistics
Grading Rubric Options DUE TODAY Grading Rubric Choice Form

Peer-to-Peer Assignment   pdf, word Due on or before May 23, Wednesday, 8th week of Classes AND
Class Presentation Assignment   pdf, word Due on or before May 30, Wednesday, 9th week of Classes AND
Why CS Matters Assignment   pdf, Due on or before June 6, Wednesday, 10th week of Classes OR

Interactive Story, Proposal Due May 23 and Final Delivery on June 6, OR

Conceptual Project, Proposal Due May 23 and Final Delivery on June 6, OR

Examination on June 6

Lecture 13, May 14, Monday
What is Computer Science?
The Behemoth it is: The Classical View: Hardware, Operating Systems, Programming Languages, Algorithms
Will name dropping help you? May be, here they are: cloud computing, machine learning, crowd sourcing, Web 2.0, .....
The Applications Views: Databases, Security, Robotics, Cryptography, Graphics, Visualization, .... and there is Social Networking!

Lecture 14, May 16, Wednesday
5:00-5:40pm Overview of TouchDevelop: You are almost a pro Now!
5:40pm QUIZ 4 On topics covered on Monday, May 14
6:00-6:40pm Overview of TouchDevelop: You are almost a pro Now!

Final Programming Project (preliminary draft posted on eCommons), Due June 12 midnight, in-person demo on June 13, Wednesday, 7:30-10:30pm, Jack Baskin Auditorium, Presence REQUIRED

Lecture 15, May 21, Monday
QUIZ 5 on conditionals and loops
Conclusion of Whats Computer Science: Scalable, ....;
What Computer Science is not: How to Fix computers, How to Host websites
Bits and bytes; Binary Number System; Whats inside a computer?

HW 7 assigned on Social Networking Homework 7 Due May 23, Wednesday, 5:00pm
Nicholas Christakis: The hidden influence of Social Networks

Social Networking: Do we really care? Why?

Lecture 16, May 23, Wednesday
Searching and Sorting: Do we really want to Search a lost friend and Sort her out, Fortunately, Unfortunately

QUIZ 6 on Bits/Bytes
P-2-P (eCommons), Interactive Story (Hard Copy) and Conceptual Proposal (Hard Copy) Due What to Submit in Proposal

Lecture 17, May 28, Monday
This is a lie. No lecture. Sorry, fun on your own!

Lecture 18, May 30, Wednesday
1-min Class Presentation ;What have YOU found useful/exciting about computers?

Facebook, Twitter, Linked in, Google, Pinterst

Possibly a QUIZ 7 (last quiz) on Searching/Sorting
Final Programming Project Proposal Due in -Class Proposal

Lecture 19, June 4, Monday
HW 8 (last homework) and Class Survey (REQUIRED)
What cant computers do? can they make you laugh? Can they take away your despair? Yes and Yes. Well, then, what cant they do? Turing Machines. Does it really matter?

Lecture 20, June 6, Wednesday

What is diversity? Do women matter in Computer Science? Why? Nightmare on the Island!

Class Presence Sheet       

If you find any errors, please report them to:

Back to the SOE Class Home Pages
Back to the SOE Home Page