Student
Web
Pages

aallegre

afrizell

chughes

cvassili

ekalmar

emadsen

emayor

estill

inwanesh

jferraio

kchinn

kdelnash

kwadhwan

lbruner

mchavira

nmehta

nzachary

pbhattac

pcowan

rfeuer

rnachmia

sabdurre

skhan

spolsky

tzier

wsmolen

Example
Applets
from
class

 

Bryn Mawr College
CS 110: Introduction to Computer Science
Fall 2003
Course Materials

 

 Information

Texts  Important Dates  Projects  Lectures  Grading  Links

General Information

Instructor: Deepak Kumar, 248 Park Hall, 526-7485
E-Mail: dkumar@brynmawr.edu
WWW: http://mainline.brynmawr.edu/~dkumar

Lecture Hours: Mondays & Wednesdays, 2:30 p.m. to 4:00 p.m.
Lab Hours: Tues-Thu, 2:00p to 4:00p
Room: 338 Park Science Building

Laboratory Assistants:

  1. Ioana Butoi (ibutoi@brynmawr.edu): Mon. 10p - 12m & Thu. 9a - 11a
  2. Catherine Chiu (cchiu@brynmawr.edu): Mon. & Tue. 9a - 11a
  3. Audrey Flattes (aflattes@brynmawr.edu): Fri. 2p - 4p & Sun. 5p - 7p
  4. Christina Florio (cflorio@brynmawr.edu): Sun. 8p - 10p & Thu. 2p - 4p

Laboratories:

  • Computer Science Lab, Room 232 Park Science Building


Texts & Software

  • Java for Students, Third Edition, by Douglas Bell and Mike Parr, Prentice Hall, 2002.
  • Java: Getting Wired: A Laboratory Manual for Introduction to Computer Science, by Bryn Mawr College, Fall 2003 Edition.
  • CodeWarrior Pro, Software by Metrowerks. This software is installed in all the Laboratories mentioned above.


Important Dates

September 1: First lecture
October 8: Exam 1
November 10: Exam 2
December 8: Last lecture
December 10: Exam 3


Programming Projects & Homework

  1. Homework#1: Create your own home page and post it on the web. Bryn Mawr students can request a web account by clicking here. Bryn Mawr's guidelines for personal home pages is posted here. Haverford students can request one by clicking here. To get credit, post your home page, send e-mail to dkumar@brynmawr.edu with your URL latest by Monday, September 8.
  2. Project#1 (Due on Wednesday, September 17): Click here for details.
  3. Project#2 (Due on Wednesday, September 24): Click here for details.
  4. Project#3 (Due on Wednesday, October 1): Click here for details.
  5. Project#4 (Due on Wednesday, October 29): Click here for details.
  6. Project#5 (Due on Monday, November 17): Click here for details.
  7. Project#6 (Due on Wednesday, December 10): Click here for details.


Lectures

  • Week 1

    Monday, September 1:
    First class Meeting. What is computer science? Elements of programming: data, sequencing, selection, repetition, methods. Object-Oriented Programming: objects, classes, inheritance. Java and the world wide web.

    Read: Chapter 1 from Bell & Parr.

    Wednesday, September 3:
    Introduction to the Web, HTML, and web authoring programs.

    Read: Appendix C from Bell & Parr. A tutorial on using Dreamweaver is available here.

    Homework#1: Create your own home page and post it on the web. Bryn Mawr students can request a web account by clicking here. Bryn Mawr's guidelines for personal home pages is posted here. Haverford students can request one by clicking here. To get credit, post your home page, send e-mail to dkumar@brynmawr.edu with your URL latest by Monday, September 8.


  • Week 2

    Monday, September 8: Introduction to Java: programming. sequence, selection, repetition, methods, objects, classes. Code Warrior: First Look.

    Example Applet:
    A Basic Applet with simple graphics

    Read:
    Chapters 2 & 3 from Bell & Parr. Chapters 1&2 from the Lab Manual.

    Project#1 (Due on Wednesday, September 17):
    Click here for details.

    Wednesday, September 10:
    Variables and simple types in Java: int, float. Doing simple arithmetic, visualizing data in a pie chart.

    Example Applet:
    A simple pie chart applet

    Read: Chapter 4 from Bell & Parr. Read Chapter 3 from the Lab Manual.

  • Week 3

    Monday, September 15:
    No class today, I'm out of town.

    Wednesday, September 17:
    Applet structure and methods.

    Example Aplets:
    Applet Life Cycle, Pie Chart Applet (Version 2 with methods), Drawing Stick Figures

    Read:
    Chapter 5 from Bell & Parr. Also Chapters 4, 5, 6 & 7 from the Lab Manual.

    Project#2 (Due on Wednesday, September 24): Click here for details.



  • Week 4

    Monday, September 22:
    More on methods and parameters. Review of Java library objects and methods. Event-driven programming.

    Example Applets:
    Creating GUI Widgets and using them

    Read:
    Chapter 6 from Bell & Parr. Also Chapter 11, 13 & 14 from the Lab Manual.

    Wednesday, September 24:
    More event-driven programming, Passive GUI widget: Labels, creating custom colors.

    Example Applets:
    Drawing Stick Figures (Viersion 2 with a scrollbar), The Color Swatch Applet

    Read:
    Chapter 9 and 19 from the Lab Manual.

    Project#3 (Due on Wednesday, October 1):
    Click here for details.

  • Week 5

    Monday, September 29:
    Using random numbers. Selection statements: if-else and switch.

    Example Applet:
    Drawing Circles & Squares

    Read:
    Chapter 7 from Bell & Parr. Also Chapter 8 from the Lab Manual.

    Wednesday, October 1:
    Repetition: for- and while- loops.

    Example Applet: Drawing Circles (Using Loops)

    Read: Chapter 8 from Bell & parr.


  • Week 6

    Monday, October 6:
    Review for exam.

    Example Applets:
    Counting Days (Version 1)
    Counting Days (Version 2 with GUI+Error Checking)

    Also take a look at the description for Project#3. It now contains the Java program for the applet shown.

    Project#4 (Due on Wednesday, October 29): Click here for details.

    Wednesday, October 8:
    Exam 1 is today.


  • Week 7 (October 13, 15)

    No Classes this week. Fall Break!!


  • Week 8

    Monday, October 20: Review of Exam. Containers & Layout. Text Fields in Java. Using text fields for input.

    Read:
    Chapters 12-18 from the lab manual.

    Wednesday, October 22:
    Containers & Layout Managers. BorderLayout. Using Panels.

    Example Applets:
    HiLoGame

    Read:
    Chapter 17 from Bell & Parr.

    Audrey's friday hours on 10/23 will be on Saturday 10/24 from 2-4p

  • Week 9

    Monday, October 27:
    Wrapper classes: Integer and Float. Example of using wrapper classes in GUI input. Doing numerical input from a TextField.

    Example Applet:
    Computing Prime classes

    Read:
    Chapter 16-18 from the Lab Manual.

    Wednesday, October 29:
    Designing Graphical User Interfaces. Doing more meaningful computations. TextAreas in applets.

    Read:
    Chapter 17 from Bell & Parr.



  • Week 10

    Monday, November 3:
    More on applet and program design.

    Example Applet: The Car Loan Calculator Computing days between dates (incomplete version)

    Project#5 (Due on Monday, November 17): Click here for details.

    Wednesday, November 5:
    Completing the Days applet. Exam Review.

    Note:
    Two TA's have been cancelled. Please look at new TA hours above.

    Example Applet:Computing days between dates (complete version)


  • Week 11

    Monday, November 10:
    Exam 2 is today.

    Wednesday, November 12: Review of Exam. Arrays in Java.

  • Week 12

    Monday, November 17:
    Arrays in Java. Passing arrays as parameters. Doing standard operations on arrays: initializing, computing mean, finding the smallest/largest element etc.

    Read: Chapter 13 from Bell & Parr.

    Project#6 (Due on Wednesday, December 10): Click here for details.

    Project#6 Interim Deadline: Read the project description and see if you can get started!

    Wednesday, November 19:
    Arrays of objects. Strings in Java.

    Read:
    Chapter 15 from Bell & Parr.

    Example Applet: Testing for palindromes.



  • Week 13

    Monday, November 24:
    Objects and classes. Defining your own classes in Java.

    Read: Chapters 9, 10, and 11 from Bell & Parr

    Example Applet: Playing with balloons, canvas example

    Project#6 Interim Deadline: Finish Version 1 today!

    Wednesday, November 26:
    No class today. Students in need of help can make appointments to see me for help.


  • Week 14

    Monday, December 1:
    No class today.
    Catherine Chiu's TA Hours for today are cancelled.

    Wednesday, December 3:
    Using canvases in applets.

    Example Applet: Playing with balloons, canvas example


    Project#6 Interim Deadline: Finish Version 2 today (December 3)!



  • Week 15

    Monday, December 8:
    Review for exam. Course wrap.

    Project#6 Interim Deadline: Finish Version 3 today (December 8)!
    Sign-up sheet is posted outside my office door. Please make sure you sign up for the demo of your Project#6. During the demo, I will use your applet to play a couple of times and I will also review your grade with you.

    Wednesday, December 10:
    Exam 3 is today.
    Project#6 is due 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: 15%
Exam 2: 15%
Exam 3: 15%
Projects: 55%
Total: 100%


Links