Bryn Mawr College
CS 110: Introduction to Computing
Fall 2011 - Section 001
Syllabus and Schedule | Course Information | Text and
Software |
Course
Policies |
Links |
Wk | Date | Topic | Reading | Examples | Assignments | Comments
|
---|---|---|---|---|---|---|
1 | 8/30 | Course
Introduction: What is computing? |
Ch
1: Pixels Ch 2: Processing Ch 3: Interaction |
Download and
install Processing
on your computer Assignment 1 out |
Submission
Instructions Code Formatting Standards Grading Policy |
|
9/1 |
Drawing
primitives: point, line, shapes, color |
Week 1 Examples | Useful tools, including the arc and bezier editor | |||
2 |
9/6 |
Variables
& Control Structures |
Ch
4: Variables Ch 5: Conditionals |
Assignment
1 due Assignment 2 out |
|
|
9/8 |
Ch 6: Loops | Week 2 Examples |
||||
3 | 9/13 |
Functions |
Ch
7: Functions |
|||
9/15 |
Tracing Function Calls
& Random Numbers Brief Intro to Arrays |
Week
3 Examples |
Assignment 2 due Assignment 3 out |
|||
4 | 9/20 |
Objects & Top-Down
Design |
Ch 8: Objects | Week 4 Examples |
||
9/22 |
||||||
5 | 9/27 |
Arrays |
Ch 9: Arrays | Week
5 Examples |
Ira Greenburg Examples |
|
9/29 |
Assignment 3 due Assignment 4 out |
|||||
6 | 10/4 |
Searching | In-class developed
Brick Breaker Game |
|||
10/6 |
Review |
Sample Exam 1 Questions |
||||
7 | 10/11 |
Fall Break - No Class |
|
|||
10/13 |
|
|||||
8 | 10/18 |
Exam 1 |
||||
10/20 |
Structures and Structure Design | Assignment 4 due Assignment 5 out |
||||
9 | 10/25 |
Recursion and Algorithm
Design |
Week
9 Examples |
In-class Recursion
Example |
||
10/27 |
Debugging |
|||||
10 | 11/1 |
Transformations
and Modeling Motion |
Ch 14: Translation and Rotation | |||
11/3 |
Assignment
5 due Assignment 6 out |
|||||
11 | 11/8 |
Images and Image Processing |
Ch 15: Images | Week
11
Examples |
||
11/10 |
Text Formatting |
Ch 17: Text | ||||
12 | 11/15 |
File Input, Lists (chalkboard lecture/lab, no slides) |
Ch 18:
Input (excluding 18.7-18.8) |
Week 12 Examples |
Assignment 7 out | |
11/17 |
Data Visualization, Time
Series (chalkboard lecture/lab, no slides) |
|||||
13 | 11/22 |
Data
Structures, Advanced Algorithms (chalkboard lecture, no slides) |
Ch
22.1-22.3: Adv. OOP |
Week
13
Examples |
Assignment
6 due Assignment 7 (Part A) due |
|
11/24 |
Thanksgiving
Break - No Class |
|||||
14 |
11/29 |
Transitioning
to Java (for reference only, not included on exam 2) |
Ch 23: Java | |||
12/1 |
Review |
|||||
15 |
12/6 |
Review |
Assignment 7 (Part B) due | Sample Exam 2 Questions |
||
12/8 |
Exam 2 |
Assignment
8 (Optional) |
||||
Instructor: | Eric Eaton, Ph.D. |
E-Mail: | (When
you e-mail me, make sure you put "CS110" at the start of the
subject line to ensure a quicker response.) E-mail is the best way to reach me, and I 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: |
1-2pm Monday/Thursday and by
appointment |
Website: | http://cs.brynmawr.edu/Courses/cs110/fall2011/section01/ |
Lecture: |
Tuesday/Thursday 2:15 pm to 3:45 pm |
Room: | Park 349 |
Lab: | Wednesdays/Thursdays 10am-12pm in Park Room 231 (Computer
Science Lab). |
Teaching Assistants: | TBA |
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 (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. |
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, I am a proponent of two-way communication
and I welcome feedback during the semester about the course. I am
available to answer student questions, listen to concerns, and
talk about any course-related topic (or otherwise!). Come to
office hours! This helps me 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.
Whenever you e-mail me, be sure to use a meaningful subject line
and include the phrase "CS110" at the beginning of that line. Your
e-mail will catch my attention and I will respond quicker if you
do this. I make an effort to respond to e-mails within 24 hours on
weekdays and 48 hours on weekends.
Although computer science work can be intense and solitary, please
stay in touch with me, 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: | 20% |
Exam 2: | 24% |
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
Exams
There will be two exams in this course. The exams will be
closed-book and closed-notes. They will cover material from
lectures, homeworks, and assigned readings (including topics not
discussed in class). So, keep up with those readings!
Study Groups
I want to encourage you to discuss the material and work together
to understand it. Here are my thoughts on collaborating with other
students: