Colorado School of Mines - Fall 2016 to Spring 2019
My introduction into higher education began at Colorado School of Mines. I pursued a computer science degree throughout my time there, developing a sufficient foundation of programming knowledge in my enrolled courses and personal endeavors. Surrounding myself with some of the most inventive people I've ever met has helped me develop a keen mindset focused on complex problem solving and increasing efficiencies. With the exposure of my fellow peers' engineering pursuits and the instruction of my professors, it gave me a well-rounded understanding of the many intricacies of different STEM fields.
Harold Washington College - Fall 2018 to Fall 2021
I began enrolling in classes with City Colleges of Chicago at the Harold Washington College campus, which is where I acquired my Associate's degree in Computer Science. I took some of the required math courses meant to complete my Bachelor's degree, as well as humanities and arts classes that helped break up the rigorous material taught in my engineering-related studies. I decided to finish an Associate's in my hometown, and I hope to complete my Bachelor's after assessing my career opportunities with my current credentials. One thing I had come to miss in Colorado was an outlet for my creativity, specifically visual art. I've come to realize it was very much worth attending CCC to further grow my drawing and design abilities, albeit mostly developed in my free time.
General Experience
My computer science background is a split between front and back-end experience, with my familiarity of each leaning on self-taught lessons and college courses respectively. Regarding front-end, I am strongest with the "bare bones" approach to web development, which would be being creating markdown, stylesheets, and scripts by hand rather than using frameworks. I'm hoping to increase my expertise on this aspect of web development along with other tools meant for "simplified complexity".
My back-end knowledge and experience tends to sway closest to software development, specifically using languages like C++ and Python for creating primitive user interfaces and data manipulation programs. Tangential to that, I also have aspirations to develop games in the future, more so as a hobby than a career path. I have created limited demos of some game concepts in the past, but I wish to launch a full project that has enough content to offer to the player. Unrelated to software/game development, I wish to improve my familiarity with network security and database management topics. They are subjects I lack in, but hope to find time to gain more understanding of them for potential endeavors, either related to a career or something more personal.
Programming Languages
c and c++
I am the most familiar with C++, but I also have a rudimentary understanding of C conventions. My background of C++ consists of creating object-oriented programming solutions, and I know a fair amount about data structures. I have used some GUI libraries such as SDL and SFML. The projects I've used C++ for include a simplistic 2D game engine , an animated visualization of an Ulam Spiral .
python
My background with this language ranges from creating user interfaces to data science scripting. I’ve used libraries such as Tkinter and Pillows for graphical applications, and Numpy, Matplotlib, and Pandas for more data driven projects. The latter experience has been in a more academic setting, but I have completed small scratch projects to retest my knowledge on data science. I have used those previously mentioned graphics libraries to create image manipluation software, with one specifically inspired by the work of Kensuke Koike.
java
The majority of my exposure to Java has been through my AP Computer Science course back in high school, which gave me necessary knowledge on object-oriented programming and other programming fundamentals despite my dislike of the convoluted syntax. I found calling different static functions from nested directories of a library very tedious, but my opinion could be considered a bit surface level to a more seasoned programmer. The ease at which I am able to express my ideas is vital to my workflow, hence why programming in Java is not my favorite.
gdscript
GDScript, the scripting language used as default by the game engine Godot , is something that I've learned to become comfortable with rather quickly given the similarities it has with languages like Python or Lua. Most syntax conventions are quite intuitive from someone familiar with Python/Lua, and features like signals makes communication with numerous objects within a Godot project very easy.
bash
Bash may have been my first introduction to a scripting language, where I also happened to develop my foundational knowledge of programming concepts. I would create simple command line interfaces that would predominantly follow inspiration from text-based adventure games. Conditional statements with branching scenes would be the majority of what I would use Bash for, which some would say doesn't use the language to its full potential. I would like to create scripts that would streamline my workflow and the processes running on my computer, as getting familiar with the lower-level activity on my system is a subject I wish to expand my expertise on.
javascript
As far as I'm aware, I have only used Javascript within a web development context. There are areas of the language I'd like to know more about, which still has a connection with creating webpages (three.js and other libraries are very intriguing). I'd say I'm quite behind in knowing the multitude of JS frameworks out now, which seem to be released on a bi-weekly basis at this point.
React ,
Angular ,
Vue.js ,
and so many others are projects that I would like to get a better understanding on, as they are quite essential in the modern, web development space.
racket
My first introduction to functional programming was through Racket, and it challenged my typical thought processes of formulating solutions to problems via programming. It was a unit I covered back in high school, but a topic that I've neglected since graduating. I created drawing tools, simple games, and other small projects throughout my time in that class, and I found my experience using the language rather enjoyable (aside from all of the nested paretheses). Going back to Racket's more frequented cousins like Scheme or Lisp.
other languages
Haskell, Lua, and Lisp to name a few. I only have a limited understanding of the following languages, and have typically used them in one or two instances. There are some projects like Rust, Go, and Scheme that I've been meaning to get involved with in some capacity, as I've heard many positive benefits about their programming conventions that differ from the normal methods of software development.
Adobe Photoshop and Illustrator
I remember using Adobe software in grade school more so as a source of entertainment, but only when I took a proper graphic design course in high school where I had a formal introduction to Photoshop and Illustrator. I attained a good grasp on the fundamentals of each respective program, and I produced pieces of work that showcased portions of those disciplines. For example, I thoroughly enjoyed creating logos and poster graphics using Illustrator, where I played with 'superflat' design and typography throughout various projects. Regarding Photoshop, I experimented with more of the same along with drawing digitally, which consisted of practicing figure drawing and other rough sketches.
GIMP, Inkscape, and Others (Coming Soon)
Sketches and Ideas
For more content related, check out the art subpage .
Four Years of Japanese Classes (Coming Soon)
Two Week Trip to Japan (Coming Soon)
'Mori no Ike' Immersion Camp (Coming Soon)