Miguel'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 Spring 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

Lab Assignments

Lab 1: Hello World!
A first set of programming examples and exercises designed to establish a framework for learning to program.
1) HelloWorld code + HelloWorld demo
2) 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.
1) BlueDot code + BlueDot demo
2) Dorothy code + Dorothy demo
3) BasicsListener code + BasicsListener demo
4) Melody code + Melody demo
5) 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.
1) You're looking at it :)

Lab 4: Expressions and Shapes World Problem Solving
1) ExpressionsThing code + ExpressionsThing demo
2) ShapesThing code + ShapesThing demo

Lab 5: An Interpreter Featuring Loop Forever and Selection
1) Interpreter 1 code + Interpreter 1 demo
2) Interpreter 2 code + Interpreter 2 demo
3) Interpreter 3 code + Interpreter 3 demo

Lab 6: Functions and Commands
1) SurfaceAreaOfCube code + SurfaceAreaOfCube demo
2) Balloons code + Balloons demo
3) AlternateBalloons code + AlternateBalloon demo

Lab 7: String Thing
1) StringOps code + StringOps demo
2) StringThing code + StringThing demo

Lab 8: Array Play
1) Primes code + Primes demo
2) Streets code + Streets demo
3) ReverseCopy code + ReverseCopy demo

Lab 9: Simple List Processing
1) Primes code + Primes demo
2) Streets code + Streets demo
3) ReverseCopy code + ReverseCopy demo

Lab 10: Establishing and Using Classes
1) Die code -> Roller code + Roller demo

Lab 11: Modeling Objects with Classes
1) Person code -> <- PersonSpecification code
2) PersonDemo1 code + PersonDemo1 demo
3) PersonDemo2 code + PersonDemo2 demo

Lab 12: Grapheme to Color Synesthesia
1) GraphemeToColorSynesthesia code + GraphemeToColorSynesthesia demo

Lab 13: Chromesthesia
1) Chromesthesia code + Pitch code + Chromesthesia demo

Programming Assignments

Programming Assignment 1: Microworld Problem Solving
Programs to create images in the Nonrepresentational Painting World (NPW) and sonic sequences the Modular Melody World (MMW).
1) RedCross code + RedCross demo
2) PumpItUp code + PumpItUp demo
3) Dots code + Dots demo
4) TwoFigureMinuetThing code + TwoFigureMinuetThing demo
5) MinuetFigureListener code + MinuetFigureListener demo
6) AfterJSB code + AfterJSB demo

Programming Assignment 2: This Webiste
You're looking at it :)

Programming Assignment 3: Shapes World Problem Solving
1) WorkArea code + WorkArea demo
2) WhiteArea code + WhiteArea demo
3) GraySpace code + GraySpace demo
4) ShippingContainer code + ShippingContainer demo

Assignment 4: Nonrepresentational Artistic Expressions
1) TextRectangles code + TextRectangles demo
2) AbstractGradient code + AbstractGradient demo
3) ColorfulAbstractGradient code + ColorfulAbstractGradient demo
4) HirstDots code + HirstDots demo
5) SimpleDots code + SimpleDots demo
6) Invention1 code + Invention1 demo
7) Invention2 code + Invention2 demo
8) Stella code + Stella demo

Assignment 5: Three List Interpreters
1) NumberList code + NumberList demo
2) WordList code + WordList demo
3) WordList (ArrayLists) code + WordList (ArrayLists) demo

Assignment 6: The Inflatable Household
1) BalloonPerson code + BalloonPersonTester code + BalloonPerson demo
2) BalloonFamily code + BalloonFamilyTester code + BalloonFamily demo

Changelog / Updates

- 2/4/19 : Worksite Creation & Launch
- 2/11/19: Completed programming assignment 1
- 2/11/19: Added assignment 1 to the website
- 2/11/19: Added entry for assignment 2 to website
- 3/6/19 : Added assignment 3 to the website
- 4/4/19 : Added assignment 4 to t he website
- 4/7/19 : Added assignment 5 to the website
- 5/6/19 : Added assignment 6 to the website
- 5/13/19: Added final lab to the website
( For the lastest updates on the codebase check out the Github Repo )

Various external sites relating to course content

Course Lab Manual| Java Notes | Java Docs | WWW Consortium