Bryn Mawr College
CS 110: Introduction to Computing
Spring 2016 - Section 01
Course Materials
Last updated: Jan 13, 2016. Subject to change.
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.
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.
|
|
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 |
|
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 |
|
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
|
|
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 |
|
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 |
|
Book: Ch. 6, pgs. 223-232 |
Graphics
Graphics2
Graphics3
ballDropInheritance |
Complete quiz3 before lecture |
Review |
slides |
|
3/3 |
|
|
|
|
|
|
3/6
|
|
|
|
|
|
|
|
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 |
|
Book: Ch. 8 |
recursiveCircles
recursiveTree
recursiveTreeTransform |
Complete quiz4 before lecture |
lab 04
lab 04 solutions
|
slides |
15 |
3/24 |
|
recursiveMaze
Lsystem.pde
|
|
slides |
16 |
3/29 |
|
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 |
|
|
|
|
Assignment 07 |
slides |
25 |
4/28 |
- No class, I am out of town
|
|
|
|
|
- |
4/29 |
|
|
|
Assignment 7 part #2 due by 5pm FIRM |
|
|
|
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.
- The readings and lecture topics are group work. Please discuss the readings and
associated topics with each other. Work together to understand the material.
Reading groups to discuss the material are highly recommended -- we will explore
many ideas and it helps to have multiple people working together to understand
them.
- It is fine to discuss the topics covered in the homeworks, to discuss approaches
to problems, and to sketch out general solutions. However, you MUST write up the
homework answers, solutions, and programs individually without sharing specific
details, mathematical results, program code, etc.
- Under NO circumstances should you share computer code with another student.
Similarly, you are not permitted to use code found on the internet for any of
your assignments.
- Exams, of course, must be your own individual work.
If you have any questions as to what types of collaborations are allowed, please
feel free to ask.