Dominic'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 | BasicListener code + BasicListener 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 "Expresions and Shaped World Problem Solving" Programs that involve arithmetic expressions and shapes from the NPW. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Lab5 "An Interpreter Featuring Loop Forever and Selection" Programs that uses interpreters to create various messages. Interpreter1 code + Interpreter2 code + Interpreter3 code | GREEN dot demo + Input Dialog demo + HELP Message demo + Error Message demo

Lab6 "Functions and Commands" Using functions and commands to constuct an image through stepwise refinement and modifications. Balloons code + Balloons demo | Alternate Balloons code + Alternate Balloons demo

Lab7 "String Thing" Using basic character string processing functionality through processing codes. String Ops code + String Ops demo | String Thing code + String Thing demo

Lab8 "Array Play" Programs that demonstrates the basics of array creation and array element referencing. Primes code + Primes demo | Streets code + Streets demo | Reverse Copy code + Reverse Copy Forwards demo + Reverse Copy demo | Reverse Copy Forwards Own demo + Reverse Copy Own code + Reverse Copy Own demo

Lab9a "Simple List Processing" Programs that basic concepts and mechanisms accociated with the array. Primes code + Primes demo | Streets code + Streets demo | Reverse Copy code + Reverse Copy Forwards demo + Reverse Copy Demo | Reverse Copy Own code + Reverse Copy Forwards Own demo + Reverse Copy Own demo

Lab9b "List Processing with Streams" Programs that uses explicit loops and functions to perform operations which can easily be composed to produce more complex operations. Array List Processing code + Array List Processing demo | Stream Array List Processing code + Stream Array List Processing demo

Lab10 "Establishing and Using Classes" Program that model a die and a program that rolls the object "die". Die code | Roller code + Roller demo

Lab11 "Modeling Objects with Classes" Programs that will model a person through intance viables and one constuctor. Person code | PersonSpecification code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo

Lab12 "Grapheme to Color Synesthesia" Program that simulates grapheme to color synesthesia. Grapheme to Color Synesthesia code + Grapheme to Color Synesthesia demo |

Programming Assignment 1: "Microworld Problem Solving" Programs to create images from the npw and create minuets in the 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" Making your web site available to the world.

Programming Assignment 3: "Shapes World Problem" Program using expressions to compute area. Expressions Thing code + Expressions Thing demo | Shipping Container code + Shipping Container demo | White Area code + White Area demo | Yellow Space code + Yellow Space demo |

Programming Assignment 4: "Nonrepresentational Artistic Expressions" several seperate java programs making use of 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 + Green Simple Dots demo | Blue Simple Dots demo | Red Simple Dots demo | Black Simple Dots demo | Invention 1 code + Invention 1 demo Invention 2 code + Invention 2 demo Stella code + Stella demo

Programming Assignment 5: "Three List Interpreters" Program using expressions to compute area. Number List code + Number List demo | Word List code + Word List demo | Word List code + Word List demo |

Programming Assignment 6: "Chromesthesia" Program that uses corresponding variants of a Java Class. This process will reinforce knowledge of incremental programming, class definition and use, and array processing, all within the context of a program that features a simple musical knowledge representation in the service of modeling a fascinating cognitive phenomenon. Chromesthesia0 code + Chromesthesia0 demo + Pitch code | Chromesthesia1 code + Chromesthesia1 demo + Pitch code | Chromesthesia2 code + Chromesthesia2 demo + Pitch code | Chromesthesia Error Box demo | Chromesthesia Input Box 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