Bryn Mawr College
CS 109: Introduction to Computing
Spring 2026
Course Materials

Information Text & Software Syllabus & Assignments Policies Links

Last updated: Jan 19, 2026. Subject to change.

General Information

Instructor : Dianna Xu
Office : Park 203
E-Mail : dxu at brynmawr dot edu
WWW : http://cs.brynmawr.edu/cs109
Lecture : M/W 1:10pm-2:30pm, Park 300
Office Hours : Tuesdays 2pm to 4pm
Lab : M 2:40pm-4pm
Lab Location : Computer Science Lab A, Park 231
You will also be able to use your own computer to do the labs for this course.
Lab Assistants : TBA

Course Description: Students will learn how to write algorithms, manipulate data, and design programs to make computers useful tools as well as mediums of creativity. Contemporary, diverse examples of computing in a modern context will be used, with particular focus on graphics and visual media. The Processing/Java programming language will be used in lectures, class examples and weekly programming projects, where students will learn and master fundamental computer programming principles. Students are required to register for the weekly lab.

You will exercise your creativity by desiging programs in a language called, Processing. Processing is a language/environment built upon the programming language Java. Processing was created by artists, designers, and computer scientists to explore ideas of creative coding using computer algorithms.

Text & Software

Processing 2: Creative Coding & Generative Art in Processing 2.0 by Ira Greenberg, Dianna Xu and Deepak Kumar, Friends of ed, 2013. Available in the bookstore and of course, Amazon. There is also a Kindle ebook version.

Book Web Site: Here you will find additional materials.

Processing Software (This software is already installed in the Computer Science Lab). The software is also available for your own computer from Processing web site (http://www.processing.org). Download the stable release for your own computer/Operating System.

Processing Reference The reference on the processing.org is for version 3.0+. Here is the Processing 2.0+ reference.

Syllabus and Schedule

This is a tentative syllabus and schedule.  Topics, reading assignments, and due dates are subject to change.

# Date Topic Reading Examples Assignments Labs Extras
1
1/21
  • What is computing?
  • Drawing primitives: point, line, simple shapes
  • Color
Book: Chapter 1

processing.org
coords
mag
rgba
alphaChannels

Download and install Processing on your computer No lab
2
1/26
  • Built-in Processing functions
  • Interaction: Keyboard/Mouse
  • Drawing primatives: arcs, curves, shapes
  • Color (continued)
  • Example Sketches

Book: Ch2, pgs. 33-48

Book: Ch4, pgs. 124-146

Assignment 01
3
1/28
  • random()
  • Variables
  • Primitive Data Types
  • Expressions and Operators
  • Images
  • Conditionals

Book: Ch. 2, pgs. 48-63

Book: Ch. 10, pgs. 369-371

Book: Ch. 3, pgs. 72-76

4
2/2
  • Iteration
Book: Ch. 3, pgs. 88-95
5
2/4
  • More on loops
  • Functions
Book: Ch. 3, pgs. 65-72
6
2/9
  • Function return values
  • Variable scope
  • Code tracing
  • Nested Loops
Book: Ch. 4, pgs. 111-115   Assignment 02
7
2/11
  • Polar-coordinates and basic trigonometry
Book: Ch. 3, pgs. 81-88
Book: Ch. 4, pgs. 120-147
   
8
2/16
  • Arrays
Book: Ch. 5, pgs. 149-165
9
2/18
  • Arrays and Simple Data Visualization
Book: Ch. 5, pgs. 166-185
10
2/23
  • Objects
Book: Ch. 6, pgs. 210-222   Assignment 03
11
2/25
  • Inheritance
Book: Ch. 6, pgs. 223-232  
12
3/2
  • Review
3/3
  • Exam 1
         
3/9
  • No Class - Spring Break


       
 
3/11
     
13
3/16
  • Transformations and Modeling Motion
Book: Ch. 3, pgs. 83-105   Assignment 04
14
3/18
  • More advanced data visualizations with OOP
Book: Ch. 7 (as much as you can, we will come back to this)
15
3/23
  • Recursion
Book: Ch. 8
16
3/25
  • Recursion
 
17
3/30
  • Two dimensional arrays
Book: Ch. 9   Assignment 05
18
4/1
  • Images and Image Processing
19
4/6
  • Image Processing (Cont'd)
Book: Ch. 10  
20
4/8
  • Image Processing
  • Video Processing
  • Review
 
21
4/13
  • Strings
  • Text and Text Formatting
Book: Ch. 7, pg 233-237   Assignment 06
22
4/15
  • Files, Lists
  • Data Visualization
23
4/20
  • Text Visualization
  • ArrayList
Book: Ch. 7, 238-249  
24
4/22
  • Text Visualization with ArrayList
  • stopwords removal
  • sorting
Book: Ch. 7, 250-276
25
4/27
  • TBA
      Assignment 07
26
4/29
  • Review
       
-
         

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 programming assignments. Assignments must be submitted according to the CS 109 Assignment Submission Instructions and adhere to the Coding Standards.

At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:

Midterm: 25%  
Final Exam: 50%  
Assignments: 20%
Quizzes: 5%  
Total: 100%  

Graded work will receive a percentage grade between 0% and 100% according to the following grading policy

Submission and Late Policy

All work must be turned in as electronically by the deadlines. Extensions are given only in case of verifiable medical conditions or other such extenuating circumstances. Time management related problems are not valid reasons for extensions.

Late submissions will receive a penalty of 20% 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 40%), for a max of 48 hours. No late assignments are accepted more than 48 hours past the deadlines.

Exams

There will be two exams in this course.  The exams will be closed book, closed notes.  They will cover material from lectures, homeworks, and assigned readings. The final is a scheduled 3-hour exam.

Collaboration/AI

You are encouraged to discuss the material and work together.

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

Links