Kyerstan'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 Spring 2020 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

Lab 1 "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

Lab 2 "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).
RedX code + RedX demo | PumpItUp code + PumpItUp demo | Dots code + Dots demo | TwoFigureMinuetThing code + TwoFigureMinuetThing demo | LandscapeAndMotionListener code + LandscapeAndMotionListener demo | HillyJourney code + HillyJourney demo

Lab 3 "Establishing a CS1 Work Site" Setting up a Web site to house programs and demos and a few miscellaneous links.

Lab 4 "Expressions and Shapes World Problem Solving" Programs to work with arithmetic expressions and working with shapes in the NPW.
ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Programming Assignment 2: Enabling Your Web Work Site Setting up the Web site to be public.

Lab 5 "An Interpreter Featuring Loop Forever and Selection" Programs to work with writing interpreters.
Interpreters1 code | Interpreters2 code | Interpreters3 code | Input dialog box and random colored Dot (from Interpreters3) + HELP message (displayed from Interpreters3) + ERROR message (displayed from Interpreters3)

Programming Assignment 3: Shapes World Problem Solving Programs to work in the Nonrepresentational Painting World and make use of the shapes functionality without using a Painter.
WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | GreySpace code + GreySpace demo | ShippingContainer code + ShippingContainer demo

Lab 6 "Functions and Commands" Programs to work with using functions, commands, while statements, and if statements.
SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo

Lab 7 "String Thing" Programs to work with basic character string processing functionalities and wrtiting some character string processing code.
StringOps code + StringOps demo | StringThing code + StringThing demo

Programming Assignment 4: Nonrepresentational Artistic Expressions Programs to work with the NPW, the painter functionality, and the shapes functionality.
AbstractGradient code + AbstractGradient demo | ColorfulAbstractGradient code + ColorfulAbstractGradient demo | HirstDots code + HirstDots demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | SimpleDots code + SimpleDots demo | StringOps code + StringOps demo | StringThing code + StringThing demo |

Lab 8 "String Thing" Programs to work with basic character string processing functionalities and wrtiting some character string processing code.
StringOps code + StringOps demo | StringThing code + StringThing demo

Programming Assignment 5: Three List Interpreters Programs to work with array porccessing and ArrayLists.
NumberList code + NumberList demo | WordList code + WordList demo | WordList2 code + WordList2 demo

Lab 9a "Simple List Processing" Programs to work with ArrayList processing and to compare array processing and ArrayList processing.
Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy Original Text + ReverseCopy Reversed Text

Lab 10 "Establishing and Using Classes" Programs to work with modeling classes, creating and using computational objects, and translating for statements to while statements.
Die code | Roller code + Roller demo

Lab 11 "Modeling Objects with Classes" Programs to work with crafting classes from scratch, establishing and implementing a java interface, writing test programs, and using arrays of objects.
Person code | Person1 code + Person1 demo | Person2 code + Person2 demo | PersonSpecification code

Lab 12 "Grapheme to Color Synesthesia" Programs to work with programming with parallel arrays and the process of interpretation.
GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia demo

Lab 13 "Chromesthesia" Programs to work with incremental programming, arrays of objects, and a music knowledge representation.
Chromesthesia0 code + Chromesthesia0 Demo + Pitch0 code | Chromesthesia1 code + Chromesthesia1 Demo + Pitch1 code | Chromesthesia2 code + Chromesthesia2 Demo + Pitch2 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