Coding

Portfolio

Coding

Portfolio

Since I also live in the world of computer science, I have a fair amount of experience with programming in languages like Swift, Java, and SQL, and some experience with HTML, CSS, Prolog, and C#.

Some coding projects I’m proud to list would be things like

  • Making simple iPhone games & apps
  • Re-creating a DBMS
  • Being able to use web-programming to design website interfaces
  • Learning the basics of what it takes to program AI

If you have any questions for me or are interested in any of the types of projects I’ve worked on, go ahead and contact me! I’d love to talk to you about them, show you some examples, and really get into the details. 

Projects

Fruitventory

(Swift) Fruiventory is a small inventory-tracking app that I created with a friend of mine for a starting project in a Software Engineering course in college. It utilizes UIKit, and consists of a table that holds all the data you create, and a simple UI to input your inventory item name, and sliders that allow you to select the quantity and selling price of the item as well. The app saves all your data to a text file, and reads from it to fill in the table on the main screen. 

Disperse

(Swift) Disperse was a project given to me as a means of learning the Swift programming language and iOS programming in general. As a class project, some of the code was given to us, but almost 100% of the functionality was created by myself as lab assignments. It’s a simple card game, where the goal is to get your opponent to remove the last card on the screen, NOT you. It contains concepts for things like UI animation, gesture controllers, dealing with images, modal views, and more.

Creating Tables

( Java + SQL) This program was written in Java but uses a bit of SQL syntax for the queries that are sent over to the MySQL database. It starts out by securely connecting to a specified database using a username and password. Then it reads a text file, parses it for information, and stores that information in an Array List. The next thing it wants to do is create a table to store all of this data. It checks to see if there already is a DB named “BOOKS”, and if not, it creates it. If it does, it deletes it and creates a new one (this was done as instructions for the assignment, it wouldn’t work like this in a real setting). Next, it would do the same as above, but for two tables: “AUTHORS” and “BOOKS”. Lastly, it goes through the Array List and inserts the data into their corresponding tables, and returns a result set from the DB with a list of all of the authors and books that were just put into the DB.

Transactions

(Java + SQL) This program starts with connection to the DB, then gets some information with a query and stores that data, then creates a random number, and selects a random entry from that data. Next, in a loop that runs twice, it inserts the data into a table via a regular statement, then with a prepared statement. Then, it checks the count of the loop, and on the first execution of the loop, it commits the data insert, then starts again. The second time, it rolls back, and it’s like the second data insert never happened.

Multi-Threading

(Java) This project was my first experience with threading in general, and the goal was to implement a system that would work with any number of threads. It starts by creating and running 4 threads which then in turn wait for a “green light” to start the run() method given by a different method that checks to ensure all threads have been created and are waiting. When the run() method starts, it first makes sure all the threads have been started. Then it starts atomically incrementing by 1. Once a thread’s incremented number gets to 10,000, it leaves the run() method. (All while this is happening, the program is constantly checking to see if the sum of all the threads gets to 40,000, in which it will end the program) Once all 4 have completed that task, the program prints a message and ends.