Bryn Mawr College
CS 110: Introduction to Computing
Fall 2012 - Section 2
Course Materials

Information Software & Textbook Syllabus & Assignments Policies Links

Last updated: December 11, 2012. Subject to change.

General Information

Instructor : Mark F. Russo, Ph.D.
Office : 250 Park Science Building
E-Mail : mfrusso at brynmawr dot edu, or russomf at gmail dot com
WWW : http://cs.brynmawr.edu/Courses/cs110/fall2012/section002/
Moodle : https://moodle.brynmawr.edu/course/view.php?id=312
Lecture Hours : Tuesday/Thursday 4:00 pm to 5:30 pm
Lecture : Park 336
Lab : Tuesday/Thursday 5:30 pm to 6:30 pm
Laboratories : 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 : The Lab (Park 231) will be staffed with assistants on the following schedule:
Monday:7:00pm-9:00pmJacy Li
Tuesday:5:30pm-6:30pmJacy Li, Peiying Wen
Wednesday:7:00pm-9:00pmPeiying Wen
Thursday:5:30pm-6:30pmPeiying Wen, Jacy Li

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.

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 with the Python programming language using the Calico development environment. The Calico Processing Module will be used for all graphics and visualizations. Calico Processing is a module for developing digital works of art, data visualizations, interactive applications and animations. It offers Calico programmers the option to work with the familiar Processing command set.

Software & Textbook

Calico Development Environment
(This software is already installed in the Computer Science Lab).

There is no official textbook for this class.

There are many Python books that are freely available.

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 (4:00 pm) on the day listed.

# Date Topic Examples Assignments Comments
1 9/4
  • What is computing?
  • Drawing primitives: lines, shapes
  • Color
    Slides
Calico Processing Ref
2 9/6
  • Built-in graphics functions
  • Drawing primatives: arcs, custom shapes
  • Drawing Images
  • Drawing Text
  • Example Sketches
examples Assignment 1 Out Assignment Submission Instructions

Slides
3 9/11
  • Identifiers, Variables
  • Types, Type Conversion
  • Operators, Expressions
  • Modules
  • Variables and expressions for solving problems
examples Read: Slides
4 9/13
  • Functions
  • Mouse and Timer Events
examples Read: Assignment 1 Due
Assignment 2 Out
Slides
Updated Processing DLL
5 9/18
  • Conditionals (if statement)
  • Iteration (while statement)
  • Variable Scope and Lifetime (global)
  • Key Events
examples

Read:

Slides
6 9/20
  • Lists
  • Tuples
  • Iteration (for statement)
examples

Read:

Slides
7 9/25
  • Transformations
  • Modeling Motion
examples Assignment 2 Due
Assignment 3 Out
Slides
8 9/27
  • Classes
examples Read: Slides
9 10/2
  • Classes (Cont'd)
examples

Exam 1 Review Problems
Read: Slides
10 10/4
  • Review
  Assignment 3 Due

Slides
11 10/9
  • Review
  Assignment 4 Out  
12 10/11
  • Exam 1

   
13 10/16
  • No Class - Fall Break
 

14 10/18
  • No Class - Fall Break
     
15 10/23
  • Models of Motion
examples

Exam 1 w/Solutions
  Slides
16 10/25
  • Images and Image Processing
examples

Practice Problems 1
  Slides
17 10/30
  • Class Cancelled - Hurricane Sandy
     
18 11/1
  • Image Processing (Cont'd)
examples

Practice Problems 1 (Solutions)
Practice Problems 2
Assignment 4 Due
Assignment 5 Out
Slides
19 11/6
  • Recursion and Algorithm Design
examples

Practice Problems 2 (Solutions)
Practice Problems 3
  Slides
20 11/8
  • Functional Programming
  • List Comprehensions
  • Dictionaries
  • Sets
  • Nested Data Structures
examples

Practice Problems 3 (Solutions)
Practice Problems 4
Read: Slides
21 11/13
  • Inheritance and Subtype Polymorphism
examples

Practice Problems 4 (Solutions)
Practice Problems 5
Assignment 5 Due
Assignment 6 Out
Slides
22 11/15
  • Algorithms: Sorting, Searching
examples

Practice Problems 5 (Solutions)
Practice Problems 6
  Slides
23 11/20
  • print( "Exam %s, Take %s" % (1, 2))
Assignment 7 Out
24 11/22
  • No Class - Thanksgiving Break
 
25 11/27
  • Files, Strings, Text Formatting
examples

Practice Problems 6 (Solutions)
Practice Problems 7
Assignment 6 Due
Slides
26 11/29
  • Data Visualization
examples

Practice Problems 7 (Solutions)
  Slides
27 12/4
  • Exception Handling
  Assignment 7, Part 1 Due Slides
28 12/6
  • Review
examples   Slides
29 12/11
  • Review
examples Assignment 7, Part 2 Due Slides
30 12/13
  • Exam 2
     

Course Policies

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%  
Exam 2: 24%  
Assignments: 56% (7 × 8%)
Total: 100%  

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances. Graded work will receive a percentage grade between 0% and 100%.

The instructor reserves 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 as an electronic submission. 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.  Refer to the Assignment Submission Instructions for details..

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%).

Exams

There will be two exams in this course.  The exams will be open notes.  They will cover material from lectures, homeworks, and assigned readings.

Study Groups

You are encouraged to discuss the material and work together to understand it.

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

Links