Franklin'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 solve Crypto Problems, write fully parenthesized expressions and more. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo |

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

Programming Assignment 3: Shapes World Problem Solving" Programs to explore computational solutions to problems by means of the contruction and use of basic shapes. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo

Lab6: "Functions and Commands" Programs to do different functions and commands. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo |

Lab7: "String Thing" Programs to get acquainted with some basic character string processing functionality. StringOps code + StringOps demo | StringThing code + StringThing demo

Programming Assignment 4: Nonrepresentational Artistic Expressions" Programs to explore computational solutions to problems by means of the contruction and use of basic shapes. 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

Lab8: "Array Play" Programs to get acquainted with some basic array processing and file IO processing functionality. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + Believer demo + BelieverReversed demo

Lab9a: "Simple List Processing" Programs to get acquainted with some basic ArrayList processing. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + SongLyric"Rebel" demo + SongLyricReversed"RebelReversed" demo

Lab9b: "List Processing with Streams" Programs to get acquainted with some basic ArrayList processing, with streams. ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code + StreamArrayListProcessing demo |

Lab10: "Establishing and Using Classes" Programs to help learn how to model and use classes in different programs. Die code + Roller code + Roller demo |

Programming Assignment 5: "Three List Interpreters" Programs to store words and numbers and actively manipulate them when ran. NumberList code + NumberList demo | WordList code + WordList demo | WordList code(ArrayList) + WordList demo(ArrayList) |

Lab11: "Modeling Objects with Classes" Programs to practice writing a class to model different objects. Person code + PersonSpecification code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo |

Lab12: "Grapheme to Color Synesthesia" Program to simulate the phenomenon known as grapheme to color synesthesia. GraphemeToColorSynsthesia code + GraphemeToColorSynsthesia "REMAP" demo + GraphemeToColorSynsthesia Phrase demo |

Assignment 6: "Chromesthesia" Programs to experiment with programming and muscial representation combined. Chromesthesia0 code + Pitch code | Chromesthesia1 code + Pitch code | Chromesthesia2 code + Pitch code + Music Box demo + Music Color 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