Matthew Michaelis's CS1 Work Site

This site represents work that I have done in support of my efforts to learn to program in the CS1 course at SUNY Oswego during the Fall 2019 semester. The materials will be temporally organized for the most part. Links to external sites that pertain to computer programming, problem solving, Java, Web development, and related matters will be placed after the personally created artifacts.

Course Work

Lab1 "Hello World! Hello You!" A first set of programming examples and exercises designed to establish a framework for learning to program. HelloWorld code + HelloWorld demo | HelloYou code + HelloYou demo

Lab2 "Hello Painter! Hello Composer!" A first set of programming examples and exercises designed to establish a framework for learning to program. BlueDot code + BlueDot demo | Dorothy code + Dorothy demo | BasicsListener code + BasicsListener demo | Melody code + Melody demo | Target code + Target demo

Programming Assignment 1: Microworld Problem Solving" Programs to create images in the Nonrepresentational Painting World (NPW) and sonic sequences the Modular Melody World (MMW). RedCross code + RedCross demo | KanizsaSquare code + KanizsaSquare demo | Dots code + Dots demo | ThreeFigureMinuetThing code + ThreeFigureMinuetThing demo | MinuetFigureListener code + MinuetFigureListener demo | AfterJSB code + AfterJSB demo

Lab3 "Establishing a CS1 Work Site" Setting up a Web site to house programs and demos and a few miscellaneous links.

Lab4 "Expressions and Shapes World Problem Solving!" ExpressionsThing code + ExpressionsThing demo | Shapes Thing code + Shapes Thing demo |

Lab5 "An Interpreter Featuring Loop Forever and Selection" Interpreter1 code + Interpreter1 demo | Interpreter2 code + Interpreter2 demo | Interpreter3 code + Interpreter3 demo |

Lab6 "Functions and Commands" SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons Code + Balloons demo | AlternateBalloons code + AlternateBalloons demo |

Lab7 "String Thing" StringOps code + StringOps demo | String Thing code + String Thing demo |

Programming Assignment 3: Shapes World Problem Solving" Work Area code + Work Area demo | White Area code + White Area demo | Yellow Space code + Yellow Space demo Shipping Container code + Shipping Container demo

Lab8 "Array Play" Primes code + Primes demo | Streets code + Streets demo | Reverse Copy code + Reverse Copy demo |

Lab9a "Array List Play" Primes code + Primes demo | Streets code + Streets demo | Reverse Copy code + Reverse Copy demo |

Assignment 4: Nonrepresentational Artistic Expressions Text Rectangles code + Text Rectangles demo | Circle of Squares code + Circle of Squares demo | Hirst Squares code + Hirst Squares demo | Hirst Dots code + Hirst Dots demo | Simple Dots code + Simple Dots demo | Invention 1 code + Invention 1 demo | Invention 2 code + Invention 2 demo | Stella code + Stella demo |

Lab9b List Processing with Streams Arraylist Proccessing code + Arraylist Proccessing demo | Stream Arraylist Proccessing code + Stream Arraylist Processing demo |

Lab10 "Establishing and Using Classes" Die code | Roller code + Roller demo |

Lab11 "Modeling Objects with Classes" Person code + Person Specification code | Person Demo 1 code + Person Demo 1 Demo | Person Demo 2 code + Person Demo 2 Demo |

Assignment 5: Three List Interpreters Number List code | Word List code | Word Array List code |

Lab12 "Grapheme To Color Synesthesia" Grapheme To Color Synesthesia code + Grapheme To Color Synesthesia Demo |

Assignment 6: Chromesthesia Chromesthesia 0 Code + Pitch 0 Code | Chromesthesia 1 Code + Pitch 1 Code | Chromesthesia 0 Code + Pitch 2 Code | All Chromesthesia Demo |

Various external sites relating to course content

Java Notes | Think Java: How to Think Like a Computer Scientist | Java Examples | Oracle's Java SE Tutorial | WWW Consortium