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: