Bharati'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

Lab 1 "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

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

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" This lab involves arithmatic expressions as well as constructing shapes from NPW. ExpressionsThing code + ExpressionsThing demo | ShapesThing code + ShapesThing demo |

Lab 5 "An Interpreter Featuring Loop Forever and Selection" This lab involves writing a sequence of interpreters. Interpreter1 code | Interpreter2 code | Interpreter3 code + Interpreter3 demo | Input demo | HELP demo | ERROR demo |

Lab 6 "Functions and Commands" set of programs to demonstate how to use functions and commands SurfaceAreaOfCube code + SurfaceAreaOfCube demo | Balloons code + Balloons demo | AlternateBalloons code + AlternateBalloons demo |

Lab 7 "String Thing" A set of programs to demonstate how to process strings String Ops code + String Ops demo | String Thing code + String Thing demo |

Lab 8 "Array Play" Basic array processing functionality, basic concepts associated with doing simple file IO, and perform file processing Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy demo |

Lab 9 "Simple List Processing" Programs that explore basic array list processing functionality, basic concepts associated with file IO, file processing, and demonstrating the role of exceptions in computer programming. Primes code + Primes demo | Streets code + Streets demo | ReverseCopy code + ReverseCopy demo |

Lab 10 "Establishing and Using Classes" Programs about moddeling classes of objects, and practicing in creating and using computational objects. Die Class code | Roller code + Roller demo |

Lab 11 "Modeling Objects With Classes" A class, interface, and 2 demos to demonstrate how to make and use a class which stores the names and birthdays of people. Person Specification code | Person code | PersonDemo1 code + PersonDemo1 demo | PersonDemo2 code + PersonDemo2 demo |

Lab 12 "Grapheme To Color Synesthesia" Programs that simulates grapheme to color synesthesia. GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia demo |

Lab 13 "Chromesthesia" Program to simulate the experience of a chromesthete, someone who automatically maps pitch classes to colors. The program explores incremental programming, arrays of objects, and music knowledge representation. The program includes a text input box, a chromesthetic output box, and two types of error messages: one for when the "AGAIN" command is issued while there is no previous melody to be repeated, and one for when an unrecognized pitch class name is entered. Chromesthesia code | Pitch Class code | Input Box demo + Note demo |

Assignments

Programming Challenge 1: "Microworld Problem Solving" Programs to create images in the Nonrepresentational Painting World (NPW) 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 Challenge 2:"Enabling a CS1 Work Site" Make visible the labs and programming challenges online. Setting up a Web site to house programs and demos and a few miscellaneous links.

Programming Challenge 3: "Shapes World Problem Solving" Programs to create shapes in the context of Nonrepresentational Painting World (NPW) using arithmetic operators to compute values. BlackArea code + BlackArea demo | WhiteArea code + WhiteArea demo | RedArea code + RedArea demo | TheRoom code + TheRoom demo

Programming Challenge 4: "Nonrepresentational Artistic Expressions" A set of programs to create abstract art. TextRectangles code + TextRectangles demo 1 | TextRectangles demo 2 | TextRectangles demo 3 | Number1 code + Number1 demo | Number2 code + Number2 demo | Number3 code + Number3 demo | Number4 code + Number4Blue demo Number4Red demo Number4Green demo Number4Black demo | Invention1 code + Invention1 demo | Invention2 code + Invention2 demo | Stella code + Stella demo |

Programming Challenge 5: "Three List Interpreters" Programs to gain experience writing interpreters and some array processing and ArrayList processing. NumberList code + NumberList demo | Word List code + Word List demo | Word List(ArrayList) code + Word List(ArrayList) 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