CMC LogoCSCI 51-01 (S '09), Introduction to Computer Science (Stough)

 

Schedule:

Lecture Date Topics Assigned / Referenced
Assignments Due/Comments
0 T, Jan 20
syllabus
 http://www.java.com/en/download/
 http://www.eclipse.org/downloads/ (Eclipse IDE for Java Developers) 
 http://java.sun.com/javase/6/docs/api/  complete Java specification.
 Hello_World.java
 Debug.java
       
. Homework 0
. Read Chapters 1 and 2
. wiki computer 
. Perform the
manipulations suggested
in Debug.java
 
1
R, Jan 22
Variables and types: Var.java
Basic Data Types: Types.java   
Dealing with Integers and Real numbers: MixedTypes.java   
Basic operations: Operators.java 
To read input from the keyboard: SimpleIO_Demo.java 
To make small change: MakeChange.java

 Problem Set 1
 
 Read Ch. 2 and 3 
 Homework 0 due
         Friday, Jan 23.
2
T, Jan 27
 Primitives, Operator Precedence, Expressions, Casting, Strings
 BasicsJava.java 
 ExpressionsDemo.java  
  Through Ch. 3
  Section 4.1

3
R, Jan 29
 Java basics (program structure).
 HelloSpecific.java 
  Through Ch. 3
  Section 4.1

  Problem Set 1
          due Monday.
  Monday, Feb 2
          last day to add.
4
T, Feb 3
 Objects, reference objects, String methods
 MathStats.java
 UsingStrings.java   
  Program 2
 
5
R, Feb 5
 GUI input/output (I/O), Tokenizer, File I/O 
 Conditional (if) statements, if-else, block statements

 UsingGUI.java                    
 Use UsingGUI to compute the area of a triangle.
 booleanLogic.pdf
 State.java  
  
  

6
T, Feb 10
 Remember:
       Name on your work.
       Source->Format.  Indent for prettiness.
       Too many / too few variables.
       Finish computation, then do rounding.
 Booleans, relational, logical operators and expressions
 Conditional (if) statements, if-else, block statements
 See:
    http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html
 
 State.java  
 Min.java
 GradeReport.java  
  Through 4.7
  Problem Set 3 
  Program 2 due today.

  
7
R, Feb 12
 Notes:
      & is NOT &&
      don't compute all possible answers.  when would ever do that in reality.
      only need maybe 3  messagedialogue's.
      if you see the same condition in multiple ifs, nest. 
      if you see the same code in many ifs, belongs on the outside.

 For loops, While loops
 Average.java
 WinPercentage.java
 Multiples.java
 
 Ch. 6


T, Feb 17
 review

  Problem Set 3 due IN CLASS.

R, Feb 19
 Midterm 1
 


8
T, Feb 24
 methods (procedural abstraction)
 object-oriented design, classes
 HelloWithMethods.java  
 Rectangle.java
 RectangleTester.java
  
 Ch 3.5 - 3.8
 Chapters 5, 7, 8, 9
   (~30 pages total)
 
  Problem Set 4  
 
9
R, Feb 26
 methods and parameter passing,
 objects
 Chapters 5, 7, 8, 9  
10
T, Mar 3
 algorithms, coding with loops and methods
 arrays
 Chapters 5, 7, 8, 9   Problem Set 4 due Monday.
 
11
R, Mar 5
 arrays, arrays and classes
    - ArrayDemo.java
    - AverageWithArray.java
 Ch. 10
  (10 pages)
  Program 5
     - Ttt.java
     - ArrTester.java

12
T, Mar 10
 more on arrays, applications
   -Die.java
   -Dice.java
   -DiceTester.java


 
13
R, Mar 12
 Classes and objects - data abstraction 

  Program 5 due Friday.

T, Mar 17
 

 Spring Break 

R, Mar 19
 

 Spring Break 
14
T, Mar 24
 classes (and their Objects)
 object composition, arrays of objects
 searching and sorting

   -Card.java
   -Deck.java
   -DeckTester.java

 Ch 11, 12
  Program 5 example code
     -Arr.java
     -Ttt2.java  (not complete)
     -TttBoard.java  (dito)
15
R, Mar 26
 searching and sorting
   -BinSearch.java
   -SortingCode.java
 Ch 11, 12
 
  Practice Midterm 2


T, Mar 31
 review

 Practice Midterm due in class.

R, Apr 2
 Midterm 2

 
16
T, Apr 7
 recursion
   -RecursiveApps.java
 static data members, object equality testing
   -Box.java
   -BoxTester.java
 subclassing--extends
   -Person.java
   -Student.java
   -StudentTester.java
 4.13, 4.14, 5.8

  Program 7 
 
17
R, Apr 9
 more on recursion, subclasses

 
 Program 7 due Monday.
18
T, Apr 14
 file IO
   -FileIO.java  
   
19
R, Apr 16
  linked lists
  -Node.java
  -LinkedList.java
  -LinkedListTester.java
  -LinkedSortingTest.java
  Program 8
  14.1 through 14.4

20
T, Apr 21
 linked lists, stacks, queues  
  -Stack.java
  -Queue.java
 
 
  
21
R, Apr 23
  linked lists, stacks, queues
 Program 8 due Friday.

22
T, Apr 28
 Post-fix notation: 
  -PostFixCalculator.java
 inheritance/subclassing, interfaces
  -http://java.sun.com/docs/books/tutorial/java/IandI/index.html
  -QueueFromList.java
  -QueueIdea.java
 Review today's links.

 Program 9 
 
23
R, Apr 30
 generic types
  -http://java.sun.com/docs/books/tutorial/java/generics/index.html
  -Vector.java
  -GenericNode.java
  -GenericList.java
  -GenericStack.java
  -StackTesterGeneric.java
 Review today's links.

 Program 10
 Program 9 due before class.
24
T, May 5
 Binary Trees - http://en.wikipedia.org/wiki/Binary_tree
 Iterators
  -IteratorTesting.java


  Program 10 due before class.


 Some additional materials:
 practiceQuestions.doc
 practiceQuestions-Solutions.doc
 final-fall2004.doc
 
 Final-f06.doc
 Final-f06_Answers.doc
 
 midTermF07.doc
 midTermF07Solutions.doc
 finalF07.doc
 



M, May 11
 Final Exam, 9:00AM, Roberts North 12, 3 hours
 http://www.claremontmckenna.edu/registrar/finals.php