Bryn Mawr College
CS 110: Introduction to Computing
Spring 2012 - Section 2
Course Materials

Information Text & Software Syllabus & Assignments Policies Links

Last updated: Februrary 15, 2012. Subject to change.

General Information

Instructor : Dianna Xu
Office : Park 246A
E-Mail : dxu at cs dot brynmawr dot edu
WWW : http://cs.brynmawr.edu/cs110-02
Class Exhibition : SMU + Bryn Mawr Spring 2012 on openprocessing.org
Moodle : http://moodle.brynmawr.edu/course/view.php?id=1647
Lecture Hours : Tuesday/Thursday 2:15 pm to 3:45 pm
Office Hours : Monday/Thursday 4 pm to 5 pm
Lecture : Park 338
Lab : Tuesday 3:45 pm to 5:30 pm
Laboratories : Computer Science Lab Room 231 (Park Science Building)
You will also be able to use your own computer to do the labs for this course.
Lab Assistants : Emily Levine:    Sundays 8-10pm

Jacy Li:             Mondays and Wednesdays 8-10pm

Daisy Sheng:    Tuesdays and Wednesdays 8-10pm

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 language/environment built upon the programming language Java. Processing was created by artists, designers, and computer scientists to explore ideas of creative coding using 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.

Text & 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 (http://www.processing.org).

Syllabus and Schedule

This is a tentative syllabus and schedule.  Topics, reading assignments, and due dates are subject to change.
All homework assignments are due by the start of class (4:00 pm) on the day listed.

# Date Topic Reading Examples Assignments Comments
1 1/17
  • What is computing?
  • Drawing primitives: point, line, simple shapes
  • Color
Ch 1:  Pixels
Ch 2:  Processing
Ch 3:  Interaction

coords
mag
rgba

Download and install
Processing on your
computer


 

Slides

2 1/19
  • Built-in Processing functions
  • Interaction
  • Drawing primatives: arcs, curves, shapes
  • Color (continued)
  • Example Sketches
events
arcEditor
curveEditor
bezierEditor
alphaChannels
Ladybug1
Monster1
GiorgioMorandi
Ndebele
Penguin1
SouthParkCharacter1
Sushi
Assignment 1 out

Assign Sub Instrs
Coding Standards

Slides

3 1/24
  • Variables
  • Primitive Data Types
  • Images
  • Expressions and Operators
  • Conditionals
Ch 4:  Variables
Ch 5:  Conditionals
Ch 6:  Loops
imageExample
variables1
variables2
if1
if2
if3
balldrop

 

Slides

4 1/26
  • Iteration
balldrop
badropForLoop
for1

forSpiral
forText
forTextSpiral
ifKey
ifKey2
polarRose
walkerIf

while1
while2
while3

Assignment 1 due

Assignment 2 out
Problem Set 1 out (Word) (PDF)

 

 

Slides

5 1/30
  • Functions
Ch 7:  Functions
 
concentric
flowers
manyShapes

manyShapesFunction
penguins
penguinScale
penguinTranslate
scope1
text

 

 

 

Slides

6 2/2
  • Nested Loops, more on functions
gradientWhileLoop
manyShapesFunction2
pictureTile
pictureTile2
 

Slides

7 2/7
  • Polar-coordinates and basic trigonometry

Ch 13: Mathematics

Ch 8: Objects

circle
circle2
circleFunction

eyes
flower
manyCircles
pictureTileWithPadding
scopeLines
spokes
star
starTwinkle
Assignment 2 due
Problem Set 1 due

Assignment 3 out
Problem Set 2 out (Word) (PDF)

 

Slides

8 2/9
  • Objects
BBwithClass
BBwithClass2
eyesObj

 

Slides

9 2/14
  • Arrays
Ch 9:  Arrays BBwithArray
circlesArray
circlesArray2

Assignment 3 due
Problem Set 2 due

Assignment 4 out
Problem Set 3 out (Word) (PDF)

Slides

10 2/16
  • Review
  • Colloquium:
    The Fine Art and Science of Polynomiography
    Bahman Kalantari, Rutgers University
    2:30pm-3:30pm in Park 338




 
11 2/21
  • Polygons
Ch 10: Algorithms
BBwithArray
particles
poly
polyStar
polyCurved
 

Slides

12 2/23
  • Top-down Design and the Pop Game
PopGame
  Slides
13 2/28
  • Review
 


Assignment 4 due
Problem Set 3 due




14 3/1
  • Exam 1
       
15 3/6
  • No Class - Spring Vacation



     
16 3/8

 
17 3/13
  • Inheritance

Ch 22: OOP

Ch 14: Translation and rotation

Graphics
Graphics2
Graphics3
Assignment 5 out
Problem Set 4 out (Word) (PDF)
Slides
18 3/15
  • Transformations and Modeling Motion
example1
example3
example4

squareGrid
squares
starField
  Slides
19 3/20
  • Recursion
Ch 13: Mathematics RecursiveCircles
RecursiveMaze
RecursiveTree
  Slides
20 3/22
  • Two dimensional arrays
GameOfLife
graySquares
ragged

Slides
21 3/27
  • Images and Image Processing
Ch 15: Images
colorNoise
cone
crumble
fade
grayScale
imageVisualiation
negative
pointillism
warholColor
warholTint

Assignment 5 due Problemset 4 due

Assignment 6 out
Problem Set 5 out (Word) (PDF)

Slides
22 3/29
  • Image Processing (Cont'd)
convolution
erodeDilate
obamicon
randomNeighbor
threshold

Slides
23 4/3
  • Aquarium Showcase
  • Strings and Text, Text Formatting
Ch 17: Text
Ch 18: Input
TextCrawl
TextRotate
Ticker
  Slides
24 4/5
  • Files, Lists
ParseFile1
ParseFile2
simpleVideo
textVideo
  Slides
25 4/10
  • Data Visualization

numberVis

Assignment 6 due Problemset 5 due

Assignment 7 out
Problem Set 6 out (Word) (PDF)

Slides
26 4/12
  • Text Visualization
  • ArrayList
  • HashMap
  • Data Structures
boxDropper
fireworks
wordCount
wordFreqVis
Slides
27 4/17
  • Transitioning to Java, Advanced Algorithms
Ch 23: Java

Assignment 7 part#1 due  
28 4/19
  • Review

USMap
USMap2

  Slides
29 4/24
  • Review
   


Problemset 6 due

Slides
30 4/26
  • Exam 2
       
- 4/27       Assignment 7 part#2 due by 5pm FIRM  

Course Policies

Communication

Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments. Feedback is welcome at any time.

Grading

There will be 7 assignments assigned. Assignments must be submitted according to the CS 110 Assignment Submission Policy.
There will be 6 problem sets assigned. Problem sets will be due at the same time as assignments; both should be submitted together.

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: 20%  
Problem Sets: 18% (6 × 3%)
Assignments: 42% (7 × 6%)
Total: 100%  

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances. Graded work will receive a percentage grade between 0% and 100%.

The instructor reserves the right to adjust the percentage ranges for each letter grade upward in your favor.

Submission and Late Policy

All work must be turned in as an electronic submission. E-mail submissions, when permitted, should request a "delivery receipt" to document time and date of submission. Extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance.  Refer to the Assignment Submission Instructions for details..

Late submissions will receive a penalty of 20% for every 0-24 hours it is past the due date and time (e.g., assignments turned in 25 hrs late will receive a penalty of 40%).

Exams

There will be two exams in this course.  The exams will be open book, open notes.  They will cover material from lectures, homeworks, and assigned readings.

Study Groups

You are encouraged to discuss the material and work together to understand it.

If you have any questions as to what types of collaborations are allowed, please feel free to ask.

Links