Bryn Mawr College
CS 110: Introduction to Computing
Spring 2006
Course Materials
General Information
Instructor: Deepak Kumar, 248 Park Hall, 526-7485
E-Mail: dkumar at cs brynmawr dot edu
WWW: http://cs.brynmawr.edu/~dkumar
Lecture Hours: Tuesdays & Thursdays, 2:30 p.m. to 4:00.m.
Room: Park 338
Lab: Fridays 2:00 p.m. to 4:00 p.m. in Room 231 (additional lab hours
also available, see below)
Laboratories:
- Computer Science Lab Room 231 (Science Building)
Lab Assistants:
The following Lab assitants will be available during the week (names and
schedules will be posted by the end of this week) for assistance on lab assignments.
- Austin Andrews: Tuesdays & Thursdays 5:30p to 7:30p
- Bhumika Patel: Mondays 12:30p to 2:30p and 4:00p to 6:00p
- Priscilla Won: Tuesdays 4:00p to 6:00p and Thursdays 10:00a to noon.
Texts & Software
Object-Oriented Programming in Java (Preliminary Edition): by
Kathryn Sanders & Andries van Dam, Addison Wesley Publishers, 2006.
Java 5.0 SDK (This software is installed in the Computer Science Lab)
Wheels Graphics Library (accompanies and distributed with the text is
also installed in the lab)
|
 |
Important Dates
January 17 : First lecture
March 2: Exam 1
April 27: Last lecture/Exam 2
Lab Assignments
- Assignment#1 (Due on Tuesday, January 24) is posted. Click
here for details.
- Assignment#2 is posted (Due on Tuesday, January 31): Click
here for details.
- Assignment#3 is posted (Due on Thursday, February 9): Click
here for details.
- Assignment#4 is posted (Due on Tuesday, February 21): Click
here for details. Deadline extended to Tuesday, Februray 28, 2006.
- Assignment#5 is posted (Due on Tuesday, March 28): Click
here for details.
- Assignment#6 is posted (Due on Tuesday, April 11): Click
here for details.
- Assignment#7 is posted (Due on Tuesday, April 25): Click
here for details.
Lectures
- Week 1 (January 17, 19)
January 17: Course introduction, logistics, overview. Introduction
to software and software development. The functional organization of a computer:
hardware versus software. Programming and problem solving, programming languages.
Software development process.
Read: Chapter 0 from Sanders & van Dam.
January 19:
Object oriented Programming: Objects, properties and capabilities,
classes and instances.
Read: Chapter 1 from Sanders & van Dam.
Lab Assignment: Assignment#1 (Due on Tuesday, January 24) is posted. Click
here for details.
- Week 2 (January 24, 26)
January 24: Review of the Pacman exercise and OOP concepts.
Encoding classes in Java. The role of libraries in OOP. The Wheels library
and its classes. The structure of Java application programs. Editing, compiling,
and running Java programs.
Read: Chapters 0-2 from the Lab manual. This handout was given in class and
is also available online here.
Lab Assignment: Assignment#2 is posted (Due on Tuesday, January
31): Click
here for details.
January 26: Working with the Wheels Library. Shapes and their attributes
and commands. Using methods and parameters. Importing from libraries. The
Java Color class and predefined colors.
Read: Chapter 2 from Sanders & van Dam.
- Week 3 (January 31, February 2)
January 31: Writing re-usable classes (e.g. SnowCartoon). Parameters.
Working with basic types as parameters. Self referencing.
Read: Chapter 2 from Sanders & van Dam.
February 2:Images in wheels. Methods & parameters: formal and actual
parameters, return types. Recap of classes and encapsulation. Inheritance:
classes, properties, methods. Example: Creating a Square class from Rectangle.
Read: Chapter 3 from Sanders & van Dam.
Lab Assignment: Assignment#3 is posted (Due on Thursday, February 9): Click
here for details.
CS Majors Tea: Come have some Pan-Galactic
Gargle Blasters and watch the Hitchhikers
Guide to the Galaxy. 4:00p onwards in Room 338
Park on Friday, February 3. More details on flyers hanging in the department.
- Week 4 (February 7, 9)
February 7: Inheritance; subclasses and superclasses;
method resolution; public, private and protected access;abstract methods
and classes; super method calls.
Read: Chapter 3 from Sanders & van Dam.
February 9: Inheritance; subclasses and superclasses;
method resolution; public, private and protected access;abstract methods
and classes; super method calls.
- Week 5 (February 14, 16)
February 14: Abstract classes. More on libraries: java.awt.Color
(creating your own colors), java.awt.event, java.awt.Point. Looking at Java
API documentation. Interfaces in Java.
Read: Chapter 4 from Sanders & van Dam.
Assignment#4 is posted (Due on Tuesday, February 21): Click
here for details. Deadline extended to Tuesday, Februray
28, 2006.
February 16: Interfaces. Polymorphism in Java. Study the
SketchApp example from text (also available in ~dkumar/cs110/SketchApp folder).
- Week 6 (February 21, 23)
February 21: Deadline for Assignment#4 extended
to Tuesday, Februray 28, 2006. Polymorphism
in Java. Study the SketchApp example from text (also available in ~dkumar/cs110/SketchApp
folder).
Read: Chapter 5 from Sanders and van Dam.
February 23:
Polymorphism in Java. The power of estimation: an estimation quiz.
- Week 7 (February 28, March 2)
Feburuary 28: Review of Assignment#4. Review for Midterm
Exam.
March 2:
Exam 1 is today.
- Week 8 (March 7, 9)
No class. Spring Break!!
- Week 9 (March 14, 16)
March 14: Review of Midterm (and course so far). Arithmetic
and logic in Java: integer types, variables, assignment statement(s). Conditional
control: if and if-else statements.
Read: Chapter 6 from Sanders & van Dam.
March 16:
Conditional control in Java: if-statements. Example: DaisyApp.
Assignment#5 is posted (Due on Tuesday, March28): Click
here for details.
- Week 10 (March 21, 23)
March 21: No class today. Deepak is out of town (NSF work).
March 23:
The Wheels come off! Doing graphics in Java without wheels. Using
JFrames, JPanels, and basic shapes: rectangles (Rectangle2D.Double), ellipses
(Ellipse2D.Double), arcs (Arc2D.Double), lines, and text. Information about
java.awt.Graphics, java.awt.geom, java.awt.Graphics2D, javax.swing, packages.
See SUN's Java
documentation for more details.
Read: Chapter 7 from Sanders & van Dam.
- Week 11 (March 28, 30)
March 28: Graphics without wheels continued. Your first
Java graphics application: Drawing a Pie Chart.
Read: Chapter 7 from Sanders & van Dam. Pay special
attention to the animated ball application and its design.
March 30: More graphics without wheels. Extending standard
Java to look more like wheels: Smart shapes that know their attributes and
how to draw themselves. Animating smart shapes: the Java event model, timer,
etc.
Do this: Follow the diretions in Section 7.4 and complete the implementation
of the Bouncing Ball application. This will be very useful in understanding
the use of smart shapes, using the timer, and the event handling mechanism
in Java.
Assignment#6 is posted (Due on Tuesday, April 11): Click
here for details.
- Week 12 (April 4, 6)
April 4: Graphical User Interfaces and Event Handling: GUI
widgets, Layout Managers, Event Listeners. Putting it all together. Click
here to take a quick look at Swing GUI widgets.
Read: Chapter 8 from Sanders & van Dam
April 6: More on GUI design, widgets, and putting it all
together.
Read: Chapter 10 from Sanders & van Dam
- Week 13 (April 11, 13)
April 11: Examples of GUI applications: Pie Charts, Car
Loan Calculator. DOing mathematical calculations. Loops: an introduction.
Read: Chapters 10 & 11 from Sanders & van Dam
Assignment#7 is posted (Due on Tuesday, April 25): Click
here for details.
April 13:
Computing days between dates...
- Week 14 (April 18, 20)
April 18: Prime numbers and how to detect them. Displaying
Images using Java library: Image, Media Tracker. Arrays and Vectors for storing
data. Example: A Simple Photo Album.
Read: Chapter 9 (for Images, pages 322-324), Chapter 11 (for vectors and
loops), Chapter 13 (for Arrays & Vectors).
April 20:
Characters and strings in Java.
- Week 15 (April 25, 27)
April 25: Course Wrap up.
April 27: Exam 2 is today.
Grading
All graded work will receive a grade, 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7,
1.3, 1.0, or 0.0. 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: 25%
Labs & Written Work: 55%
Total: 100%
Links
Created by dkumar@cs.brynmawr.edu on
January 5, 2006.