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 2018 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.
Lab 1: "Hello World!" 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
Lab 2: "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
Lab 3: "Establishing a CS1 Work Site" Setting up a Web site to house programs and demos and a few miscellaneous links.
Lab 4: "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
Lab 5: "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 | Input Box demo | Help Message demo | Error Message demo | Random Dot demo
Lab 6: "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
Lab 7: "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
Lab 8: "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 + I<3U lyrics + I<3U lyrics reversed
Lab 9: "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 + Prey lyrics + Prey lyrics reversed
Lab 10: "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
Lab 11: "Modeling Objects with Classes" A first set of programming examples and exercises designed to establish a framework for learning to program. Person code | PersonSpecification | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo
Lab 12: "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 (NPR) and sonic sequences the Modular Melody World (MMW). OrangePlus code + OrangePlus demo | PumpItUp code + PumpItUp demo | Dots code + Dots demo | TwoFigureMinuetThing code + TwoFigureMinuetThing demo | MinuetFigureListener code + MinuetFigureListener demo | AfterJSB code + AFterJSB demo
Programming Assignment 2: "Shapes World Problem Solving" Programs to make use of the shapes functionality of the NPW world. BlackArea code + BlackArea demo | WhiteArea code + WhiteArea demo | RedArea code + RedArea demo | TheRoom code + TheRoom demo
Programming Assignment 3: "Nonrepresentational Artistic Expressions" An exploration of the notion of creativity under constraint. TextRectangles code + TextRectangles demo | Number1 code + Number1 demo | Number2 code + Number2 demo | Number3 code + Number3 demo | Number4 code + Number4 demo
Programming Assignment 4: "Three List Interpreters" An opportunity to engage in array processing and gain extra experience writing interpreters. NumberList code + NumberList demo | WordList code + WordList demo | WordList code + WordList demo