# Spring 2015 CS1301 Calendar

[ Expand All ]

## ▸ Week 1: Mon January 5th-9th - Introduction, Background, and Graphics

 Day Readings/Assignments Resources Monday Jan 5th Read Chapter 1 - The way of the program from How to Think Like a Computer Scientist (thinkCSpy) Course Syllabus WhatIsAllowed.pdf Wednesday Jan 7th Read Chapter 2 - Variables, expressions, and statements (thinkCSpy) VariablesTypesMath.ppt keywords vs. identifiers Douglas Engelbart - NLS demo video Class Video: Variables, Expressions & Graphics [Download .MOV] [webcast] Recitation Read Chapter 1 - The World of Robots from Learning Computing With Robots (LCWR). VIDEO: How to install Calico on a Mac Myro Robot Reference Manual Functions and Commands used by Myro. Calico Graphics Objects Interface Calico Graphics Reference.pdf Code:face.py Friday Jan 9th List of Python 3 Modules (look at the math module) Scribbler Dancing video. AI for Games Class Video: Graphics & User Input [Download .MOV] [webcast]

## ▸ Week 2: January 12-16th - Functions & Expressions

 Day Readings/Assignments Resources Monday Jan 12th HW0 Due! Read Chapter 4 - Functions (thinkCSpy) Functions.ppt Class Video: Functions & Base 10 [Download .MOV] [webcast] Wednesday Jan 14th Read Chapter 6 - Fruitful Functions from thinkCSpy Class Video: Base 2,8,16 [Download .MOV] [webcast] Algorithms.ppt Recitation Check T-Square for your Pair Programming Assignments Decimal to Binary conversion Binary to Decimal conversion 0-255 Conversion Table Conversion Calculator Conversion Worksheet - Practice Problems KACB Walkway Friday Jan 16th Read Chapter 5 - Conditionals from thinkCSpy HW1 DUE before 11:55pm Code:if_statement_example.py Code:simpleFlee.py Code:recursiveFlee.py Class Video: Functions/Review [Download .MOV] [webcast] Class Video: Conditionals [Download .MOV] [webcast]

## ▸ Week 3: January 19th-23rd - Control Flow & Iteration

 Day Readings/Assignments Resources Monday, Jan 19th M.L.K, Jr. National Holiday - No Classes! Wednesday Jan 21st Read Chapter 7 - Iteration from thinkCSpy. code:rec_factorial.py Review Video:Explanation and example of Simple Recursion Chapter 18 - Recursion from ThinkCSpy. Class Video: Iteration [Download .MOV] [webcast] Recitation Pair Programming: HW2 Read Chapter 3- Building Robot Brains from LCWR Friday Jan 23rd Read Chapter 4 - Sensing from Within from LCWR. Lab 1 due before 11:55pm code:flee.py Code:fact_2_ways.py Class Video: Looping [Download .MOV] [webcast]

## ▸ Week 4: January 26th - 30th - Iteration, Strings & History

 Day Readings/Assignments Resources Monday, Jan 26th Chapter 8 - Strings from ThinkCSpy. HW 2 due before 11:55pm Read Chapter 19 (Exceptions) from ThinkCSpy Dream Spark (a.k.a.) MSDN Academic Alliance Class Video: Strings / Try & Except [Download .MOV] [webcast] Wednesday, Jan 28th Read everything in the Readings column above today again! Code(Calico/Python3):get_int_calico.py Code:turn5while.py turn5for.py turn5rec.py Recitation Bring your Robots! Read Chapter 5 - Sensing the World from LCWR. Friday, Jan 30th HW 3 due before 11:55pm Short History of Computing.ppt Class Video: History [Download .MOV] [webcast] Video: Programming the PDP11

## ▸ Week 5: February 2nd-6th - Lists, Exam

 Day Readings/Assignments Resources Monday Feb 2nd EXAM 1 Review Tues TA Led Review Session: 7:30pm, Location: CULC 152. Wednesday, Feb 4th EXAM 1 Recitation RA: Avoid Walls Chapter 6 - Insect-like Behaviors from LCWR. Watch: Robot Funkytown Friday Feb 6th Lab 2 Due Chapter 11 - Lists from ThinkCSpy. What is Clean Code? Code Samples:stringStuff.py Python Data Types reference Code:rec1.py Class Video: Strings [Download .MOV] [webcast] Code: (Calico/Python3)list_examples_calico.py Class Video: Lists [Download .MOV] [webcast]

## ▸ Week 6: Feburary 9th-13th - Compound Data Types - Lists, Tuples, Robot Sensors

 Day Readings/Assignments Resources Monday Feb 9th Chapter 9 -Tuples from ThinkCSpy Class Video: Robot Sensors & Motors [Download .MOV] [webcast] RobotSensors.ppt Wednesday Feb 11th Chapter 7 - Behavior Control from LCWR. Code:behavior.py - subsumption architecture behavior control of the robot. Code: behavior2.py Class Video: Lists2 & Tuples [Download .MOV] [webcast] Recitation RA-Avoid Walls demos Friday Feb 13th Progress Report Grades next week HW 4 due before 11:55pm Code:(Python3/Calico) bouncingBall.py Code: (Python3/Calico) BouncingBallsCalico.py Code: (Python3/Calico)keyBallsCalico.py Class Video: BouncingBall [Download .MOV] [webcast]

## ▸ Week 7: Feburary 16th-20th - File Input/Output (FileIO) & Dictionaries

 Day Readings/Assignments Resources Monday Feb 16th Read Chapter 12- Modules from ThinkCSpy Read Chapter 13 - Files from ThinkCSpy Code:web.py - Creates a webpage that includes robots sensor data. Wednesday Feb 18th Read Sections 1 & 2 (Namespaces, and Namespaces in Python), of this Webpage Code: filter_comments.py Code: fileCopy.py Code: robotScript.pyRequired data file: robotCommands.txt Class Video: Reading Files [Download .MOV] [webcast] Recitation RA_robot_lists.pdf Watch Chapter 1 (A Hard Problem) of The Great Robot Race 6min 33sec. Watch Chapter 2 (The Red Army) of The Great Robot Race 7min 41sec Friday, Feb 20th Lab 3 - Webpage Due before 11:55 pm! Read about the Pickle Module Read: Chapter 20 - Dictionaries from ThinkCSpy. Class Video: Dictionaries [Download .MOV] [webcast] Code: dictionarySpanish.py Code: letterFreq.py Code: craps.py

## ▸ Week 8: Feburary 23rd-27th - Images & Computer Vision

 Day Readings/Assignments Resources Monday Feb 23rd Read Chapter 8 - Sights and Sounds from LCWR. images.ppt Code:picture.py Code:obamicon.py Wednesday, Feb 25th Snow Day! Chapter 9: Image Processing & Perception from LCWR. Recitation Pair work on HW5 Friday, Feb 27th HW 5 Due before 11:55pm Last day to drop individual courses with a grade of "W" and change grade mode for courses. Code (Python3/Calico): findGreenWall.py Class Video: Computer Vision [Download .MOV] [webcast] Sample "robot" photos of the robot color arena: rca1.gif - Green Wall rca2.gif - Blue Wall rca3.gif - Yellow Wall rca4.gif - Red Wall High Res Fluke2 photos: [green] [yellow] [red] [blue]

## ▸ Week 9: March 2nd-6th - & EXAM 2

 Day Readings/Assignments Resources Monday, Mar 2nd Class Video: Computer Vision 2 [Download .MOV] [webcast] Wednesday, March 4th Exam Review Recitation Friday, March 6th EXAM 2

## ▸Week 10: March 9th-13th- OpenSCAD / 3D Printing & Barcodes

 Day Readings/Assignments Resources Monday March 9th Wednesday March 11th Read Code 39 Specification from the barcodeman.com website. Lecture Slides:barcodes.ppt Free Barcode Generator Code:code39dict.py barcode_1_9.gif Class Video: Barcodes 1 [Download .MOV] [webcast] Recitation Friday March 13th HW 6 (Line Sensing) due before 11:55pm. Class Video: Barcodes 2 [Download .MOV] [webcast] Code Calico/Python3: scan_barcode_calico.py Needed example barcode picture: barcode_color.gif Print your own: A-Ebarcodes.doc Video Lectures:

## ▸ Week 11: March 23rd-27th - Searching & Sorting

 Day Readings/Assignments Resources Monday, March 23rd Read about a Linear Search "algorithm" Read about the Binary Search Algorithm Play with the insertion sort Animator or here Read about the Insertion Sort Algorithm Then see an insertion sort implemented in python Class Video: Searching [Download .MOV] [webcast] Sorting Algorithms animated side-by-side Code:bubbleSort.py Sorting algorithm animation applet. Wednesday, March 25th Watch an animated merge sort Read about Merge Sort. Then look at this implementation of MergeSort in Python. Class Video: Sorting [Download .MOV] [webcast] Code:sorts.py Recitation Friday, March 27th Lab 4 Due before 11:55pm Example Code: listDict_speed.py

## ▸ Week 12: March 30th- April 3rd - Functional Programming & Recursion

 Day Readings/Assignments Resources Monday, March 30th Read This webpage on Functional Programming. Class Video: BigO practice problems, Special FX Questions, Intro to Functional Programming [Download .MOV] [webcast] Wednesday, April 1st Re-Read Chapter 18 - Recursion from ThinkCSpy. Class Video: Functional Programming [Download .MOV] [webcast] Sample Code:printComments.py Introduction to the Fibonacci sequence by Tool (Lateralus) More information about the Fibonacci series on Wikipedia Code Sample:fibonacci.py Recitation Friday, April 3rd HW 7 (Special FX) due before 11:55pm. Class Video: Functional Programming examples, File I/O, Recursion [Download .MOV] [webcast]

## ▸ Week 13: April 6th-10th - Objects & Tag Cloud Example

 Day Readings/Assignments Resources Monday, April 6th Read: Chapter 15 - Objects and Classes - The Basics from ThinkCSpy Read: Chapter 16 - Classes and Objects - Digging a little deeper Class Video: Objects and Classes [Download .MOV] [webcast] Code:classExample.py Code:cashRegister.py Code:animalsEating.py Wednesday, April 8th Read Chapter 10 - Artificial Intelligence from Learning Computing With Robots. Read this story about the annual Loebner Prize contest Eliza in Python Class Video: Tag Cloud 1 [Download .MOV] [webcast] Code Sample: tagcloud.py Input file:art_of_war.txt Common words: common.txt Example output:tc_out.html Recitation Example Movies from previous classes: Friday, April 10th Class Video: Tag Cloud 2 [Download .MOV] [webcast] Lecture Video:ttt1.mpeg ttt2.mpeg Code sample: ttt.py

## ▸ Week 14: April 13th-17th - Exam 3 & Javascript

 Day Readings/Assignments Resources Monday, April 13th HW8 - Movies due Exam Review Tuesday April 14th TA Led Review Session: CULC 152 7:30pm-9:30pm Wednesday, April 15th EXAM 3 Recitation Movies Friday, April 17th Class Video: Javascript for Python Programmers [Download .MOV] [webcast] Javascript for Python Programmers.PPT Kissing Trail Tower of Hanoi Fancy JavaScript Games Javascript game examples with source code Learn More about JavaScript alert box for loop

## ▸ Week 15: April 20th-24th n-grams, Quicksort, Review

 Day Readings/Assignments Resources Monday, April 20th HW9 Due! No late turnin! Class Video: nGrams [Download .MOV] [webcast] Code: ngrams.py Text file: msnd.txt What we learned from 5 million books Wednesday, April 22nd Class Video: Quicksort [Download .MOV] [webcast] Code: parallel_quicksort.py Read: How To Use cx_Freeze and the main cx_Freeze website w/ downloads CX Freeze on the Mac instructions cx_Freeze demo files: Full Zip file with extra software installers and instructions Recitation Friday, April 24th Review

## ▸ Bonus Material

 Day Readings/Assignments Resources Monday Wednesday Class Video: Plot Stars [Download .MOV] [webcast] Code (python3/Calico):plot_stars_calico.py stars.txt Code Sample:starmap_constellations.py Recitation Friday