I have completed many different programming assignments to date. So far I have learned python, C and some matlab. I will continue to improve upon my skills in these languages through continuing to work on self-projects in them. Additionally, I plan on starting to learn Java to improve my ability as a programmer, and to try and develop android mobile applications.
Programming.
1.
Python Square Multiplayer Game
I have designed the python code for a multiplayer game based on a set of rules for the game. It was important for me to plan out the code in order to make it efficient and to try and minimize redundant code. I was challenged to constantly iterate through my code design to find ways that I could perform the same function, but in a simpler more effective way. This iterative process is an important one for a designer.
2.
Text-based Python RPG Game
In my spare time I set out to design and create a text-based python RPG game. I first designed a simple version of the game with minimal depth and variety in order to gain an understanding of how the full game will behave (a sort of low-medium fidelity prototype). I am still in the process of creating the full game, however, I am greatly enjoying this project so far and learning a lot from it. I will continue to work on it until I believe it is finished, and is something that I can be proud of.
3.
Python File Scrambler and Descrambler
This python project really tested me as a designer because although it was relatively simple to develop a way of scrambling then descrambling the file as per the requirements, there were always ways to improve the speed of the program. I went through many different iterations of code, constantly making changes to the method it uses to perform its function. Eventually I was able to create programs that were a huge step above what I started with and I have learned from this assignment that there will always be things I can improve upon to make anything I work on better.
4.
Matlab Numerical Computation
I did numerous different numerical computation projects through Matlab that helped me to find links between different topics I was learning about in my university classes. I then had to develop a way of implementing these methods of numerical integration into Matlab. Through learning how to use Matlab I gained respect for the differences between this language and python and how although they are both programming languages they are optimized for different goals. As I continue learning other programming languages, I will be sure to continue practicing using Matlab because of its numerous potential uses for my future.
Include the libraries I will be using, as well as defining the structures that this code will use.
A quick look at some of the functions I have created. It can be seen that I call other functions I've created in these functions showing the importance of planning out my code so this integration is possible.
The hash function my hashtable is using to sort the keys. It is based off of an algorithm from class.
Include the libraries I will be using, as well as defining the structures that this code will use.
5.
Hashtable with binary tree chaining in C
I created an API similar to python dictionaries that stores a key and a pointer to data for that key using a hash table, and then creates a binary tree in the event of a hash collision. Additionally, the hashtable would resize based on current usage factors. This project helped me a lot to plan through my code and think about how everything would work together. There were a lot of different peices that I needed to effectively combine together. My design philosophy of developing multiple different solutions before converging on the best one was very helpful in completing this project because having a plan allowed me to finish much more quickly and easily.