Kuncheng'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"

Arithmetic expression and shapes.
ExpressionThing + ExpressionThingDemo | ShapesThing + ShapesThingDemo

Lab5 "An Interpreter Featuring Loop Forever and Selection"

A program that recognizes and responds to commands and display dots.
Interpreter1 + Interpreter2 + Interpreter3 + Demo1 + Demo2 + Demo3 + Demo4

Programming Assignment 3: "Shapes World Problem Solving"

Problem decomposition & Imaginative construction.
WorkArea + WorkArea Demo | WhiteArea + WhiteArea Demo | YellowSpace + YellowSpace Demo + YellowSpace Demo2 | ShippingContainer + ShippingContainer Demo

Lab6 "Functions and Commands"

One program that features functions and two programs that features commands.
SurfaceAreaOfCube + SurfaceAreaOfCubeDemo | Balloons + BalloonsDemo | AlternateBalloons + AlternateBalloonsDemo

Lab7 "String Thing"

Two programs that process character strings.
StringOps + StringOpsDemo | StringThing + StringThingDemo

Lab8 "Array Play"

Three programs that involve arrays.
Primes + PrimesDemo | Streets + StreetsDemo | ReverseCopy + ReverseCopyDemo1 + ReverseCopyDemo2

Programming Assignment 4: "Nonrepresentational Artistic Expressions"

Three programs that involve arrays.
TextRectangles + TextRectangleDemo | CircleOfSquares + CircleOfSquaresDemo | HirstSquares + HirstSquaresDemo | HirstDots + HirstDotsDemo |
SimpleDots + SimpleDotsDemo | Invention1 + Invention1Demo | Invention2 + Invention2Demo | Stella + StellaDemo

Lab9a "Simple List Processing"

Three programs that involve ArrayList.
Primes + PrimesDemo | Streets + StreetsDemo | ReverseCopy + ReverseCopyDemo1 + ReverseCopyDemo2

Lab9b "List Processing with Streams"

Two programs which perform common processing tasks on list structures.
ArrayListProcessing + ArrayListProcessingDemo | StreamArrayListProcessing + StreamArrayListProcessingDemo

Lab10 "Establishing and Using Classes"

Two programs, one models a die and one creates and uses Die objects.
Die + Roller + RollerDemo

Programming Assignment 5: "Three List Interpreters"

Three programs that process and manipulates arrays and ArrayList.
NumberList + NumberListDemo | WordList + WordListDemo | WordList(with ArrayList) + WordListDemo

Lab11 "Modeling Objects with Classes"

Writing a class to model a person with 5 properties.
Person + PersonSpecification | PersonDemo1 + PersonDemo2 | PersonDemoOutput

Lab12 "Grapheme to Color Synesthesia"

Cooperate arrays and strings to color maping.
GraphemeToColorSynesthesia + GraphemeToColorSynesthesiaDemo

Lab13 / Programming Assignment 6: "Chromesthesia"

Maps pitch classes to colors
Chromoesthesia0 + Pitch + TextDemo + Demo1 + Demo2 |
Chromoesthesia1 + Pitch + TextDemo + Demo1 + Demo2 |
Chromoesthesia2 + Pitch + TextDemo + Demo1 + Demo2 + Demo3

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