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

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 Challenge 1: Microworld Warmup" Programs to create images in the Nonrepresentational Painting World (NPW) and sonic sequences the Modular Melody World (MMW). RedCross code + RedCross demo | MysterySong code + MysterySong demo | MinuetFigureListener code + MinuetFigureListener demo

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

Programming Challenge 2: Microworld Problem Solving" Your task is to write computational solutions to three problems, two in the context of the Nonrepresentational Painting World (NPW), and one in the context of the Modular Melody World (MMW). Kanizsa Square code + Kanizsa Square demo | Dots code + Dots demo | After Bach code + After Bach demo

Lab 4: Expressions and Shapes World Problem Solving The first program involves arithmetic expressions. The second program involves shapes from the NPW. Expressions Thing code + Expressions Thing demo | Shapes Thing code + Shapes Thing demo |

Programming Challenge 3: Shapes World Problem Solving" In this task we used expressions and variables to compute the areas of shapes Messy Desk code + The Standard Die code + Grey and Yellow Tablecloth code + The Shipping Container

Lab 5: An Interpreter Featuring Loop Forever and Selection In this lab we are using interpreters that will recognize and respond to commands. The interpreters will display dots of various colors in a window. Interpretor 1 code + Interpretor 2 code + Interpretor 3 code + Input dialog box demo + Help message demo + Error message demo + Colored dot demo

Lab 6: Functions and Commands In this lab we are writing one program that features functions and one program that features commands. Surface Area of Cube code + Surface Area of Cube demo | Balloons code + Balloons demo | Alternate Balloons code + Alternate Balloons demo

Lab 7: String Thing The first program involves getting acquainted with some basic string processing functionality. The Second program makes you perform abstraction by introducing names(parameters) String Ops code + String Ops code demo | String Thing code + String Thing demo |

Programming Challenge 4: Nonrepresentional Artistic Expressions In this programming challenge we are asked to paint deterministic drawings in npw using private methods. Text Rectangles code + Text Rectangles demo | Rectangles of randomly colored, black framed squares code + Rectangles of randomly colored, black framed squares demo | Hirst Squares code + Hirst Squares demo | Hirst Dots code + Hirst Dots demo | Simple Dots code + Simple Dots demo | Deterministic Invention code + Deterministic Invention demo | Nondeterministic Invention code + Nondeterministic Invention demo | Stella code + Stella demo |

Lab 8: Array Play In this lab we are writing two programs that use the basics of array creating. The third program uses an array to copy a lyric file and create a file with the lyric backwards Primes + Primes demo | Streets code + Streets demo | Reverse Copy code + Song lyric + Reversed Song Lyric

Lab 9a: Simple List Processing In this lab we are writing three programs use the basic concepts and mechanisms with the ArrayList Primes + Primes demo | Streets code + Streets demo | Reverse Copy code + Song lyric + Reversed Song Lyric

Lab 10: Establishing and Using Classes This lab features two programs. The first program, Die, is a class which models a die - an object of chance that you tend to roll. The second program, Roller, creates and uses Die objects - instances of the Die class. Die code + Roller code + Roller demo |

Programming Challenge 5: Three List Interpreters In this programming challenge we were asked to write three programs that involve storage and manipulation of lists. The NumberList program of the arrayplay package + Number Set + NumberList demo | The WordList program of the arrayplay package + Word Set + WordList demo | The WordList program of the arraylistplay package + WordList demo |

Lab 11: Modeling Objects with Classes In this lab we were guided through the process of writing a class to Model a person. We created a class then created a demo to test our class. Person Specification + Person | Person Demo 1 code + Person Demo 1 | Person Demo 2 code + Person Demo 2 |

Lab 12: Grapheme to Color Synesthia This lab features a program that stimulates grapheme to color synesthia. It takes the form of an interpreter. Two parallel arrays are featured in the grapheme to color mapping. Grapheme to Color Synesthia code + Grapheme to Color Synesthia demo |

Lab 13: Chromesthesia Programs written to combine both npw and mmw using ABC notation that changes pitch according to what the user implements. Chromesthesia0 code + Chromesthesia Input box 0 + Chromesthesia0 Demo + Pitch 0 code | Chromesthesia1 code + Chromesthesia1 input box + Chromesthesia1 demo + Pitch1 code | Chromesthesia2 code + Chromesthesia2 input box + Chromesthesia 2 demo + Pitch2 code |

Programming Challenge 6: The Inflatable Household Programs to create images of a balloon family. BalloonPerson code + BalloonPerson Tester code + BalloonPerson demo| BalloonFamily code + BalloonFamilyTester code + BalloonFamily 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