Justin'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.

Assignments

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 |

Programming Assignment 3:"Shapes world problem solving" Programs to create images in the Nonrepresentational Painting World (NPW). WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo |

Programming Assignment 4:"Nonrepresentational Artistic expressions" Programs to create images in the Nonrepresentational Painting World (NPW). textRectangles code + textRectangles demo | CirclesOfSquares code + CirclesOfSquares demo | HirstSquares code + HirstSquares demo | HirstDots code + HirstDots demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | SimpleDots code + SimpleDots demo | Stella code + Stella demo |

Programming Assignment 5:"Three list interpreters" Programs to create images in the Nonrepresentational Painting World (NPW). NumberList code + NumberList demo | WordList code + WordList demo | WordArrayList code + WordArrayList demo |

Programming Assignment 6:"Chromesthesia" Programs to create images in the Nonrepresentational Painting World (NPW). Chromesthesia0 code + Pitch class code + Chromesthesia0 "c" demo | Chromesthesia1 code + Pitch class code + Chromesthesia1 "A" demo | Chromesthesia2 code + Pitch class code + Chromesthesia2 "G," demo |

Labs

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 |

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" Programs to learn how to work with variables and perform computations involving shapes in the NPW ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo |

Lab5 "An Interpreter Featuring Loop Forever and Selection" Progrmas to learn to work with loops and selection statements Interpreter1 code + Interpreter2 code | Interpreter3 code + Interpreter3 input dialog box demo | Interpreter3 error message dialog box demo + Interpreter3 help menu dialog box demo | Interpreter3 green dot demo +

Lab6 "Functions and Commands" Programs to learn functions and commands by using abstraction and stepwise refinement SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Ballons code + Ballons demo | Alternate balloons code + Alternate balloons demo |

Lab7 "String thing" Programs to learn some basic character string processing functionality StringOps code + StringOps demo | StringThing code + StringThing demo |

Lab8 "Array play" Programs to learn the basics of array creation adn array element referencing Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + Song lyric file | Reverse lyrics order|

Lab9a "Simple List Processing" Programs to practice the basic concepts and mechanisms associated with the ArrayList Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + Song lyric file | Reverse lyrics order |

Lab9b "List Processing with Streams" Programs to practice the basic concepts and mechanisms associated with Streams ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code + StreamArrayListProcessing demo |

Lab10 "Establishing and Using Classes" Programs to create a class and test this class we created Die class code | Roller code + Roller demo code |

Lab11 "Modeling Objects with Classes" Programs to practice the basic concepts and mechanisms associated with Streams Person class code | Person1 code + Person1 demo code | Person2 code + Person2 demo | PersonSpecification interface code |

Lab 12 "Grapheme to Color Synesthesia" Programs that simulate the grapheme to color synesthesia. GrapthemeToColorSynesthesia code + GraphemeToColor 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