Welcome to Wenhuan Zhu '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 Sovling" programs to solve Expressions and shapes World problem. Expressions code + Expressions demo | ShapesThings code + ShapesThings demo

Lab5 "An Interpreter Featuring Loop Forever and Selection"programs to feature loop forever and selection Interpreter1 code + Interpreter1InputdialogDemo + Interpreter1BlueDot Demo + Interpreter1RedDot Demo + Interpreter1Help Demo + Interpreter1Exit Demo + Interpreter1Interpreter1UnrecognizableCommand Demo| Interpreter2 code + Interpreter2YellowDot Demo + Interpreter2GreenDot Demo| Interpreter3 code+ Interpreter3Random1 Demo+ Interpreter3Random2 Demo|

Programming Assignment 3: Shapes World Problem Solving" Programs to make use of the shapes functionally of the NPW world. WorkArea code + WorkArea Demo | WhiteArea code + WhiteArea Demo | YellowSpace code + YellowSpace Demo | ShippingContainer code + ShippingContainer Demo |

Lab6:"Functions and Commands" Programs that features functions and feature commands. SurefaceAear code + SurefaceAear Demo | Balloons code + Balloons Demo | AlternateBalloons code + AlternateBalloons Demo |

Lab7:"String Thing" Programs to feature some basic character string processing functionality and write some character string processing code. StringOps code + StringOps Demo | StringThing code + StringThing Demo |

Lab8:"Array Play" programs to feature array processing and illustrates file IO by sovling a relativly realistic problem. Primes code + Primes Demo | Streets code + Streets Demo | ReverseCopy code + ReverseCopy Demo |

Programming Assignment 4:"Nonrepresentational Artistic Expression " program to feature both the painter functionality and the shapes functionality of the world. TextRectangles code + TextRectangles Demo | CircleOfSquares code + CircleOfSquares Demo | HirstSquares code + HirstSquares Demo1 + HirstSquares Demo2 + HirstSquares Demo3 | HirstDots code + HirstDots Demo | SimpleDots code + SimpleDots Demo1 + SimpleDots Demo2 + SimpleDots Demo3 + SimpleDots Demo4 | Invention1 code + Invention1 Demo | Invention2 code + Invention2 Demo | Stella code + Stella Demo1 + Stella Demo2 + Stella Demo3 + Stella Demo4 |

Lab9a:"List Processing with Strems"This lab will feature three knids of transformations: map, filter, and reduce. Primes code + Primes Demo | Streets code + Streets Demo | ReverseCopy code + ReverseCopy Demo |

Lab9b:"List Processing with Strems"This lab will feature three knids of transformations: map, filter, and reduce. ArrayListsProcessing code + ArrayListsProcessing Demo | StreamArrayListProcessing code + StreamArrayListProcessing Demo |

Lab10:"Establishing and using Classes"This lab features two programs -Die and Roller Die code + Roller code + Roller Demo |

Programming Assignment 5:"Three List Interpreters " program to feature both arrays and arraylist NumberList code + NumberList Demo | WordList. code + WordList Demo | WordList code + WordList Demo |

Lab11:"Modeling Objects with Classes"This lab will feature the process of writing a class to model a person Person code | Person Demo1 + Person Demo1| Person Demo2 + Person Demo2 | PersonSpecification code |

Lab12:"Grapheme to Color Synesthesia"This lab feature a program that simulates grapheme to color synesthesia GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia Demo1 + GraphemeToColorSynesthesia Demo2 + GraphemeToColorSynesthesia Demo3 | GraphemeToColorSynesthesia Demo4 |

Assignment 6:"Chromesthesia"This lab assignment will feature the process use of both NPW and the MMW. Chromesthesia code + Chromesthesia demo1 + Chromesthesia demo2 + Chromesthesia demo3 | Pitch code | Chromesthesia code | Chromesthesia demo1 + Chromesthesia demo2 | Pitch code | Chromesthesia code + Chromesthesia demo1 + Chromesthesia demo2 | Pitch code |

Thank you Professor Early, Thank you Professor Schlegel!

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