Richmond'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 | 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.

Lab4 "Expressions and Shapes World Problem Solving" Programs to practice using parenthesis and types with abstraction ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Lab5 "An Interpreter Featuring Loop Forever and Selection" Practice using loops and else statements Interpreter1 code + Interpreter2 code + Interpreter3 code | Interpreter3random demo Interpreter3dialogbox demo Interpreter3HELPmessage demo Interpreter3errormessage demo

Lab6 "Functions and Commands" Practice using functions and commands. Use stepwise refinement, program modification, and practice using while/if statements SurfaceAreaOfCube code + SurfaceAreaOfCube demo1 + SurfaceAreaOfCube demo2 | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo

Programming Assignment 3" Programs to use the shapes functions of the npw microworld in order to conceptualize shapes, without actually creating them. The shapes and functions allow to give solutions to realworld problems. It provides practice using types, variables, problem decomposition, and infrastructural elements of the language. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo

Lab7 "String Thing" Learn and practice using string functionality. Then use this practice to build upon a program template that will require thinking, critically and abstractly, about how methods are used and called, all in relation to string functionality. StringOps code + StringOps demo | StringThing code+ StringThing demo

Lab8 "Array Play" Learn ray functionality and learn some basic concepts with file IO, file processing, exceptions, and system properties. Primes code + Primes demo | Streets code+ Streets demo| ReverseCopy code+ File input to ReverseCopy.java+ File output to ReverseCopy.java

Lab9a "Simple List Processing" Use ArrayLists to get familiar with the benefits of using them and how they differ from Arrays. Learn through use of provided code how ArrayLists function and build off the provided code in the process. Primes code + Primes demo | Streets code+ Streets demo| ReverseCopyList code+ File input to ReverseCopyList.java+ File output to ReverseCopyList.java

Lab9b "List Processing with Streams" Practice using Lists and for loops. Work with the outlines of two similar programs to use functions to create new Lists. Build functions off of these to achieve desired results. Work with streams to achieve desired results in the second program. ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code+ StreamArrayListProcessing 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