Dylan'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" Two programs which involve arithmetic expressions and shapes from the NPW. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo |

Lab5 "Interpreter Featuring Loop Forever and Selection" A sequence of three interpreters and their output. Interpreter1 code | Interpreter2 code | Interpreter3 code + Dot image + Input Box image + Help Message image + Error Message image

Programming Assignment 3: "Shapes World Problem Solving" Programs to create images in the Nonrepresentational Painting World (NPW). TheMessyDesk code + TheMessyDesk demo | TheStandardDie code + TheStandardDie demo | YellowSpace code + YellowSpace demo | TheShippingContainer code + TheShippingContainer demo |

Lab6 "Functions and Commands" Writing one program that features functions and one program that features commands. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons image | AlternateBalloons code + AlternateBalloons image

Lab7 "String Thing" Getting acquainted with basic character string processing functionality and writing some character string processing code. StringOps code + StringOps demo | StringThing code + StringThing demo

Lab8 "Array Play" Learning about the basics of array creation, processing arrays, and illustrating file IO. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + Lyric text + Reverse lyric text

Programming Assignment 4: "Nonrepresentational Artistic Expressions" Java programs where all but one are in the context of the Nonrepresentational Painting World (NPW). 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 demo | Stella code + Stella demo

Lab9a "Simple List Processing" Getting acquainted with the basic concepts and mechanisms associated with the ArrayList. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + Lyric text + Reverse lyric text

Lab9b "List Processing with Streams" Two programs which perform common processing tasks on list structures. ArrayListProcessing + ArrayListProcessingDemo | StreamArrayListProcessing + StreamArrayListProcessingDemo

Programming Assignment 5: "Three List Interpreters" Creating 3 Java programs all pertaining to the storage and manipulation of lists. NumberList code + NumberList demo | WordList code + WordList demo | WordList(ArrayList) code + WordList(ArrayList) demo

Lab10 "Establishing and Using Classes" Creating a program called Die which is a class that models a die and a program called Roller which creates and uses Die objects - instances of the Die class. Die code | Roller code + Roller demo

Lab11 "Modeling Objects with Classes" Writing a class to model a person. The class will have 5 instance variables and one constructor. PersonSpecification code | Person code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo

Lab12 "Grapheme to Color Synesthesia" A program which simulates grapheme to color synesthesia. It features parallel arrays. GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia demo

Lab13 / Programming Assignment 6: "Chromesthesia"

Chromoesthesia0 + Pitch + Demo1 + Demo2 |
Chromoesthesia1 + Pitch + Demo1 + Demo2 |
Chromoesthesia2 + Pitch + Demo1 + Demo2 |

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