Alaina McMahon'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

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 that use arithmetic expressions and shapes from the Nonrepresentational Painting World (NPW). ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Lab5 "An Interpreter Featuring Loop Forever and Selection" Program to use three interpreters to display different colored dots with input and output displayed with dialog boxes. Interpreter1 code | Interpreter2 code | Interpreter3 code + Interpreter3 dot demo + Interpreter3 input demo + Interpreter3 error demo + Interpreter3 help menu demo

Lab6 "Functions and Commands" Program that uses functions and commands to paint randomly generated circles in a canvas. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo |

Lab7 "String Thing" Program that utilizes basic character string processing functions while writing string processing codes. StringOps code + StringOps demo | StringThing code + StringThing demo |

Lab8 "Array Play" Program that makes use of arrays and arraylists in order to learn about their functions. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy lyrics + ReverseCopy reverse order |

Lab9a "Simple List Processing" Program that utilizes basic character string processing functions while writing string processing codes. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy lyrics + ReverseCopy reverse order |

Lab9b "List Processing with Streams" Program that utilizes basic character string processing functions while writing string processing codes. ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code + StreamArrayListProcessing demo |

Lab10 "Establishing and Using Classes" Program that uses a Die class to create Die objects. Die code | Roller code + Roller demo |

Lab11 "Modeling Objects with Classes" Program that utilizes basic character string processing functions while writing string processing codes. Person code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo |

Lab12 "Grapheme to Color Synesthesia" Program that simulate grapheme to color synesthesia by using parallel arrays. GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia 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

Programming Assignment 3: Shapes World Problem Solving Programs to create images in the Nonrepresentational Painting World (NPW) using the shapes functionality. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo |

Programming Assignment 4:Nonrepresentational Artistic Expressions Programs to create images in the Nonrepresentational Painting World (NPW) making use of loops. TextRectangles code + TextRectangles demo | CircleOfSquares code + CircleOfSquares demo | HirstDots code + HirstDots demo | SimpleDots code + SimpleDots demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | Stella code + Stella demo |

Programming Assignment 5: Three List Interpreters Programs to work with Arrays and ArrayList porcessing. NumberList code + NumberList demo | WordList code + WordList demo | WordList code + WordList demo |

Programming Assignment 6:Chromesthesia These programs utilize the capabilities of the npw and the mmw to simulate the experience of a chromesthete. Chromesthesia0 code + ChromesthesiaBox demo | Chromesthesia demo | Chromesthesia1 code | Chromesthesia2 code | Pitch code |

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