Bryn Mawr College
CS 110: Introduction to Computing
Fall 2010
Course Materials
Prof. Deepak Kumar
General Information
Instructor: Deepak Kumar, 246 Park Hall, 526-7485
E-Mail: dkumar at cs dot brynmawr dot edu
WWW: http://cs.brynmawr.edu/~dkumar
Lecture Hours: Tuesdays & Thursdays , 2:30 p.m. to 4:00.m.
Room: Park 349
Lab: TBA in Room 231 (additional lab hours
will also available, see below)
Laboratories:
- Computer Science Lab Room 231 (Science Building)
- You will also be able to use your own computer to do the labs for this course.
Lab Assistants: The following Lab assitants will be available during the week (names and schedules will be posted by the end of this week) for assistance on lab assignments.
- Anna Benjamin (Mondays & Wednesdays 5:30p to 7:30p)
- Jenny Chen (Fridays 1p to 3p and Sundays 7p to 9p)
- Stephanie Tran (Fridays 11a to 1p and Sundays 6p to 8p)
These are the hours when the Lab will not be available:
TBA
Texts & Software
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction by
Daniel Shiffman, Morgan Kaufmann Publishers, 2008. Available at the Campus Bookstore.
Book Web Site: Here you will find additional materials.
Processing Software(This software is already installed in the Computer Science Lab). The software is also available for your own computer from Processing web site (www.processing.org).
|
|
Syllabus
Course Description: An introduction to the nature, subject matter and branches of computer science as an academic discipline, and the nature, development, coding, testing, documenting and analysis of the efficiency and limitations of algorithms. Also includes the social context of computing (risks, liabilities, intellectual property and infringement).
This semester, we will be exploring the creative aspects of coding as a context for learning the above concepts. You will exercise your creativity by desiging programs in a language called, Processing. Processing is a new language/environment built upon the programming language Java. Processing was created by artists, designers, and computer scientists to explore ideas of creative coding sing computer algorithms. The blurb below, from Shifman's text is an excellent description of what we will be doing this semester:
This book tells a story. It’s a story of liberation, of taking the first steps towards understanding the foundations of computing, writing your own code, and creating your own media without the bonds of existing software tools. This story is not reserved for computer scientists and engineers. This story is for you.
From: Learning Processing, by Daniel shiffman, page ix.
We will cover the entire text during this semester. Please refer to the text for more details.
Important Dates
August 31 : First lecture
October 7: Exam 1
December 9: Last lecture/Exam 2
Assignments
-
Assignment#1: (Due on 7): Click here for details.
- Assignment#2 (Due on Thursday, September 16): Click here for details.
- Assignment#3 (Due on Thursday, September 23): Click here for details.
- Assignment#4 (Due on Tuesday, October 5): Click here for details.
Assignment#4 client program (download here).
- Assignment#5 (Due on Thursday, October 28): Click here for details.
- Assignment#6 (Due on Tuesday, November 23): Click here for details.
- Assignment#7 (Due on Tuesday, November 23 & Tuesday December 7): Click here for details.
Lectures
- Week 1 (August 31, September 2)
August 31: Course Introduction. What is computing? Algorithms, programming. What is creative computing? Examples. Introduction to Processing. Basic shapes and colors: point, line, rect, triangle, quad, stroke, fill, grayscale color, rgb color.
Read: Chapters 1-3 from Shifman.
Install: Download and install Processing on your computer and play with it. For downloads, go to www.processing.org
September 2: Drawing primitives: point, line, shapes (ellipse, triangles, rectangles, quads, etc), color (grayscale, rgb, alpha channels), curves, shapes, images, simple mouse interaction.
Read: Chapters 1, 2, and 3 from Shifman.
Assignment#1: (Due on 7): Click here for details.
Sketches: Inspired by Giorgio Morandi,
- Week 2 (September 7, 9)
September 7: Exibhition of Assignment#1 skectes. A quick review of Week#1. Interactivity. Variables and data types: int and float. Sketching with variables. Examples.
Read: Chapters 4 & 5 from Shifman.
September 9: Variables, contd. Images: loading and displaying, generating random numbers, conditionals. Using variables, images, and conditionals in sketches.
Read: Chapters 4 & 5 from Shifman.
Assignment#2 (Due on Thursday, September 16): Click here for details.
- Week 3 (September 14, 16)
September 14: Sketches with examples of uisng variables, conditionals, etc. Generating random numbers. Loading and displaying images, loops.
Read: Chapter 6 from Shifman.
September 16: Repetition using while and for-loops. Functions for modularity. Functions with parameters.
Read: Chapter 7 from Shifman.
Class Examples from this week: LeafShape, BlockTrain, Chalkboard (the image is not loading), StemWithLeaves,
Assignment#3 (Due on Thursday, September 23): Click here for details.
- Week 4 (September 21, 23)
September 21: More practice and examples with loops and functions. Functions with parameters.
Class examples: Bouncing Ball with functions,
Interactive Clovers, Simple Dots, Rain Drop, Interactive Falling Drops, Particle Lines, Leaves V2,
September 23: Polar-coordinates and basic trigonometry with applications in creating circular patterns and shapes.
Class Examples: Radial Dots, Spokes V1, Spokes V2, Spokes Variation 1, Spokes Variation 2, Regular Polygons
- Week 5 (September 28, 30)
September 28: Using polar coordinates to draw circular patterns. Drawing an n-sided star and animation. Bouncing ball revisited: modeling the ball as an object.
Read: Chapter 8 from Shifman
Assignment#4 (Due on Tuesday, October 5): Click here for details.
Class Examples: BBwithClasses, Flower, Maui Bus Logo, Star V1, Star V2, Star V3, Wheel
September 30: Designing with classes, Arrays.
Class Examples: Street Scene with Markers, BBwithArrays
Assignment#4 client program (download here).
- Week 6 (October 5, 7)
October 5: Troubleshooting Assignment#4 issues. Review before Exam 1.
October 7: Exam 1 is today.
- Week 7 (October 12, 14)
No classes. Fall Break!
- Week 8 (October 19, 21)
October 19: Review of Exam 1. Review of essentials of computing.
Assignment#5 (Due on Thursday, October 28): Click here for details.
Read: Chapters 1 through 9 from Shiffman.
October 21: Translate, rotate and scaling objects. Modeling motion.
Read: Chapter 14 from Shiffman.
Examples from class: House, Fish
- Week 9 (October 26, 28)
October 26: Images and image processing in Processing.
Read: Chapter 15 from Shifman.
October 28:
- Week 10 (November 2, 4)
November 2: Strings and text. Displaying text, using fonts, etc.
Read Chapter 17 from Shifman.
November 4: Data Visualization. Drawing Pie Charts, generalizing them.
Examples from class: FontIntro, PieChart2, PieChart3, Ticker, TextFun, TextCrawl
- Week 11 (November 9, 11)
November 9: File input. Arrays, ArrayLists, for storing data. Acquiring and processing data for visualization. Pie Charts, Bar Charts, time series.
Read: Chapter 18 from Shifman.
Assignment#6 (Due on Thursday, October 28): Click here for details.
November 11: Data Visualization process: from acquiring, cleaning up, filtering data to designing visualization and interaction. Time Series.
Examples from class: Pie Chart, Bar Chart,
- Week 12 (November 16, 18)
November 16: Visualizing Time Series: as scatter points, lines, curves, regions. Text processing and visualization.
Assignment#7 (Due on Tuesday, November 23 & Tuesday December 7): Click here for details.
November 18: Visualization, contd. United States Map.
Examples from class: BoxOfficeV1 (points), BoxOfficeV2 (Line graph), BoxofficeV3 (curve), USMap, USMap2, TSEliotViz
- Week 13 (November 23, 25)
November 23: Special Session: Hands-on Design an animated octopus with Prof. Ira Greenberg, Southern methodist University.
November 25: Thanksgiving Day!
- Week 14 (November 30, December2)
November 30: Text Processing and data visualization. Focusing on mining: counting word fequencies, sorting, etc.
December 2:
Text processing, contd. Visualizing using Tag Clouds.
Example(s) from class: TagCloud
- Week 15 (December 7, 9)
December 7:
December 9: Exam 2 is today.
Grading
All graded work will receive a grade, 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7,
1.3, 1.0, or 0.0. At the end of the semester, final grades will be calculated
as a weighted average of all grades according to the following weights:
Exam 1: 20%
Exam 2: 25%
Labs & Written Work: 55%
Total: 100%
Links
Created on
August 15, 2010.