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 Spring 2023 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). OrangeSquares code + OrangeSquares 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.
Lab4 "Expressions and Shapes World Problem Solving" Two program: One called 'Expressions Thing" involving arithmetic expression and the other program named "ShapesThing" involving shapes from the Nonrepresentational Painting World. 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 + RandomDot demo+ InputDiaglog demo+ ErrorMesage demo+ HelpDialog demo
Programming Challenge 2: Microworld Problem Solving" Programs to create images in the Nonrepresentational Painting World (NPW) and sonic sequences the Modular Melody World (MMW). KaniszaSquare code + KaniszaSquare demo | Dots code + Dots demo | AfterJSB code + AfterJSB demo
Programming Challenge 3: "Shapes World Problem Solving" WorkSpace code + WorkSpace demo | DominoWhiteSpace code + DominoWhiteSpace demo| GreenSpace code + GreenSpace demo | ShippingContainer code + ShippingContainer demo
Lab6 "Functions and Commands" Programs to calculate and print surface area of a cube and to paint balloons of varying sizes, numbers, and colors in the context of the npw. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Ballons code + Balloons demo | AlternateBalloons code+ AlternateBalloons demo
Lab7 "String Thing" Programs that provides opportunity to get acquainted with some basic character string processing functionality and their code. StringOps code + StringOps demo | StringThing code + StringThing demo
Programming Challenge 4:" Nonrepresentational Artistic Expressions" Programs to create images in the Nonrepresentational Painting World (NPW). TextRectangles code + TextRectangles demo | AbstractGradient code + AbstractGradient demo | ColorfulAbstractGradient code + ColorfulAbstractGradient 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 related to array creation and array element referencing as well as writing their reverse copy. Primes code + Primes demo | ReverseCopy code + ReverseCopy demo | ReverseCopyOutput demo | Streets code + Streets demo
Lab9 "Simple List Processing" Programs related to array creation and array element referencing as well as writing their reverse copy. Primes code + Primes demo | ReverseCopy code + ReverseCopy demo | ReverseCopyOutput demo | Streets code + Streets demo
Lab10 "Establishing and Using Classes" Programs that model a die and make instances of the die. Die code | Roller code + Roller demo
Lab11 "Modeling Objects with Classes" Programs to write a class to model a person. Person Class code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo | PersonSpecification code