CS 110 - Fall 2012, Section 001

Bryn Mawr College
CS 110: Introduction to Computing
Fall 2012 - Section 001

Syllabus and Schedule Course Information Text and Software
Course Policies
Links

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 (10:10am) on the day listed.

Wk Date Topic Reading Examples Assignments Comments                 

1 9/3
Labor Day - No Class





9/5 Course Introduction:  What is computing?
Ch 1:  Pixels
Ch 2:  Processing
Ch 3:  Interaction
Alpha Channels
Cartoon Character1
Ladybug1
Monster1
Ndebele
Penguin1
Sushi
Download and install Processing version 1.5.1 on your computer

Assignment 1 out
Code Formatting Standards
Grading Policy

9/7
Drawing primitives:  point, line, shapes, color

Submission Instructions

2
9/10
Variables & Control Structures
Ch 4:  Variables
Ch 5:  Conditionals
Week 2 Examples

Useful tools, including the arc and bezier editor
9/12
Ch 6:  Loops Assignment 1 due
Assignment 2 out


9/14
Hands-On: Variables and Control Structures
(meet in computer labs)




3 9/17
Loops
Ch 6:  Loops BBwithFunctions
blockTrain
Chalkboard
Clovers
Ex5_1Conditionals
ImageSketch
Leaves
randomFlowers
randomRectangles
rdexample
Sawtooth
Shape1



9/19
Loops Continued and Intro to Functions Ch 7:  Functions Assignment 2 due
Assignment 3 out


9/21
Functions




4 9/24
Objects & Top-Down Design
Ch 8:  Objects Week 4 Examples



9/26



9/28

Ball Code

5 10/1
Objects Continued
Ch 9:  Arrays
BBWithArrays
BBWithClasses
DividingPolygons
Flower
MauiBusFlower
StarV1
StarV2
StarV3
Wheel
MrPotatoHead
CrazyMrPotatoHead
GrowingBall



10/3
Assignment 3 due
Assignment 4 out


10/5


6 10/8
 Searching






10/10
Review


Sample Exam 1 Questions

10/12
Exam 1




7 10/15
Fall Break - No Class





10/17





10/19





8 10/22
Structures and Structure Design

Assignment 5 out


10/24

Assignment 4 due In-class developed asteroid game

10/26




9 10/29
Hurricane Sandy
Ch 14: Translation and Rotation
BallWithEye



10/31
Transformations and Modeling Motion


11/2



10 11/5
Transformations and Modeling Motion Continued

BallWithEyeRotate
Spirograph (in class version)
Spirograph (fancier)



11/7
Recursion and Algorithm Design

Assignment 5 due


11/9




11 11/12
Images and Image Processing
Ch 15:  Images Crumble
Fade
HorseSequence1
HorseSequence2
Reassemble
Warhol
More Image Examples
Assignment 5 due
Assignment 6 out


11/14



11/16
Hands-On: Image Processing
(meet in computer labs)



12 11/19
Images and Image Processing Ch 17:  Text
GrayScale
Sepia
FalseColor
SpatialFiltering



11/21
Ch 18:  Input (excluding 18.7-18.8)




11/23
Thanksgiving Break - No Class







13 11/26
Strings and Files





11/28
Data Visualization, Time Series
files examples
Assignment 6 due
Assignment 7 out


11/30
Hands-On: Data Visualization
(meet in computer labs)

Week 13 Examples


14
12/3
Data Visualization Ch 22.1-22.3: 
Adv. OOP

HighScore
Fireworks
BallDropper
TextAnalysis

Assignment 7 (Part A) due

12/5



12/7
Data Structures, Advanced Algorithms Ch 23: Java



15
12/10
Catch-Up Day / Review


SpellChecker (data folder)
SpellCheckerBinary (data folder)
SuperCrumble


Sample Exam 2 Questions

12/12
Review

Assignment 7 (Part B) due


TBD
Exam 2







General Information

Co-Instructors: Eric Eaton, Ph.D. and Paul Ruvolo, Ph.D.
E-Mail: (This e-mail address reaches both instructors.  Be certain to use this e-mail for course-related topics instead of our individual e-mails.)

E-mail is the best way to reach us, and we make a concerted effort to respond to all e-mails within 24 hours on weekdays and 48 hours on weekends (often, much less!).

Office Hours, Eric Eaton:
Tuesday/Wednesday 1:30-2:30pm and by appointment in Park 249
Office Hours, Paul Ruvolo:
Monday 3-4pm and by appointment in Park 246-D


Website: http://cs.brynmawr.edu/Courses/cs110/fall2012/section001/
Lecture:
Monday/Wednesday/Friday 10am to 11am
Room: Park 349 (Lecture)      Park 231 & 232 (Hands-On)
Open Lab: Park 231   Monday 11am-12:30pm, Tuesday 11:15am-12:45pm, Friday 11am-12:30pm
Teaching Assistants: 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 the Processing language.  Processing is a new language/environment built upon the programming language Java.  Processing was created by artists, designers, and computer scientists to explore ideas of creative coding sing computer algorithms.  The passage 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.
     - Daniel Shiffman, Learning Processing, page ix


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, version 1.5.1  (http://www.processing.org)

This software is already installed in the Computer Science Lab.
It is also available for your own computer from Processing web site listed above.
Be sure to download Version 1.5.1.



Course Policies

Communication

Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments.

As you will discover, we are proponents of two-way communication and we welcome feedback during the semester about the course. We are available to answer student questions, listen to concerns, and talk about any course-related topic (or otherwise!). Come to office hours! This helps us get to know you. You are welcome to stop by and chat. There are many more exciting topics to talk about that we won't have time to cover in-class.

Although computer science work can be intense and solitary, please stay in touch with us, particularly if you feel stuck on a topic or project and can't figure out how to proceed. Often a quick e-mail, phone call or face-to-face conference can reveal solutions to problems and generate renewed creative and scholarly energy. It is essential that you begin assignments early, since we will be covering a variety of challenging topics in this course.


Grading

There will be seven assignments, weighted equally in the final grading.  Assignments must be submitted according to the Assignment Submission instructions.  You should pay careful attention to the Code Formatting Standards and Grading Policy when doing your assignments.  The grading structure for individual assignments is broken down in the Grading 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: 18%
Exam 2: 22%
Quizzes:
4% (total)
Assignments: 56% (8% each)
Total: 100%

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances.

All 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 instructors reserve 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.

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.

In addition to submitting your assignment for grading, you are required to upload your assignment to the course showcase on Open Processing.  Open Processing is a website designed to share Processing sketches with people all around the world.  The course showcase is beneficial for two reasons: (1) you will be able to see the interesting things you peers are doing with Processing and (2) you can show off your own works of art!  The course exhibition is available at: http://www.openprocessing.org/classroom/1972

Quizzes

There will be a number of short open-book/open-notes quizzes (approximately 4-8) over the semester.  They will not be announced ahead of time, and will be given in the first few minutes of class (so be on-time!).  If you miss a quiz, you will not be able to make it up.  At the end of the semester, we will drop your lowest quiz grade.

They will cover material from lectures, homeworks, and assigned readings (including topics not discussed in class).  So, keep up with those readings!

Exams

There will be two exams in this course.  The exams will be closed-book and closed-notes.  As with the quizzes, the exams will cover material from lectures, homeworks, and assigned readings (including topics not discussed in class).


Study Groups

We encourage you to discuss the material and work together to understand it. Here are our thoughts on collaborating with other students:

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

Links