object oriented design
fall 2020
As an in depth look into object-oriented programming and design, with an emphasis on abstraction, modularity, and code reuse, this course was an application of all the coding principles learned in the fundamental courses in the context of creating large scale systems. We explored the basic concepts of object-oriented programming like object, class, message, method, interface, encapsulation, polymorphism, and inheritance.
This program, written in java, can produce animations given an input text file which contains the shapes to display and their motions in a visual format where users can see their animation play through once, an interactive format which allows users to control the animation by pausing, speeding up, changing fill mode, etc., an svg format which produces an svg output file of the animation that can be played in a browser, and a textual format which returns the textual representation of the animation. The gifs to the side show output animations of buildings and the night sky in visual mode on the left as well as plus signs and a rectangle in interactive mode on the right.
The Easy Animator
This program, also written in java, allows users to play a game of pyramid solitaire in three formats: basic which allows users to play a simple game with a 52 card deck and one pyramid, multi-pyramid which allows users to play with a double deck and three pyramids, and a relaxed version which allows users one more remove option not available in basic or multi. Snippets from the basic and multi games are shown in the image where the green text represents the user interaction inputs.