Cambria'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" Programs to show expressions, shapes, and areas. ExpressionsThing Code + ExpressionsThing demo | ShapesThing code + ShapesThing demo |

Lab5 "An Interpreter Featuring Loop Forever and Selection" Programs to recognize and give commands. Interpreter1 code + Interpreter1 demo Input dialog box | Interpreter2 code + Interpreter2 demo HELP message | Interpreter3 code + Interpreters3 demo ERROR message | Red Dot + Random dot|

Programming Assignment 3: "Shapes World Problem Solving" Programs to explore solutions to problems by constructing and using basic shapes. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo

Lab6 "Functions and Commands" Program that engages in stepwsie refinement. SurfaceAreaOfCube code + SurfaecAreaOfCube demo | Balloons code + Balloons demo | AlternateBallons code + AlternateBalloons demo|

Lab7 "String Thing" Program that process basic character string processing funcionality. StringOps code + StringOps demo | StringThing code + StringThing demo |

Programming Assignment 4: "Nonrepresentational Artistic Expressions" This program assignment helps with repitition construct, program modification, and creating and using objects. Text Rectangles code + Text Rectangles demo | CircleOfSquares code + CircleOfSquares demo | HirstSquares code + HirstSquares demo | Stella code + Stella demo | Invention2 code + Invention2 demo | Invention1 code + Invention1 demp |

Lab8 "Array Play" Program that shows the basics of array creation and array element referencing. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code +

Lab9a "Simple List Processing Program that has the basic concepts and mechanisms associated with the ArrayList. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy demo |

Lab9b "List Processing with Streams" Program that produces the same output, but will be constructed in very different ways. ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code + StreamArrayListProcessing demo |

Lab10 "Establishing and Using Classes" Program that models a die and takes an object of chance that you tend to roll. Die code | Roller code + Roller demo |

Lab11: "Modeling Objects with Classes" Program that introduces the idea of defining and implementing a Java interface. Person code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo | PersonSpecification code |

Lab12 "Grapheme to Color Synthesia" Program that stimulates grapheme to color synthesia. GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia demo |

Assignment 5: "Three List Interpreters" Programs that pertain to storage and manipulation of steps. NumberList code + NumberList demo | WordList code + WordList code | WordList code (ArrayList) + WordList demo (ArrayList) |

Assignment 6: "Chromesthesia" Program that can play notes chromesthetically, but only for the subset of the pitch classes. Chromesthesia code + Pitch code | Chromesthesia Image Box + Chromesthesia Canvas | Chromesthesia(1) code + Pitch(1) code | Chromesthesia(1) Image Box + Chromesthesia(1) Canvas | Chromesthesia(2) code + Pitch(2) code | Chromesthesia(2) Image Box + Chromesthesia(2) Canvas |

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