Lee Myrie'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 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.

Course Work

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

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" Two programs were written. The first program involves arithmetic expressions. The second program involves shapes from the NPW. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Lab5 "An Interpreter Featuring Loop Forever and Selection" An interpreter can be defined as a program that recognizes and responds to commands. Three interpreters were written to produce colors and produce a help command. Interpreter1 code + Interpreter1 demo | Interpreter2 code + Interpreter2 demo | Interpreter3 code + Interpreter3 demo | Interpret3 Random Colored Canvas demo | Input Dialog Box demo | HELP Dialog Box demo | Error Message Dialog Box demo

Lab6 "Functions and Commands" Programs were written to define, use and identify functions and commands. A mechanism called Stepwise Refinement was also introduced as a means to automatically generate stubs for methods via suggestions for how one might proceed forward. The use of constructors and "if and "while" statements were also implemented when creating programs. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo

Lab7 "String Thing" Two programs were completed using basic string processing functionality and character string processing code. A degugging technique was also introduced through written explanation of what the interpretation of code is, along with a descriptive statement of the purpose it serves. StringOps code + StringOps demo | StringThing code + StringThing demo

Lab8 "Array Play" Three programs were written involving arrays. Two of such programs used involved the creation of arrays and referencing elements within an array. The third program involves array processing and provides examples of file IO (input and output) by analogy and problem solving using a realistic model. Primes code + Primes demo | ReverseCopy code + ReverseCopy demo | Streets code + Streets demo

Lab9 "Simple List Processing" Three programs were written involving arrays. The programs involve introduction to the basic concepts and mechanisms of arrays. Primes code + Primes demo | ReverseCopy code + ReverseCopy demo | Streets code + Streets demo

Lab10 "Establishing and Using Classes" Two programs were written to define, use and identify functions and commandare featured,"Die" and "Roller". Die is a class is modeled by a die - an object of chance that you tend to roll. Roller creates and uses Die objects - instances of the Die class. Die code | Roller code + Roller demo

Lab11 "Modeling Objects with Classes" Object-oriented programing as a guide through the process of writing a class to model a person. Instance variables, constructor, and a method will be given to write program. Person code | PersonDemo1 code | PersonDemo2 code | PersonSpecification code

Lab12 "Grapheme to Color Synesthesia" Programming ought to be a key part of the intellectual development of people growing up ... For this reason, this lab simulates grapheme to color synesthesia. It takes the form of an interpreter. Strings and arrays are featured to perfom computations to produce the appropriate mapping. The simple painter class supports the graphics processing. Grapheme To Color Synesthesia code + Grapheme To Color Synesthesia Colorful Letters demo | Grapheme To Color Synesthesia Input Box demo

Lab13 "Chromesthesia | (Also served as Programming Assignment 5)" Use both NPW and MMW worlds to simulate the experiece of a chromesthete. Chromesthesia code + Chromesthesia demo code + Pitch code + Input Box + Image Output

Programming Challenges

Programming Assignment 1: "Microworld Problem Solving" Programs to create images in the Nonrepresentational Painting World (NPR) and sonic sequences the Modular Melody World (MMW). OrangePlus code + OrangePlus demo | PumpItUp code + PumpItUp demo | Dots code + Dots demo | TwoFigureMinuetThing code + TwoFigureMinuetThing demo | MinuetFigureListener code + MinuetFigureListener demo | AfterJSB code + AfterJSB demo

Programming Assignment 2: "Enabling Your Web Work Site" Edit and establish the availability of site to the world. Demo was presented in conjunction with Programing Assignment 1 and Lab 3.

Programming Assignment 3: "Shapes World Problem Solving" Four separate Java programs were written, all in the context of the NPW. The shapes functionality was used but not the painter functionality. BlackArea code + BlackArea demo | WhiteArea code + WhiteArea demo | RedArea code + RedArea demo | TheRoom code + TheRoom demo

Programming Assignment 4: "Nonrepresentational Artistic Expressions" Programs to create images in the Nonrepresentational Painting World (NPR) and sonic sequences the Modular Melody World (MMW). TextRectangles code + TextRectangles demo | Number1 code + Number1 demo | Number2 code + Number2 demo | Number3 code + Number3 demo | Number4 code + Number4 demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | Stella code + Stella demo (1st example, Translucent Colors) Stella demo (2nd example, Solid Colors) Stella demo (3rd example, Translucent Colors) Stella demo (4th example, Solid Colors) Stella demo (5th example, Translucent Colors)

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