CSE 116 / 504   - Programming II for Majors  - Syllabus here


Utilities:

Logging in from home

Submission Inspector - use this to check submitted files' times and dates
Grade Inspector  - use this to see your grades


LECTURES and sample code:

1. First day notes

2. Review (important points from CSE115)      

                a little program: UserInput.java
                Unix help:    ppt    pdf
                2.a. Basic Java class architecture

3. Inheritance
                Has-a, Is-a, and Uses demo: UsesDemo.java   
             
          The simplest graphics: ColorTest.java
                RandomNumberGenerator.java  
                RandomColorGenerator.java

 3.b. - A Sun Java Tutorial web page on paint( ) and awt

4. Interfaces, Action Listeners, and Events
             ButtonHandler.java

4.b. A Sun Java Tutorial on ActionListeners   
                an ActionListener template:  $$$$$.java
                ButtonArrayTest.java
                Text-to-Speech Files / (very advanced: ButtonSpeechTest.java )  

5. Arrays, Polygons, and Fonts
                    A two-window controller:  Controller.java

6. A few More Components
                The HARD way to do JComboBoxes:  ComboTest.java
                The EASY way to do JComboBoxes:  ComponentTest.java

7. Layout Managers and JPanels
                The animation/curve plotting example: Sinewave.java

8. Handling Errors: Try..Catch and Exceptions
                Simple Try..Catch: Errors.java

9. File I/O

10. Simple Array Manipulations
                Sorting the hard way:  MyTunes.java , SimpleRecord.java
                Slightly better, but still using arrays:  MusicRecord.java , MusicDatabase.java , songs.txt

11 - Array Lists, Collections, and Comparators

                Sorting the music database the easy way: MusicDatabaseII.java , SongComparator.java
                                                ( still uses MusicRecord.java  and  songs.txt  )

12 - TreeMaps for Fast Retrieval

13 - Threads
                Example: ServerClass.java    ClientClass.java    CommClass.java
                Server creating an ArrayList of many clients: ServerClass(Many).java   ClientClass(Many).java  


LABS:    

Lab1.doc - simple editing, compiling using javac, and user input -  (pdf here )
Lab2.doc - terminals, Unix, and library classes  - (pdf here )
Lab3.doc - JFrames, JColorChooser, and paint( ) - (pdf here )
Lab4.doc - an augmentative communications device
supporting examples:
        TextFieldTest.java
        ComboTest.java
        ButtonIcon.java  - guitar.jpg , stop.jpg
        SpeechInstructions.doc  -  
Text-to-Speech Files , ButtonSpeechTest.java
Lab5.doc - additions to the Talker 
        phrases.txt
Lab 6 - a drug interaction database
- deadline extended to SUNDAY Nov. 8 - 11:59:59 pm 
        patients.txt
        drugs.txt
        here's some useful methods:  MiniDrugs.java
        Phil's solution: Lab6.zip
Lab 7 - a useful debug print method

Lab8.zip (contains Lab8.doc, MusicDB.txt, and the appropriate MusicRecord.java)
Lab 9 - Iterating a HashMap
        uses MusicDB.txt  (or MusicDB.zip for smaller download )    

Lab 10 - Threads  last lab


Michael Buckley - mikeb@buffalo.edu
    137 Bell Hall
    645-4729

TAs:
    Phil - pjm35@buffalo.edu
    Jason - jiazhao@buffalo.edu