John Franklin'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 expressions and geometric shapes in the context of the course. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo

Lab5 "An Interpreter Featuring Loop Forever and Selection!" Writing a sequence of three interpreters Intepreter 1 Code + Interpreter 2 Code + Interpreter 3 Code | Interpreter 3 Random Dot Demo + Interpreter 3 Dialog Box Demo + Interpreter 3 Help Dialog Box + Interpreter 3 Error Message Dialog Box|

Assignment 3 "Shapes World Problem Solving" Solving 4 different problems in java, within the context of the NPW. MessyDesk Code + MessyDesk demo | WhiteArea Code + WhiteArea demo| YellowSpace code + YellowSpace demo | ShippingContainer Code + ShippingContainer Demo |

Lab6 "Functions and Commands" A lab to help students understand the distinction between functions and commands, stepwise refinement, if and while statements. AlternateBalloons Code + AlternateBalloons Demo | Balloons Code + Balloons Demo |

Lab7 "String Thing" Understanding Strings and their functions. StringOps Code + StringOps Demo | StringThing Code + StringThing Demo|

Lab8 "Array Play" Understanding what arrays are and how they work. Primes Code + Primes Demo | Streets Code + Streets Demo | ReverseCopy Code + Original lyrics + lyrics in reverse|

Lab 9a "Simple List Processing" Working with Arraylists, how they differ from Arrays. Primes Code+ Primes Demo | Streets Code+ Streets Demo| Reverse Copy Code+ Original lyrics + lyrics in reverse|

Assignment 4 "Nonrepresentational Artistic Expressions" Write several java programs in the context of the npw. 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|

Lab 9b "List Processing with Streams" Write two programs that process stuff with list structures Array List Processing code+ Array List Processing Demo| Array list Processing with streams code+ Stream Array List Processing Demo|

Assignment 5 "Three list Interpreters" Word List code+ Word List Demo(arraylist)| Word List Code + Word List Demo| Number list Code+ Number list Demo|

Lab 10 "Establishing and Using Classes" Die Source Code| Roller Source Code+ Roller Demo

Lab 11 "Modeling Objects with Classes" Person Source Code| Person1 Code+ Person1 Demo Code| Person2 Code + Person 2 Demo| Person Specification Code |

Lab 12 "Grapheme to Color Synesthesia" Grapheme to Color Synesthesia Source Code+ Grapheme to Color Synesthesia Demo|

Assignment 6 "Chromesthesia" chromesthesia0 Pitch Source Code+ chromesthesia0 Chromesthesia Source Code| chromesthesia0 Chromesthesia Input Box+ chromesthesia0 Chromesthesia Demo| chromesthesia1 Pitch Source Code+ chromesthesia1 Chromesthesia Source Code| chromesthesia1 Chromesthesia Input Box+ chromesthesia1 Demo| chromesthesia2 Pitch Source Code + chromesthesia2 Chromesthesia Source Code| chromesthesia2 Choromesthesia Input Box+ chromesthesia2 Chromesthesia before "again" command+ chromesthesia2 Chromesthesia again input+ chromesthesia2 Chromesthesia again 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