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.
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: "More Creative Activities"
Slightly more advanced programs using the Nonrepresentational Painting World (NPW) and Modular Melody World (MMW).
KanizsaSquare code +
KanizsaSquare demo |
/Dots code +
/Dots demo |
AfterBach code +
AfterBach demo |
ProjectCat code +
ProjectCat demo
(note: ProjectCat is the extra credit program, each time Cat.java is run the cat's eyes will be a different color of green!)
Lab4 "Shapes and Expressions Thing .-." These programs focus more on variables in code and getting data in numerical value. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo
Lab5 "Messing with Interpreters." The Interpreter programs use if and while statements to call for different color dots. *note* Help commands are together in one picture, (top is from Interpreter 1, bottom is from Interpreter 3). Also note that the demos are the ones that don't say code, I just thought it was confusing to add demo at th end in this case. Interpreter1 code + Blue Circle (In 1, 2 and, 3) | Red Circle (In 1, 2 and, 3) + Interpreter2 code | Green Circle (In 2, and 3) + Yellow Circle (In 2, and 3) | Interpreter3 code + RandColor Circle (In 3) | Run Help (From 1, 2 and 3) + EXIT/QUIT Message (From 1, 2 and 3)
Programming Challenge 3: "Shapes World Problem Solving" These challenges use the shape world functions without the painter function. They are largely based in geometry, and shape logic. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | GreySpace code + GreySpace demo | ShippingContainer code + ShippingContainer demo
Lab6 "Area of a Cube and Balloons" The first part of this lab is to find the area of a cube, the more fun programs are later working with colorful balloons. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo
Lab7 "String Thing and String Ops" This lab focused on two string related programs. The first is StringOps which uses basic strings to do stuff, and StringThing which is a bit more advanced. StringOps code + StringOps demo | StringThing code + StringThing demo
Programming Challenge 4: "Nonrepresentational Artistic Expressions" These challenges use the npw and shapes functionality. They also use while loops and if statements to effect the images gotten. TextRectangles code + TextRectangles demo | Number1 code + Number1 demo | Number2 code + Number2 demo | Number3 code + Number3 demo | Number4 code + Number4 demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | Stella code + Stella demo
Lab8: "Array Play"
This lab messes with arrays, there are three classes I made. The ReversedCopy files are in CSFiles > data. I moved them to arrays folder to make them viewable on the website.
Primes code +
Primes demo |
Streets code +
Streets demo |
ReverseCopy code +
Song(EineKleine) demo |
Song(EineKleine)Reversed demo
Also sorry in advance for the sad song, I just like this song.
Lab9a: "ArrayList Play"
This lab basically contains the same programs as in lab 8, but instead built using ArrayList.
Primes2 code +
Primes2 demo |
Streets2 code +
Streets2 demo |
ReverseCopy2 code +
Song(SleepyPuppies) demo |
Song(SleepyPuppies)Reversed demo
I put the song SleepyPuppies because I am currently tired.
Programming Challenge 5: "Three List Interpreters"
This lab works more with Arrays and ArrayList to make three programs that mess with the Lists in the Array and ArrayLists. There is one Int Array, one String Array, and one String ArrayList.
TheNumberList code +
TheNumberList demo |
TheWordList code +
TheWordList demo |
TheWordList2 code +
TheWordList2 demo
TheWordList is an Array. TheWordList2 is an ArrayList.
Animation: "Color Randomized Animation"
This program can be used to run a randomized shape animation I created for practice, using ArrayLists.
Animation code +
RandomizedEndingImage
This is not to be Graded it is just here for fun.
If You'd like to see the Animation just run the program in Itellij.
Lab10: "Establishing and Using Classes" This lab contains two programs. The first is the Die Program, which is a class. The second is Roller which uses the Die class to roll a die. (Creates Die objects... instances of Die Class) Die class code + Roller code | Roller demo using Die class
Lab11: "Modeling Objects with Classes" The lab focuses on Object Oriented Programming, it contains a class based on the date of birth and age of a person object, modeling a real life person. This is similar to the Die lab but with a few more steps. Person class code + PersonSpecification interface code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo It is weird writing Demo twice.
Lab12: "Grapheme to Color Synesthesia" This program uses arrays to mimic Color Synesthesia of letters. It's probably one of my favorite programs we have made so far. SSPainter is used. GraphemeToColor code + RemapGraphemeToColor demo | WordsGraphemeToColor demo
Lab13: "Chromesthesia Pitch to Color" This lab is made up of six classes, two of each in their own package. In package chromesthesia0, chromesthesia1, chromesthesia2, there is one Pitch and one Chromesthesia. These are different varitions of the same type of program. Which is a program to change notes to colors. chromesthesia0 Chromesthesia code + chromesthesia0 Pitch code | chromesthesia0 Input demo + chromesthesia0 Color demo | chromesthesia1 Chromesthesia code + chromesthesia1 Pitch code | chromesthesia1 Input demoA + chromesthesia1 Color demoA | chromesthesia2 Chromesthesia code + chromesthesia2 Pitch code | chromesthesia2 Input demoB + chromesthesia2 Color demoB | abcNotes Stored
Programming Challenge 6: "The Inflatable Household" this programming challenge models two classes, one for a balloon person, and another using the balloon person array to make a balloon family. BalloonFamily class code + BalloonFamilyTest code | BalloonFamily demo + BalloonPerson class code | BalloonPersonTest code + BalloonPerson demo | BalloonPerson WordOuput + BalloonFamily WordOuput