Rachel'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

Lab 1: "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

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 set of programming examples and exercises designed to establish a framework for learning how to use arithmetic expressions and shapes. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Lab 5: "An Interpreter Featuring Loop Forever and Selection" A set of programming exercises designed to establish a framework for learning how to use Interpreters. Interpreter1 code | Interpreter2 code | Interpreter3 code

A set of programming examples that demonstrate a colored dot in a canvas, an input dialog box, an error message dialog box, and a help menu dialog box. Colored Dot demo | Input Dialog Box demo | Error Message Dialog Box demo | Help Menu Dialog Box demo

Lab 6: "Functions and Commands" A set of programming examples and exercises designed to establish a framework for learning how to use functions and commands. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Ballons code + Ballons demo | AlternateBalloons code + AlternateBalloons demo

Lab 7: "String Thing" A set of programming exercises designed to get acquainted with some of the basic character string processing functionality. StringOps code + StringOps demo | StringThing code + StringThing demo

Lab 8: "Array Play" A set of programming exercises designed to get acquainted with some of the basics of array creation and element referencing, as well as using file IO to solve problems. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy-Song Lyric File + ReverseCopy-Reversed Song Lyric File

Lab 9a: "Simple List Processing" A set of programming exercises designed to get acquainted with basic concepts and mechanisms associated with the ArrayList. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy-Song Lyric File + ReverseCopy-Reversed Song Lyric File

Lab 9b: "List Processing with Streams" A set of programming exercises designed to perform common processing tasks on list structures. ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code + StreamArrayListProcessing demo

Lab 10: "Establishing and Using Classes" A set of programming examples and exercises designed to establish a framework for learning how to use the Die class and Die objects. Die code | Roller code + Roller demo

Lab 11: "Modeling Objects with Classes" A set of programming exercises designed to craft a class from scratch, establish/implement a java interface, and write test programs. Person code | PersonSpecification code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo

Lab 12: "Grapheme to Color Synesthesia" This lab features a program that simulates grapheme to color synesthesia using an interpreter and two 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 2: "Enabling Your Web Work Site" Get your Web Work Site in order, make it available to the world, and present it by means of a well-defined demo.

Programming Assignment 3: "Shapes World Problem Solving" A set of programming exercises designed to make use of problem solving strategies such as problem decomposition and imaginative construction. Messy Desk code + Messy Desk demo | Standard Die code + Standard Die demo | Yellow Space code + Yellow Space demo | Shipping Container code + Shipping Container demo

Programming Assignment 4: "Nonrepresentational Artistic Expressions" A set of programming exercises designed to make use of both the painter functionality and the shapes functionality of the world. Text Rectangles code + Text Rectangles demo | Circle Of Squares code + Circle Of Squares demo | Hirst Squares code + Hirst Squares demo | Hirst Dots code + Hirst Dots demo | Simple Dots code + Simple Dots demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | Stella code + Stella demo

Programming Assignment 5: "Three List Interpreters" A set of programming exercises designed to write three separate Java programs, all pertaining to the storage and manipulation of lists. NumberList code + NumberList demo | WordList program of the arrayplay package code + WordList program of the arrayplay package demo | WordList program of the arraylistplay package code + WordList program of the arraylistplay package demo

Assignment 6 (Lab 13): "Chromesthesia" A programming exercise that makes good use of the NPW and the MMW.It will stimulate the experience of a chromesthete. Chromesthesia code + Pitch code + Input box demo + Chromesthesia 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