Tyler Phillips'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). The Red Cross code + The Red Cross 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.

Programming Assingment 2:Enabling Your Web Work Site Setting up a Web site to house programs and demos and a few miscellaneous links.

Lab4 "Expressions and Shapes World Problem Solving" A first set of programming examples and exercises designed to establish a framework for learning to program. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo |

Programming Assigment 3:"Shapes World Problem Solving" Work Area code + Work Area Demo | WhiteArea code + WhiteArea Demo | YellowSpace code + YellowSpace Demo | Shipping Container code + Shipping Container Demo |

Programming Assignment 4: Nonrepresentational Artistic Expressions" Program written in the NPW. These programs, with the one exception, will make use of both the painter functionality and the shapes functionality of the world. TextRectangles code + TextRectangles demo | CircleOfSquares code + CirlceOfSquares demo | HirstSquares code + HirstSquares demo | HirstDots code + HirstDots demo | SimpleDots code + SimpleDots demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | Stella code + Stella 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" Surface Area Of Cube code + Surface Area Of Cube 1 demo+ Surface Area Of Cube demo| Balloons code + Balloons demo | Alternate Balloons code + Alternate Balloons demo

Lab 7 "String Thing" Programs involving string methods. StringOps code + StringOps demo | StringThing code + StringThing demo |

Lab 8 "Array Play" Programs involving simple array processing. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + Promises text + Promises Reversed text |

Lab 9a "Simple Processing" A first set of programming examples and exercises designed to establish a framework for learning to program. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy demo

Lab 9b "List Processing with Streams" A first set of programming examples and exercises designed to establish a framework for learning to program. ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code + StreamArrayListProcessing demo

Lab 10 "Establish and Using Classes" A first set of programming examples and exercises designed to establish a framework for learning to program. Die code | Roller code + Roller demo

Lab11 "Modeling Objects With Classes" Programs that feature writing a class, defining and implementing an interface, and using the class and the interface to modify programs. PersonSpecification code | Person code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo

Lab12 "Grapheme to Color Synesthesia" This lab features a program that simulates grapheme to color synesthesia. It takes the form of an interpreter. Two parallel arrays are featured in the grapheme to color mapping. Strings and arrays cooperatively perform the essential elements of the computation. The simple painter class easily supports the graphics processing. GraphemeToColorSynesthesia code + GraphemeToColorSynesthesiaDemo

Programming Assignment 5: Three List Interpreters" Three separate Java programs for this assignment, all pertaining to the storage and manipulation of lists. The first two will feature arrays. the last one will feature an ArrayList object. NumberList code + NumberList demo | WordList code + WordList demo | WordList code + WordList demo

Programming Assignment 6: Chromesthesia" Lab 13: Chromesthesia.Write three variants of a Java Main Class called Chromestesia, and three corresponding variants of a Java Class called Pitch. This process will reinforce knowledge of incremental programming, class definition and use, and array processing, all within the context of a program that features a simple musical knowledge representation in the service of modeling a fascinating cognitive phenomenon – that of chromesthesia. Chromesthesia0 code + Pitch0 code | Chromesthesia1 code + Pitch1 code| Chromesthesia2 code + Chromesthesia2 InputBox demo + Chromesthesia2 NotePlaying demo | Pitch2 code

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