Bryn Mawr College
CS 110: Introduction to Computing
Fall 2011 - Section 3
Course Materials

Information Text & Software Syllabus & Assignments Policies Links

Last updated: December 6, 2011. Subject to change.

General Information

Instructor : Mark F. Russo, Ph.D.
Office : 250 Park Science Building
E-Mail : mfrusso at brynmawr dot edu, or russomf at gmail dot com
WWW : http://cs.brynmawr.edu/Courses/cs110/fall2011/section03/
Moodle : http://moodle.brynmawr.edu/course/view.php?id=1345
Lecture Hours : Tuesday/Thursday 4:00 pm to 5:30 pm
Lecture : Park 349
Lab : Tuesday/Thursday 5:30 pm to 6: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 : http://wiki.roboteducation.org/BMC_TA_Schedule

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
8/30
  • What is computing?
  • Drawing primitives: point, line, simple shapes
  • Color

Ch 1:  Pixels
Ch 2:  Processing
Ch 3:  Interaction


coords
mag
rgba
bits

Download and install
Processing on your
computer

Assignment 1 out
Assign Sub Instrs
Grading Policy
Coding Standards

Slides
9/1
  • Built-in Processing functions
  • Interaction
  • Drawing primatives: arcs, curves, shapes
  • Color (continued)
  • Example Sketches
randomEllipse
vevents
arcEditor
curveEditor
bezierEditor
alphaChannels
Ladybug1
Monster1
GiorgioMorandi
Ndebele
Penguin1
SouthParkCharacter1
Sushi
  Slides
9/6
  • Variables
  • Primitive Data Types
  • Images
  • Expressions and Operators
  • Conditionals

Ch 4:  Variables
Ch 5:  Conditionals
Ch 6:  Loops
counter
imageExample
variables1
variables2
if1
if2
if3
switch1
switch2
switch3
walker
Assignment 1 due
Assignment 2 out
Slides
9/8
  • Conditionals (Continued)
  • Iteration
switch4
walker2
while1
while2
while3
for1
for2
bounce
  Slides
9/13
  • Functions
Ch 7:  Functions
 
text1
secret
happyFace
Grid
  Slides
9/15
  • Variable Scope and Lifetime
  Assignment 2 due
Assignment 3 out
Slides
9/20
  • Arrays
Ch 8:  Objects
Ch 9:  Arrays
arrays1
bounce1
bounce2
bounce3
gaussian
imageExample2
imageExample3
  Slides
9/22
  • Objects
bounce4
bounce5
PopGame1
PopGame2
PopGame3
PopGame4
PopGame5
PopGame6
PopGame7
PopGame (final)
  Slides
9/27
  • Multi-dimensional Arrays
Ch 10:  Algorithms Prof. Ira Greenberg's Examples

head_flip
egg_head
head_psychedelic
lincoln_transform
Pinch
verlet_ripple
   
9/29
  • Sorting
BoxDropper
HighScore
Fireworks
Assignment 3, due Friday 9/30@4pm


Slides
10/4
  • Searching
 
Assignment 4 out Slides
10/6
  • Review


  Spring 2011 Exam 1

100 Review Problems
10/11
  • No Class -- Fall Break
 






10/13
10/18
  • Exam 1
Ch 11: Debugging
     
10/20
  • Debugging

Assignment 4, due Friday 10/21@4pm
 
10/25
  • Recursion and Algorithm Design
Ch 13: Mathematics Factorial
Fibonacci
RecursiveMaze
StackMaze
Ex1 (Recursion)
Ex2 (Recursion)
Assignment 5 out Slides
10/27
  • Two-Dimensional Arrays
GameOfLife
ex1
ex2
ex3
ex4
  Slides
11/1
  • Transformations and Modeling Motion
Ch 14: Translation and Rotation example1
example2
example3
example4
grid5
scale1
translate1
translate2
rotate1
rotate2
  Slides
Exam 1 Solutions
11/3
  • Transformations (Cont'd)
  multispin
space1
space2
space3
space4
space5
starfield
pField
Assignment 5, due Friday 11/4@4pm
Slides
11/8
  • Aquarium Showcase
  • Images and Image Processing
Ch 15: Images
Ch 17: Text
ripple
whiteNoise
colorNoise
cone
fade
warhol
warhol1
warhol2
pointillism
crumble
sequence
sequence2
capture
captureCrumble
Assignment 6 out Slides

Processing + real time video analysis + hardware control

creatureTank
11/10
  • Image Processing (Cont'd)
  • Strings and Text, Text Formatting
spatial
threshold
histogram
erodedilate
posterize
confluency

Slides (a)
Slides (b)
11/15
  • Files, Lists
Ch 18: Input ParseFile1
ParseFile2
filepath
RandomTweets1
RandomTweets2
BarTweets1
BarTweets2
BarTweets3
GridTweets1
GridTweets2
BoxOffice
BoxOffice2
BoxOffice3
PieSlice
PieChart
PieChart2
PieChart3
USMap
USMap2
Assignment 7 out Slides
11/17
  • Class Cancelled

Colloquium:
Help an Agent Out: Learning From the Environment and Humans
Matthew E. Taylor, Lafayette College
4:00pm-5:00pm in Park 243

     
11/22
  • Data Visualization
  • Inheritance
Ch 22: OOP
vevents
mouseOver1
mouseOver2
mouseHover1
mousePressed1
mouseDragged1
mouseOver1b
mouseOver2b
mouseDragged1b
Graphics
Graphics2
Graphics3
Assignment 6, due by Wed 11/23@4pm

Assignment 7, Part A due Wed 11/23@4pm
Slides
11/24
  • No Class - Thanksgiving Break

11/29
  • Transitioning to Java, Advanced Algorithms
Ch 23: Java

  Slides
12/1
  • Review


Assignment 7, Part B due Friday 12/2 EOD Slides
12/6
  • Review
  shade
fade
whiteNoise
colorNoise
drawPixels
grid5
grid6
relXform
reverseJoin
StackMaze
orRed
bits
bitwiseAnd
bitwiseOr
colorbits
createMessage
encode
Assignment 8 out (Optional) Slides
Spring 2011 Exam 2 with solutions
12/8
  • Exam 2
       

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, weighted equally in the final grading. Assignments must be submitted according to the CS 110 Assignment Submission Policy.

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: 24%  
Assignments: 56% (8% each)
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%. Here is how the percentage grades will map to final letter grades:

Rounded Percentage Letter grade   Rounded Percentage Letter grade
97% -100%
A+ (4.0)
  77% - 79% C+ (2.3)
93% - 96% A (4.0)   73% - 76% C (2.0)
90% - 92% A- (3.7)   70% - 72% C- (1.7)
87% - 89% B+ (3.3)   67% - 69% D+ (1.3)
83% - 86% B (3.0)   60% - 66% D (1.0)
80% - 82% B- (2.7)   0% - 59% F (0.0)

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 either in hard-copy or electronic submission, depending on the instructions given in the assignment. 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 10% 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 20%).  Submissions received more than one week late will not be accepted.

Exams

There will be two exams in this course.  The exams will be closed-book and closed-notes.  They will cover material from lectures, homeworks, and assigned readings (including topics not discussed in class).  So, keep up with those 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