I will be in labs, attendance again will be taken. 

We will discuss your grades and the following:

(a) tetris (60 minutes)

(b) shopping cart (15 minutes) 

(c) final exam (30 minutes) 

Final Exams are on Monday. 

Stage One: describe what you will do in stage two. 

Stage Two: mandatory code, prototype of features for this intermediary state. 

Stage Three: the product that you worked on, some documentation.

Tetris: I proposed a stage one. I will provide similar info for stage two. 

Shopping cart: morning lecture examined important topic foundational to stage two. 

http://silo.cs.indiana.edu:8346/c212/fall2016/1207a.phps

http://www.headfirstlabs.com/

http://www.headfirstlabs.com/books/hfjava/

Download code for chapters 13 and 14. What is their purpose? 

-bash-4.2$ ls ~/c212-workspace/12072016/one/
database  inventory.txt  One.class  One.java  Two.class  Two.java
-bash-4.2$ cat ~/c212-workspace/12072016/one/One.java
import java.io.*;
import java.util.*;

public class One {
  public static void main(String[] args) throws Exception {
    Scanner a = new Scanner(new File(args[0]));
    Map<String, Integer> b = new HashMap<String, Integer>();
    while (a.hasNextLine()) {
      // System.out.println( a.nextLine() );
      b.put(a.nextLine(), 10);
    }
    System.out.println( b );

    FileOutputStream fout = new FileOutputStream("database");
    ObjectOutputStream oos = new ObjectOutputStream(fout);
    oos.writeObject(b);

  }
}
-bash-4.2$ cat ~/c212-workspace/12072016/one/Two.java
import java.io.*;
import java.util.*;

public class Two {
  public static void main(String[] args) throws FileNotFoundException,
                                                IOException,
                                                ClassNotFoundException {
    FileInputStream fis = new FileInputStream("database");
    ObjectInputStream ois = new ObjectInputStream(fis);
    Map<String, Integer> a = (HashMap<String, Integer>) ois.readObject();

    // int i = ois.readInt();
    // String today = (String) ois.readObject();
    // Date date = (Date) ois.readObject();

    ois.close();

    System.out.println( a );

 }
}
-bash-4.2$

https://www.cs.indiana.edu/classes/c212-dgerman/fall2016/resources/readings.html

https://www.cs.indiana.edu/classes/c212-dgerman/spr2015/griffin/x.pdf

(Let me know if you can't access this book.) 

http://silo.cs.indiana.edu:8346/c212/spr2015/tetris.rkt

The Shadow: how important is that feature? 

https://www.cs.indiana.edu/classes/c212-dgerman/spr2015/sampleFinal.pdf

http://silo.cs.indiana.edu:8346/c212/spr2015/sketch-of-stage-three/


    - + -      - + -
    + + +      + + -
    - - -      - + -


Rotation: thoughts. 

Three options, do whatever works for you. 

(1) I should make Ground an interface. 

(2) I should make Shape an interface. 

(3) Implementing Stage Two would be implementing these interfaces. 

--