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

Information Text & Software Syllabus & Assignments Policies Links

Last updated: April 25, 2012. 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/spring2012/section01/
Moodle : http://moodle.brynmawr.edu/course/view.php?id=1646
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 : The lab (Park 231) will be staffed with assistants on the following schedule:
Sunday:8 pm - 10 pm
Tuesday:8 pm - 10 pm
Wednesday:8 pm - 10 pm

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

coords
mag
rgba
bits
Download and install
Processing on your
computer


Slides
Slides (6 per page)
2 1/19
  • Built-in Processing functions
  • Interaction
  • Drawing primatives: arcs, curves, shapes
  • Color (continued)
  • Example Sketches
randomEllipse
arcEditor
curveEditor
bezierEditor
alphaChannels
Ladybug1
Monster1
SouthParkCharacter1
Sushi
Ndebele
Penguin1
GiorgioMorandi
Assignment 1 out Assign Sub Instrs
Coding Standards

Slides
Slides (6 per page)
3 1/24
  • Variables
  • Primitive Data Types
  • Images
  • Expressions and Operators
Ch 3:  Interaction
Ch 4:  Variables
Ch 5:  Conditionals
counter
imageExample
variables1
variables2
vevents

Slides
Slides (6 per page)
4 1/26
  • Conditionals
  • Iteration
if1
if2
if3
if4
walker
bounce
while1
while2
while3
for1
for2
Assignment 1 due

Assignment 2 out
Problem Set 1 out (Word) (PDF)
Slides
Slides (6 per page)
5 1/30
  • Functions
Ch 6:  Loops
Ch 7:  Functions
text1
secret
draw
happyFace
penguin2
normal
  Slides
Slides (6 per page)
6 2/2
  • Variable Scope and Lifetime
    Slides
Slides (6 per page)
7 2/7
  • Transformations and Modeling Motion
Ch 14: Translation and Rotation example1
example2
example3
example4
grid5
translate1
translate2
scale1
rotate1
rotate2
Assignment 2 due
Problem Set 1 due

Assignment 3 out
Problem Set 2 out (Word) (PDF)
Slides
Slides (6 per page)
8 2/9
  • Transformations (Cont'd)
  • Review Functions and Loops
sun   (no slides)
9 2/14
  • Arrays
Ch 8:  Objects
Ch 9:  Arrays
arrays1
bounce1
bounce2
bounce3
addArrays
imageExample2
imageExample3
Assignment 3 due (2/15)
Problem Set 2 due

Assignment 4 out
Problem Set 3 out
(Word)
(PDF)
Slides
Slides (6 per page)
10 2/16
  • Objects
bounce4
bounce5
trees


Slides
Slides (6 per page)
11 2/21
  • Objects (Cont'd)
Ch 11: Debugging
BoxMaker
BoxMover
BoxRotator
BoxSeeker
BoxBouncer
BoxDrifter
AllBoxes
starfield
  Slides
Slides (6 per page)
12 2/23
  • Debugging

  Slides
Slides (6 per page)
13 2/28
  • Review
  OneDuck
Ducks
Assignment 4 due
Problem Set 3 due
Slides
Slides (6 per page)
14 3/1
  • Exam 1
       
15 3/6
  • No Class - Spring Vacation



     
16 3/8

 
17 3/13
  • Inheritance and Subtype Polymorphism
Ch 22: OOP
Ch 10: Algorithms
shapes1
shapes2
shapes3
shapes4
shapes5
shapes6
shapes7
Assignment 5 out
Problem Set 4 out
(Word)
(PDF)
Slides
Slides (6 per page)
18 3/15
  • Inheritance Cont'd

   
19 3/20
  • Recursion and Algorithm Design
Ch 13: Mathematics FactorialIterative
Factorial
Fibonacci
RecursiveMaze
StackMaze
  Slides
Slides (6 per page)
20 3/22
  • Two-Dimensional and Ragged Arrays
ex1
ex2
ex3
GameOfLife

Slides
Slides (6 per page)
21 3/27
  • Images and Image Processing
Ch 15: Images
mag
rgba
shade
whiteNoise
colorNoise
cone
ripple
sequence
sequence2
warhol
warhol1
warhol2
crumble
fade
pointillism
capture
captureCrumble
Assignment 5 due
Assignment 6 out
Slides
Slides (6 per page)
22 3/29
  • Image Processing (Cont'd)
  • Aquarium Showcase
threshold
posterize
obamicon
histogram
erodedilate
spatial
imageVisualization
confluency
warhol3
cat
Problem Set 4 due
Problem Set 5 out
(Word) (PDF)
Slides
Slides (6 per page)
23 4/3
  • Strings and Text, Text Formatting
Ch 17: Text
Ch 18: Input
abstractPeterMax   Slides
Slides (6 per page)
24 4/5
  • Files, Lists
ParseFile1
ParseFile2
USMap
USMap2
filepath
stripSpaces
  Slides
Slides (6 per page)
25 4/10
  • Data Visualization
  RandomTweets1
RandomTweets2
BarTweets1
BarTweets2
BarTweets3
GridTweets1
GridTweets2
numberVis
BoxOffice
BoxOffice2
BoxOffice3
PieChart
PieChart2
PieChart3
PieSlice
wordCount
wordFreqVis
Assignment 6 due

Assignment 7 out
Problem Set 6 out
(Word) (PDF)
Slides
Slides (6 per page)
26 4/12
  • Data Structures
BoxDropper
HighScore
Fireworks1
Fireworks2
pulseRate
Problem Set 5 Due Slides
Slides (6 per page)
27 4/17
  • Transitioning to Java, Advanced Algorithms
Ch 23: Java
magic8ball Assignment 7 - Part#1 due Slides
Slides (6 per page)
28 4/19
  • Review

shapes1
shapes2
shapes3
shapes4
shapes5
shapes6
shapes7
ex3
stooges1
stooges2
  Slides
Slides (6 per page)
29 4/24
  • Review
  fade
stripes
grid5
drawPixels
countBelow
fractalTree
Problem Set 6 Due Slides
Slides (6 per page)
BMC-CS110-Ex2-S2011
30 4/26
  • Exam 2
    Assignment 7 - Part#2
(Due 4/27 @ 5pm)
 

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