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

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

Lab3 "Establishing a CS1 Work Site" Setting up a Web site to house programs and demos and a few miscellaneous links.

Programming Assignments 2: WorkSite" This site is now officially available to everyone on the Computer Science Server because of this Assignment!

Lab4 "Hello Shapes!" A set of programming examples and exercises designed to teach how to use java to calculate different shape based calculations, such as the side length and the diagnals of squares. ShapesThing code + ShapesThing demo | ExpressionsThing code + ExpressionsThing demo |

Lab5 "Hello Interpreters!" A set of programming examples and exercises designed to teach how to use java to build endless loops that will respond to commands. Interpreter1 code + Interpreter1 demo | Interpreter2 code + Interpreter2 demo | Interpreter3 code + Interpreter3 demo |

Lab6 "Hello Functions, Hello Commands!" A set of programming examples and exercises designed to teach about the difference between commands and functions, as well as what they are used for. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo |

Programming Assignment 3: Shapes World Problem Solving" Programs to create images in the Nonrepresentational Painting World (NPW) and sonic sequences the Modular Melody World (MMW) compute the area left in obstructed objects. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo

Lab7 "Hello Strings!" A set of programming examples and exercises designed to teach the commands belonging to the String type variable and somethings to do with them. StringOps code + StringOps demo | StringThing code + StringThing demo |

Lab8 "Hello Arrays!" A set of programming examples and exercises designed to teach how to use arrays in java. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy demo |

Lab9a "Hello ArrayLists!" A set of programming examples and exercises designed to teach how to use arraylists in java. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy demo |

Programming Assignment 4: Shapes World Problem Solving" Programs to create images in the Nonrepresentational Painting World (NPW) using more advanced coding. 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 | KanizsaSquare code + KanizsaSquare demo

Lab9b "Hello Streams!" A set of programming examples and exercises designed to teach how to use streams in java. ArrayListProcessing code + ArrayListProcessing demo || StreamArrayListProcessing code + StreamArrayListProcessing demo |

Programming Assignment 5: Shapes World Problem Solving" Programs to create images in the Nonrepresentational Painting World (NPW) using more advanced coding. NumberList code + NumberList demo| WordsList code + WordsList demo | WordsList code + WordsList demo

Lab10 "Hello Classes! Hello Dice!" A set of programming examples and exercises designed to teach how to build classes that are used in other classes in java. Die code | Roller code + Roller demo |

Lab11 "Hello People! Hello Interface!" A set of programming examples and exercises designed to teach how to build interfaces that are used in other classes in java as well as expanding on the class functionality. Person code | PersonSpecification code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo |

Lab12 "Hello Synesthesia!" A set of programming examples and exercises designed to color write whatever is typed to the input in color. GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia 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