Samantha Morgan'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" A first set of programming examples and exercises designed to establish a framework for learning to program. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Lab5 "An Interpreter Featuring Loop Forever and Selection" A first set of programming examples and exercises designed to establish a framework for learning to program. Interpreter1 code | Interpreter2 code | Interpreter3 code + Interpreter3 random colored dot demo + Interpreter3 input dialog box demo + Interpreter3 help demo + Interpreter3 error demo

Lab6 "Functions and Commands" A first set of programming examples and exercises designed to establish a framework for learning to program. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo

Lab7 "String Thing" A first set of programming examples and exercises designed to establish a framework for learning to program. StringOps code + StringOps demo | StringThing code + StringThing demo

Lab8 "Array Play" A first set of programming examples and exercises designed to establish a framework for learning to program. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + CountryRoads text + CountryRoadsReversed text

Lab9a "Simple List Processing" A first set of programming examples and exercises designed to establish a framework for learning to program. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + SunriseSunburnSunset text + SunriseSunburnSunsetReversed text

Lab9b "List Processing With Streams" A first set of programming examples and exercises designed to establish a framework for learning to program. StreamArrayListProcessing code + StreamArrayListProcessing demo

Lab10 "Establishing and Using Classes" A first set of programming examples and exercises designed to establish a framework for learning to program. Die code | Roller code + Roller demo

Lab11 "Modeling Objects with Classes" A first set of programming examples and exercises designed to establish a framework for learning to program. Person code | PersonSpecification code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo

Lab12 "Grapheme to Color Synesthesia" A first set of programming examples and exercises designed to establish a framework for learning to program. 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 demonstrate the ability to make use of the problem solving strategy of problem decomposition and imaginative construction. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo

Programming Assignment 4: Nonrepresentational Artisitc Expressions Programs to create images in the Nonrepresentational Painting World (NPW) and sonic sequences the Modular Melody World (MMW). 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

Programming Assignment 5: Three List Interpreters Programs to demonstrate the ability to make use of the problem solving strategy of problem decomposition and imaginative construction. NumberList code + NumberList demo | WordList code + WordList demo | WordList2 code + WordList2 demo

Programming Assignment 6: Lab13 Chromesthesia Programs to create images in the Nonrepresentational Painting World (NPW) and sonic sequences the Modular Melody World (MMW). Chromesthesia code | Pitch code | InputBox | Canvas 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