David Ilanjian'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" A set of programming exercises designed to establish a framework for arithmetic. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo |

Lab5 "Interpreters" A set of programming exercises designed to establish a framework for Interpreters with Loop Forever and Selection. Interpreter1 code + Interpreter1 demo + Interpreter1 help message + Interpreter1 error message | Interpreter2 code + Interpreter2 demo + Interpreter2 help message + Interpreter2 error message | Interpreter3 code + Interpreter3 demo + Interpreter3 help message + Interpreter3 error message |

Lab6 "Functions and Commands" Programming exersizes designed to display instructions that output results using certain methods with Functions and Commands. SurfaceAreaOfCube code + SurfaceAreaOfCube demo1 + SurfaceAreaOfCube demo2 | Balloons code + Balloons demo | AlternativeBalloons code + AlternativeBalloons demo |

Programming Assignment 3: Shapes World Problem Solving" Using four seperate Java programs in the context of the NPW, problem solving strategies will be utilized such as imaginative construction, and problem decomposition in the attempt to gain considerable practice in the creation and use of "objects to think with". WorkArea code + WorkArea demo | WhiteArea code + WhiteArea code | YellowSpace code + YellowSpace demo | ShippingContainer code + ShippingContainer demo |

Lab7 "String Thing" Java programs used to perform demonstrations using parameters and positions to output specific results within naming methods StringOps code + StringOps demo | StringThing code + StringThing demo |

Lab8 "Array Play" Programs used to generate outputs using string lengths and given vaules for displaying list arrays Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy input + ReverseCopy demo |

Lab9a "Simple List Processing" Programs used to generate outputs using string lengths and given vaules for displaying list arrays in the form of ArrayList Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy input + ReverseCopy demo |

Programming Assignment 4: Nonrepresentational Artistic Expressions" Using Java programs in the context of the NPW, the drawing world will be utilized in the attempt to generate outputs that will display interesting works of art with the use of shapes. TextRectangles code + TextRectangles demo | CircleOfSquares code + CircleOfSquares demo | HirstSquares code + HirstSquares demo | HirstDots code + HirstDots demo | SimpleDots code + SimpleDots prompt + SimpleDots demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 first demo + Invention2 second demo | Stella code + Stella demo |

Lab9b "List Processing with Streams" Programs used to generate outputs using string lengths and lambda/anonymous and given vaules for displaying list arrays in the form of ArrayList ArrayListProcessing code + ArrayListProcessing demo | StreamArrayListProcessing code + StreamArrayListProcessing demo |

Lab10 "Establishing and Using Classes" Programs used to generate outputs using string lengths and lambda/anonymous and given vaules for displaying list arrays in the form of ArrayList Die code | Roller code + Roller demo |

Programming Assignment 5: Three List Interpreters" Using Java programs in the context of arrays and arraylists, a set of numbers and a set of words will be utilized using certain commands granted to the user NumberList code + NumberList demo | WordList code + WordList demo | WordList code + WordList demo |

Lab11 "Modeling Objects with Classes" Programs used to output data related to names and birthdays with their classifications PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo | Person code | PersonSpecification code |

Lab12 "Grapheme To Color Synesthesia" Programs using parallel arrays in the form of an interpreter would simulate graphemes to color synesthesia GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia demo + GraphemeToColorSynesthesia remap |

Lab13/Programming Assignment 6 "Chromesthesia" Programs using musical notes would generate a canvas with a color that was assigned to the note Chromesthesia code + Chromesthesia prompt + Chromesthesia demo + Pitch code |

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