Boston University Seal Boston University
College of Arts and Sciences
Computer Science Department

CS 111: Introduction to Computer Science, Fall 2005
Contact Info Course Description Books & Software Labs Assignments

Please report broken links to azs@bu.edu

Announcements
12/19/05: Final grades have been posted.
12/7/05: Aaron's office hours next week: Tuesday 12/13 @ 1-2:30pm, and Thursday 12/15 @ 10-11:30am.
Alex's office hours next week: Monday 12/12 5-7pm @ lab.
12/1/05: What to review for the lab exam.
11/17/05:
1 - Homework 10 (inheritance and polymorphism) will be due no later than Tuesday 11/22 @ 5pm. This should give you ample time to complete the work before the holiday.
2- Office hours next week: Alex: Monday 21st: 1:30-2:30pm, and Tuesday 22nd: 1-2pm Aaron: Tuesday 22nd: 1:30-2:30pm. The university is closed the remainder of the week.
3- Homework 11 will be a short assignment, which you will work on during the lab time on November 30th. It will be due on December 1st. Please plan your time accordingly.
11/04/05: Final Exam will be Friday 12/16/05 @ 3:00pm-5:00pm in GCB 205.
10/24/05: Office hours for Tuesday October 25th will be held 11-12pm and 2:30-3:15pm. Sorry for any inconvenience.
10/18/05: I have made a permanent change in my Tuesday office hours, see main page. The other days remain the same.
9/29/05: Quiz 2 moved to THURSDAY 10/6/05.
I will be absent on Tuesday 10/4, with my TF Alexandra Stefan teaching in my absence.
If you will not be in class on Tuesday, you may come to a make-up class on Friday 10/7 11a-12pm @ CAS B18.
I am also going to have an unusual office hours schedule for the next 2 weeks. Rather than list cancellations and additions, here's when I will hold OH:
- Thursday Oct 6, 11-12am.
- Friday Oct 7, 10-11am and 1-2pm.
- Tuesday Oct 11, 1-2pm.
- Friday Oct 14, 10-11am and 1-2pm.
9/22/05: I will be missing 2 classes on TUE 10/4 and THU 10/13, with a substitute teaching in my place. If you will not be in class these days (on account of Jewish holidays), please email me your preference for a time to hold a make-up class on FRI 10/7 and FRI 10/14.
9/6/05: If you are having trouble using websubmit, please try the following:
  • close ALL browser windows, and restart the browser
  • be sure they use the link on the webpage (do NOT type in the url, since this might leave off the required courseid).
Class meeting Concept Examples from class
Thursday 8 September General Java syntax, Standard output
HelloWorld.java
Tue 13 September Standard output
Variables, data types
Assignment statements
HelloWorld.java
DataTypes.java
Thu 15 September Review Data Types, Constants
Arithmetic, some higher math
Casting
MinAndMax.java
Constants.java
Arithmetic.java
FunWithCasts.java
HigherMath.java
Tue 20 September Using pre-defined classes, calling methods.
Standard input
ReadingFromKeyboard.java
Thu 22 September Introduction to Graphics (coordinates, drawing, basic Colors)
Calling methods
Passing arguments to method calls
Drawing.java [some code to get us started]
Drawing.java (the drawing I did in class)
Tue 27 Sept Object reference variables.
Object creation.
Using constructors.
More Graphics: creating custom Colors.
Drawing.java [updated]
ObjectCreation.java
StringExample.java
Thu 29 Sept Accessor and Mutator methods.
Static methods, static member data.
Factory methods for object creation.
Wrapper classes and autoboxing (briefly)
AccessorMethods.java
StaticMethods.java
FactoryMethods.java
WrapperClasses.java
Tue 4 Oct Expressions, selection using if statements.
I missed this class, so these examples are from my summer CS111 class.
Expressions.java
SelectionExample.java
FindSmallest.java
Thu 6 Oct Selection: nested if/else statements
Comparing floating point numbers,
comparing objects (e.g. Rectangles),
and using the switch statement.
Craps.java
ComparingDoubles.java
ComparingObjects.java
Tue 11 Oct Repetition using while loops.
Sentinel-controlled repetition.
Counter-controlled repetition.
SwitchExample.java
RepetitionExample.java
ReadingFromFile.java
CounterControlledLoops.java
Thu 13 Oct Repetition using do-while loops.
For loops.
Using repetition to create animation.
I missed this class, so these examples are from my summer CS111 class.
Pause.java [to pause the animation]
BouncingBall.java [the starter code]
BouncingBall.java [my solution]
YesOrNo.java
Counting.java
CompoundInterest.java
Tue 18 Oct User-defined classes, member variables Circle.java
UsingCircle.java
Thu 20 Oct User-defined classes: constructors, methods DrawingCircle.java [some starter code]
Pause.java [to pause the animation]
Circle.java
DrawingCircle.java [my screen saver]
Tue 25 Oct User-defined classes:
accessor and mutator methods,
parameter passing, return values
Circle.java
UsingCircle.java
Thu 27 October User-defined classes, instance variables, constructors
toString, equals methods, static & final keywords
BankAccount.java
UsingBankAccount.java
Tue 1 Nov Introducing arrays, arrays of primitives, arrays of Strings.
Array indicies, operations.
Passing an array to a method call.
UsingArrays.java
Stats.java
Wed 2 Nov
LAB
Alex wrote these two files and asked me to post them.
ArrayOps.java
TestArrayOps.java
Thu 3 Nov
Allocating arrays with initializer lists.
Copying arrays -- reference (shallow) and members (deep)
InitializerList.java.java
CopyingArrays.java
Tue 8 November Revisit deep copy with objects
Multidimensional Arrays
DrawingCircleAndDeepCopy.java
MultiDimArrays.java
ColorPicker.java
Thu 10 November Revisit Multidimensional Arrays
Example with enumerated types
Introduction to inheritance
TicTacToe.java
Widget.java
Tue 15 November Inheritance, class hierarchies
PlayingGames.java
Thu 17 November Polymorphism, overiding methods.
PlayingGames.java
Tue 22 November Exceptions, handling in try-catch
Generating (throwing) Exceptions
Exceptions.java
MyException.java
Tuesday 29 November Using exception handling for validating user input
File Input/Output
Structured data files
ValidatingUserInput.java [exceptions]
ReadingFromTextFile.java [file I/O]
WritingToTextFile.java
Contact.java [helper class]
Contacts.txt [structured file]
StructuredFiles.java



Created by: Aaron Stevens, azs@bu.edu
people.bu.edu/azs/academics/cs111/
Last update: 19 December 2005