Programs I've written for class assignments over the course of my academic career at California State University, Long Beach All programs listed are console line programs unless otherwise noted.
Courses:
CECS 274: Object Oritented Programming and Data Structures (Java):
Program 1 - Marathon: Simple program to reinforce the fundamentals of programming in Java. (CS department was going through changes at this time, some people in this class had different programming backgrounds from earlier classes than other).
Program 2 - Blackjack: Introduction to the concept of object oriented programming through the implementation of a command line blackjack game.
Program 3 - Linked List: Program to introduce the Linked List structure. The Linked List is manually implemented.
Program 4 - Happy Numbers: Program to introduce the concept of recursion.
Program 5 - RPN: An RPN calculator inplemented to introduce Stacks and Queues. Uses manual Linked List implementation from Program 3 to emulate Stack and Queue data structures.
CECS 277: Object Oriented Application Development (Java):
Lab 1a & 1b: Programs written as refreshers on object oriented programming from CECS 274
Lab 2: Program written to understand some of the basic concept of object oriented programming, such as inheritance. Program also implements the use of a Comparator object for custom sorting arrays as well as and intro to cloning through displaying the difference between deep and shallow copies of objects.
Lab 3: Introduction to design patters in objeect oriented programming. Focus on Factory Patter to format object output.
Lab 4: Reinforcement of Factory Pattern as well as introduction to Abstraction and Abstract Factory Pattern design.
Lab 5 & 6: Introduction to Maps and Sets as well as reading from and writing to files. Also introduces sorting using Comparator interface and demonstrastes the difference between Comparable and Comparator.
Lab 7: Introduction to other design patterns: Visitor, State, Singleton, Decorator, Command, Adapter, Memento
Lab 8: Introduction to unit testing and JUnit
Lab 9: Independent implementation of multiple design patterns in 1 project
CECS 282: C++ for Java Programmers (C++):
(Some main.cpp files were written by the instructor to test for correct implementation of project specifications.)
Program 1 - War: A simple card game implemented in C++ used to get more familiar with using the language coming from a background in Java.
Program 2 - ADT: A program used to introduce the concept of pointers and go more in depth with the object oriented aspects of C++ than in Program 1.
Program 3 - Student Structure: A program written to learn about creating and accessing data members of structures. Main.cpp was written by me.
Program 4 - Overloading Operators: A program introudcing the concept of operator overloading for primitive data types as well as created objects.
Program 5 - Standard Template Library: A program to understand the use of C++ Standard Template Library and the data structures associated with it. Main.cpp is edited by me from instructor's initial skeleton program.
Program 6 - Memory Manager: A program to intoduce the concept of memory management.
CECS 378: Introduction to Security Principles(Variety):
Ultima V Save Editor(Python): A save editor written to edit certain character stats and party inventory items in the game Ultima 5 designed to learn more about malware.
CECS 424: Organization of Programming Languages