Bryn Mawr College
CS 110: Introduction to Computing
Spring 2016 - Section 01
Course Materials

Information Text & Software Syllabus & Assignments Policies Links

Last updated: Jan 13, 2016. 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-01
Lecture Hours : Tuesday/Thursday 2:25 pm to 3:45 pm
Office Hours : Tuesdays 3:45 pm to 5:45 pm
Exam week office hours: Monday 5/2 2pm-4pm. No office hours on Tuesday
Lecture : Park 338
Lab : Wednesdays 1pm-3pm
Lab Location : 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 : Calla Carter   
Hanna Fields 
Jordan Henck  
Kalina Kostyszyn 
Katherine Lee   
Tu Luan
Lizzie Siegle   
Thursdays 8:15am-10:15am
Wednesdays 7pm-9pm
Mondays 6pm-8pm
Sundays 8pm-10pm
Tuesdays 7pm-9pm
Saturdays 4pm-6pm
Fridays 10am-12pm

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.

Text & Software

Processing 2: Creative Coding & Generative Art in Processing 2.0 by Ira Greenberg, Dianna Xu and Deepak Kumar, Friends of ed, 2013. Available in the bookstore and of course, Amazon. There is also a Kindle ebook version.

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). Download the 2.x stable release for your own computer/Operating System.

Processing Reference The reference on the processing.org is for version 3.0+. Here is the Processing 2.0+ reference.

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 (2:25 pm) on the day listed.

# Date Topic Reading Examples Assignments Labs Extras
1
1/19
  • What is computing?
  • Drawing primitives: point, line, simple shapes
  • Color
Book: Chapter 1

processing.org
coords
mag
rgba
alphaChannels

Download and install Processing 2.X on your computer No lab slides
2
1/21
  • Built-in Processing functions
  • Interaction: Keyboard/Mouse
  • Drawing primatives: arcs, curves, shapes
  • Color (continued)
  • Example Sketches

Book: Ch2, pgs. 33-48

Book: Ch4, pgs. 124-146

events
arcEditor
curveEditor
bezierEditor
Ladybug
Monster
GiorgioMorandi
Ndebele
Penguin
SouthParkCharacter
Sushi
Assignment 1 out

Assign Sub Instrs
Coding Standards

Grading Policy

slides

3
1/26
  • random()
  • Variables
  • Primitive Data Types
  • Expressions and Operators
  • Images
  • Conditionals

Book: Ch. 2, pgs. 48-63

Book: Ch. 10, pgs. 369-371

Book: Ch. 3, pgs. 72-76


variables1
variables2
imageExample
if1
if2
balldrop
teaching survey Assignment 01 slides
4
1/28
  • Iteration
Book: Ch. 3, pgs. 88-95

balldrop2
ifKey
while1
while2
while3
gradientWhileLoop
for1
forText
forTextCircle

forSpiral
forTextSpiral
balldropForLoop
polarRose

Assignment 1 due

Quiz for Assignment 1 on Moodle

Assignment 2 out
slides
5
2/2
  • More on loops
  • Functions
Book: Ch. 3, pgs. 65-72

concentric
flowers
manyShapes
manyShapesFunction
penguinScale
penguinTranslate
Penguins
text

Complete quiz1 before lecture


lab01 instructions
lab01
slides
6
2/4
  • Function return values
  • Variable scope
  • Code tracing
  • Nested Loops
Book: Ch. 4, pgs. 111-115 manyShapesFunction2
scopeLines

pictureTile

pictureTile2
gradientWhileLoop
  slides
2/9
  • No Class - I am out of town
      Assignment 02  
7
2/11
  • Polar-coordinates and basic trigonometry
Book: Ch. 3, pgs. 81-88
Book: Ch. 4, pgs. 120-147
dotsFunction
flowers
spokes
poly
poly2
poly3
poly4
polyStar
polyStar2
polyAndStar
Assignment 2 due

Quiz for Assignment 2 on Moodle

Assignment 3 out
slides
8
2/16
  • Arrays
Book: Ch. 5, pgs. 149-165 gradient
circlesArray
circlesArray2
ballDropWithArray
deformPoly
Complete quiz2 before lecture lab02 slides
9
2/18
  • Simple data visualization
Book: Ch. 5, pgs. 166-185 tempViz   slides
2/23
  • No Class - Community Day of Learning
      Assignment 03  
10
2/25
  • Objects
Book: Ch. 6, pgs. 210-222 tempViz2
eyes
ballDropObj
ballDropObj2
ballDropObjArray
ballDropObjArray2
Assignment 3 due

Quiz for Assignment 3 on Moodle

Assignment 4 out
slides
11
3/1
  • Inheritance
Book: Ch. 6, pgs. 223-232 Graphics
Graphics2
Graphics3
ballDropInheritance
Complete quiz3 before lecture Review slides
3/3
  • Exam 1
       
3/6
  • No Class - Spring Break


       
 
3/8
     
12
3/15
  • Transformations and Modeling Motion
Book: Ch. 3, pgs. 83-105 example1
example2
example3
example4
squareGrid
squares
starfield
  Assignment 04

lab03
slides
13
3/17
  • More advanced data visualizations with OOP
Book: Ch. 7 (as much as you can, we will come back to this) numViz
Zip (read and understand this version first)
ZipInteractive
zips.txt
Assignment 4 due

Quiz for Assignment 4 on Moodle

Assignment 5 out
slides
14
3/22
  • Recursion
Book: Ch. 8 recursiveCircles
recursiveTree
recursiveTreeTransform
Complete quiz4 before lecture lab 04
lab 04 solutions
slides
15
3/24
  • Recursion
recursiveMaze
Lsystem.pde
  slides
16
3/29
  • Two dimensional arrays
Book: Ch. 9 graySquares
ragged
GameOfLife
  Assignment 05 slides
17
3/31
  • Images and Image Processing
whiteNoise
colorNoise
pixelGradient
warholTint
warholRed
warhol
warholArray
blackWhite
negative
sepia
sepiaPalette
sepiaWithPalette
whiteLine
cone
blackWhite2
crumble
reassemble
fade
fade2
pointillism
imageVis
images used
Assignment 5 due

Quiz for Assignment 5 on Moodle

Assignment 6 out

slides
18
4/5
  • Image Processing (Cont'd)
Book: Ch. 10 obamicon
randomNeighbor
convolution.pde
threshold
posterize
confluency
images used
  lab 05
lab 05 solutions
slides
19
4/7
  • Image Processing
  • Video Processing
  • Review
simpleVideo.pde
diffFrame.pde
textVideo.pde
  slides
20
4/12
  • Strings
  • Text and Text Formatting
Book: Ch. 7, pg 233-237 textLetter
textHeadline
textRotate
textCrawl
  Assignment 06 slides
21
4/14
  • Files, Lists
  • Data Visualization
parseFile1
parseFile2
reduced.csv

Assignment 6 due

Quiz for Assignment 6 on Moodle

Assignment 7 out
slides
22
4/19
  • Text Visualization
  • ArrayList
Book: Ch. 7, 238-249 wordCount
boxDropper
fireworks
  lab 06
lab 06 solutions
slides
23
4/21
  • Text Visualization with ArrayList
  • stopwords removal
  • sorting
Book: Ch. 7, 250-276 wordCountWithList
wordCountWithStopwords
wordFreqViz
Assignment 7 part #1 due slides
24
4/26
  • Review
      Assignment 07 slides
25
4/28
  • No class, I am out of town
       
-
4/29
      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.

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%  
Final Exam: 35%  
Assignments: 45%  
Total: 100%  

Graded work will receive a percentage grade between 0% and 100% according to the following grading policy.

Submission and Late Policy

All work must be turned in as an electronic submission. Extensions are given only in case of verifiable medical conditions or other such extenuating circumstances. Refer to the Assignment Submission Instructions for details on how to submit electronically.

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. The final exam will be self-scheduled.

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