Bryn Mawr College
CS 110: Introduction to Computing
Fall 2012 - Section 001
Syllabus and Schedule | Course Information | Text and
Software |
Course
Policies |
Links |
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 |
||||||
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 |
||||||
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
Learning Processing: A
Beginner's Guide to Programming Images, Animation, and
Interaction by Daniel Shiffman, Morgan Kaufmann
Publishers, 2008. Available at the Campus Bookstore. |
|
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. |
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) |
Submission and Late Policy
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: