Kira'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" Opportunities to explore the computational solution to simple geometrical problems by means of the construction and use of basic shapes. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Lab5 "An Interpreter Featuring Loop Forever and Selection" This lab requests the coder to write a sequence of interpreters. Interpreters are programs that recognize and respond to commands. The interpreters will display dots of various colors in a window. Input will be obtained through one kind of dialogue box. Output will be displayed by a different type of dialogue box. Interpreter1 code + Input Box demo + BlueDot demo + RedDot demo + Error demo | Interpreter2 code + YellowDot demo + GreenDot demo | Interpreter3 code + Help demo + Random demo

Programming Assignment 3: "Shapes World Problem Solving" This assignment is to write four separate Java programs in the context of the NPW. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo

Lab6: "Functions and Commands" This lab teaches you what functions and commands are in Java. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo

Lab7: "StringThing" This lab provided an opportunity to become more familiar with basic character string processing functionality and writing character string processing code. StringOps code + StringOps demo | StringThing code + StringThing demo

Lab8: "Array Play" This lab created and broke down arrays. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + Original ReverseCopy code + Altered ReverseCopy code

Programming Assignment 4: "Nonrepresentational Artistic Expressions" This assignment creates Java classes in the npw package that do numerous amount of things. 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 | Stella code + Stella demo

Lab9a: "Array Simple List Processing" This lab created and broke down arrays using the ArrayList processing functionality. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + Original ReverseCopy code + Altered ReverseCopy code

Lab9b: "List Processing with Streams" This lab created two programs that perform common processing tasks on list structures. ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code + StreamArrayListProcessing demo

Programming Assignment 5: "Three List Interpreters" This assignment creates three Java programs pertaining to the storage and manipulation of lists. Two will feature arrays and one will feature an ArrayList. NumberList code + NumberList demo | WordList code + WordList demo | WordList code + WordList demo

Lab10: "Establishing and Using Classes" This lab created different sided die and rolled them. Die code | Roller code + Roller demo

Lab11: "Modeling Objects with Classes" This lab guides the author through the process of witing a class . Person Specification code | Person code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo

Lab12: "Grapheme to Color Synesthesia" This lab creates a text box that displays the input colorfully. Grapheme To Color Synesthesia code + Grapheme To Color Synesthesia demo

Programming Assignment 6: "Chromesthesia" This assignment creates notes and plays them and displays different colors depending on the note played. Chromesthesia(1) code | Pitch(1) code | Chromesthesia(2) code | Pitch(2) code | Input Box demo | Note 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