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 2018 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.
Lab1 "Hello World!" 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
Assignment 1 "Six Little Java Programs" Programs to create images in the Nonrepresentational Painting World (NPR) and the Modular Melody World (MMW). Orange Plus code + Orange Plus demo | Pump It Up code + Pump It Up demo | Dots code + Dots demo | Two Figure Minuet Thing code + Two Figure Minuet Thing demo | Minuet Figure Listener code + Minuet Figure Listener demo | After JSB code + After JSB 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 solve problems by constructing arithmetic expressions and basic shapes. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo
Assignment 2 "Enabling Your Web Work Site" Making the CS1 Work Site available to the world, and present it by means of a well-define demo to one of the CS1 TAs. Link to the Work Site: Ka Ying's CS1 Work Site
Assignment 3 "Shapes World Problem Solving" Program to solve mathematical problems by using the shapes functionality of the NPW world. The Card Table code + The Card Table demo | The Standard Die code + The Standard Die demo | The Red and Blue Table code + The Red and Blue Table demo | The Room code + The Room demo
Lab5 "An Interpreter Featuring Loop Forever and Selection" Programs that present interpreters which feature loo[ forever and selection. Interpreter1 code | Interpreter2 code | Interpreter3 code | Demo Images: A colored dot in a canvas + An input dialog box + An error message dialog box + A help menu dialog box
Lab6 "Functions and Commands" Programs that features functions and commands. Surface Area Of Cube code + Surface Area Of Cube demo | Balloons code + Balloons demo | Alternate Balloons code + Alternate Balloons demo
Lab7 "String Thing" Programs that provide opportunities to get acquainted with some basic character string processing functionality and to write some character string processing code. String Ops code + String Ops demo | String Thing code + String Thing demo
Assignment 4 "Nonrepresentational Artistic Expressions" Programs that, with one exception, make use of both the painting functionality and the sahpes functionality of the Nonrepresentational Painting World (NPW). Text Rectangles code + Text Rectangles demo | Rectangles of Randomly Colored, Black Framed Squares code + Rectangles of Randomly Colored, Black Framed Squares demo | Hirst Square code + Hirst Square demo | Hirst Dots code + Hirst Dots demo | Simple Dots code + Simple Dots demo | Deterministic Invention code + Deterministic Invention demo | Nondeterministic Invention code + Nondeterministic Invention demo | Stella code + Stella demo
Lab8 "Array Play" Programs that feature the basics of array creation, array element referencing, and array processing, and illustrate file IO by solving a relatively realistic problem. Primes code + Primes demo | Streets code + Streets demo | Reverse Copy code + Lyrics Text Files: If I Die Young Original Lyrics + If I Die Young Reversed Lyrics
Lab9 "Simple List Processing" Programs that feature the basics of ArrayList creation, ArrayList element referencing, and ArrayList processing, and illustrate file IO by solving a relatively realistic problem. Primes code + Primes demo | Streets code + Streets demo | Reverse Copy code + Lyrics Text Files: Sleeping Beauty Original Lyrics + Sleeping Beauty Reversed Lyrics
Lab10 "Establishing and Using Classes" Establish a class and use it in a program. Die(class) code | Roller code + Roller demo
Lab11 "Modeling Objects with Classes" Programs that feature writing a class, defining and implementing an interface, and using the class and the interface to modify programs. Person Specification(interface) code | Person(class) demo | Person Demo 1 code + Person Demo 1 demo | Person Demo 2 code + Person Demo 2 demo
Lab12 "Grapheme to Color Synesthesia" Program to simulate the phenomenon known as grapheme to color synesthesia. Grapheme to Color Synesthesia code + Demo images: Image 1 Image 2
Lab13/Assignment 5 "Chromesthesia" Program to simulate Chromesthesia by using NPW and MMW. Pitch(class) code Chromesthesia code + Demo images: Input Dialog Box + Note C with its corresponding color + Error Message