Gregory'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

Lab 1 "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

Lab 2 "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

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

Lab 4 "Expressions and Shapes!" Programs that shows different fully parenthesized expressions and properties of shapes. Expressions Code | Shapes Code

Lab 5 "Interpreters!" Programs take user input, interpreters the inputs and paints to the screen. First Interpreter | Second Interpreter | Third Interpreter | Paint Dot Interpreter Demo + Help Dialog Box + Error Dialog Box |

Lab 6 Functions and Commands!" Programs that calculate surface area and draws balloons on the screen. Surface Area Code | Balloons Code + Balloon Demo | Alternate Balloons + Alternate Balloon Demo |

Programming Assignment 3: "Shapes World Problem Solving" Programs that prints different areas. These programs show methods of classes used in the programs. Area of Desk + Area of Desk Demo | Area of White Space + Area of White Space Demo | Area of Yellow Space + Area of Yellow Space Demo | Diagonal of Rectangular Prism + Diagonal of Rectangular Prism Demo |

Lab 7: "Strings" Programs that prints different areas. These programs show methods of classes used in the programs. Into to Strings + Strings Demo | String Names + String Names Demo |

Lab 8: "Arrays" Programs that prints different areas. These programs show methods of classes used in the programs. Array of Primes + Array of Primes Demo | Array of Streets + Array of Streets Demo | Reverse Song Lyrics + Reverse Song Lyrics Demo |

Lab 9a: "ArrayList" Programs that prints different areas. These programs show methods of classes used in the programs. Array of Primes + Array of Primes Demo | Array of Streets + Array of Streets Demo | Reverse Song Lyrics + Reverse Song Lyrics Demo |

Lab 9b: "Streams" Programs that processes ArrayLists. ArrayList Processing + ArrayList Processing Demo | Stream Processing + Stream Processing Demo |

Programming Assignment 4: "Nonrepresentational Artistic Expressions" Programs that uses NPW to paint to the screen. Text Rectangles + Text Rectangles Demo | Creates a circle of squares + Cirlce Of Squares Demo | Spaced out Squares + Hirst Squares Demo | Spaced out circles + Hirst Circles Demo | Single colored cirlces + Simple Dot Demo | Deterministic Invention + Deterministic Invention Demo | Indeterministic Invention + Indeterministic Invention Demo | Squares inside of squares + Stella Demo |

Lab 10: "Classes" Programs that introduces establishing classes. Die Class + Rolls a die object + Roller Demo |

Assignment 5: "Arrays and ArrayLists" Programs that uses arrays and arraylist. Number Array + Number Array Demo | Word Array + Word Array Demo | Word ArrayList + Word ArrayList Demo |

Lab 11: "People Classes" Programs that demo the use of classes. Person Class + Person Class Demo Code + Person Class Demo 1 + Person Class Demo Code + Person Class Demo 2 + Person Interface |

Lab 12: "Synesthesia" Program for fun. Synesthesia + Demo to Synesthesia |

Assignment 6: "Chromesthesia" Program for fun. Chromesthesia + Pitch + 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