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

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" Writing two different codes, one to solve arithmatic, one to solve problems using shapes. ShapesThing Code + ShapesThing Demo | ExpressionsThing Code + ExpressionsThing Demo |

Lab5 "An Interpreter Featuring Loop Forever and Selection" Uses and interpreter to create different dots (I'm dumb, didn't realize I only needed like five things) Interpreter1 Code + Interpreter1 Red Command Demo + Interpreter1 Blue Command Demo + Interpreter1 Help Command Demo | Interpreter2 Code + Interpreter2 Yellow Command Demo + Interpreter2 Green Command Demo + Interpreter2 Help Command Demo | Interpreter3 Code + Interpreter3 Random Command Demo 1 + Interpreter3 Random Command Demo 2 + Interpreter3 Input Demo + Interpreter3 Error Demo |

Lab6 "Functions and Commands" Writing two different codes, one to solve arithmatic, one to solve problems using shapes. SurfaceAreaOfCube Code + SurfaceAreaOfCube Demo | Balloons Code + Balloons Demo | AlternateBalloons Code + AlternateBalloons Demo |

Lab7 "String Thing" Writing some character string processing code. StringOps Code + StringOps Demo | StringThing Code + StringThing Demo |

Lab8 "Array Play" Understanding how to work with simple arrays. Primes Code + Primes Demo | Streets Code + Streets Demo | ReverseCopy Code + ReverseCopy Lyrics Code + ReverseCopy Reverse Lyrics Demo |

Lab9a "Simple List Processing" Understanding how to work with simple list functions. Primes Code + Primes Demo | Streets Code + Streets Demo | ReverseCopy Code + ReverseCopy Lyrics Code + ReverseCopy Reverse Lyrics Demo |

Lab9b "List Processing with Streams" Understanding how to work list functions using streams. ArrayList Processing Code + ArrayList Processing Demo | Stream ArrayList Processing Code + Stream ArrayList Processing Demo |

Lab10 "Establishing and Using Classes" Understanding how to create and use classes. Die Code | Roller Code | Roller Demo |

Lab11 "Modeling Objects with Classes" Understanding how to create and use classes. Person Code | PersonDemo1 Code | PersonDemo1 Demo | PersonDemo2 Code | PersonDemo2 Demo | PersonSpecification Code |

Lab12 "Graphme to Color Synesthesia" Creating music that paints squares to the notes. GraphmeToColorSynesthesia Code | GraphmeToColorSynesthesia Demo |

Lab13 "Chromesthesia" Creating music that paints squares to the notes. Chromesthesia Code | Pitch Code | Input Box Demo | Canvas 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

Programming Assignment 3: Shapes World Problem Solving" Use basic shapes to do some basic math. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo |

Programming Assignment 4: Nonrepresentational Artistic Expressions" Makes use of the shapes and painter functionality. TextRectangles code + TextRectangles demo | CircleOfSquares code + CircleOfSquares demo | HirstSquares code + HirstSquares demo | HirstDots code + HirstDots demo | SimpleDots code + SimpleDots demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo1 + Invention2 demo2 | Stella code + Stella demo |

Programming Assignment 5: Three List Interpreters" Use Arrays and ArrayList to work with list functionality. NumberList code + NumberList demo | WordList (array) code + WordList demo | WordList (arraylist) code + WordList 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