Kavyani'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 Sping 2020 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

Lab-2 "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). RedX code + RedX demo | PumpItUp code + PumpItUp demo | Dots code + Dots demo | TwoFigureMinuetThing code + TwoFigureMinuetThing demo | LandscapeAndMotionListener code + LandscapeAndMotionListener demo | HillyJourney code + HillyJourney demo

Lab-3 "Establishing a CS1 Work Site" Setting up a Web site to house programs and demos and a few miscellaneous links.

Lab-4 "Expressions and Shapes World Problem Solving!" The First program involves arithmetic expressions. The second program involves shapes from NPW. ExpressionsThing code + ExpressionsThing demo | Shapesthing code + ShapesThing demo

Lab-5 "An Interpreter Featuring Loop Forever and Selection" Creating a series of programs to respond to inputs by a user to produce dots of various colors and assist the user in operation of the program. Interpreter1 code + Interpreter1 demo | Interpreter2 code + Interpreter2 demo | Interpreter3 code + Interpreter3 demo |

Programming Assignment 2: "Enabling Your Work Website"

Programming Assignment 3:"Shapes World Problem Solving" Programs to create method of computing values of shapes using NPW, without using the painter function. WorkArea code + WorkArea demo | WhiteArea code + WhiteArea demo | GreySpace code + GreySpace demo | ShippingContainer code + ShippingContainer demo |

Lab-6 "Functions and Commands" Creating and implementing programs to produce calculations given input data as well as painters based on given and non-numerical colors. SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo |

Lab-7 "String Thing" Creating and implementing programs to learn string fucntions and solve basic problems in character string coding. StringOps code + StringOps demo | StringThing code + StringThing demo |

Lab-8 "Array Play" Creating and implementing programs manipulating arrays to create required outputs. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy demo |

Programming Assignment 4: "Nonrepresentational Artistic Expressions" Creating programs that will make use of both the painter functionality and the shapes functionality of the world (NPW). TextRectangle code + TextRectangle demo | AbstractGradient code + AbstractGradient demo | ColourfulAbstractGradient code + ColourfulAbstractGradient demo | HirstDots code + HirstDots demo | SimpleDots code + SimpleDots demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | Stella code + Stella demo

Lab-9a "Array Play" Creating and implementing programs manipulating arrays to create required outputs. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy demo |

Lab-10 "Establishing and Using Classes" Creating a class to be used in an additional program to roll various die. Die code + Roller code | Roller Demo

Programmimg Assignment 5: "Three list interpreters" Three programs experimenting with arrays and array lists. NumberList code + NumberList demo | WordList(array) code + WordList(array) demo | WordList(ArrayList) code + WordList(ArrayList) demo |

Lab-11 "Modeling Objects with Classes" Three different demos of modeling a person using a class. PersonSpecification code + Person code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo |

Lab-12 "Grapheme to Color Synesthesia" This lab features a program that simulates grapheme to color synesthesia GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia demo

Lab-13 "Chromesthesia" This lab features a program that presents notes along with colors. Chromesthesia code + Pitch code | DialogBox demo Chromesthesia demo

Programming Assignment 6: "The Inflatable Household" This assignment we created two classes- balloon people and balloon families. BalloonPerson code + BalloonPersonTester code + BalloonPersonTester demo | BalloonFamily code + BalloonFamilyTester code + BalloonFamilyTester 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