|
As with many other computer geeks, my programming interest was sparked with the Commodore 64. Through examining the BASIC code in various programs offered for the C64 in books and magazines, I taught myself how the code worked through analyzing existing games and their code and experimenting with effects of alterations I made to the code. Much of my computer knowledge is self taught, as I've found that experimenting with existing code is the easiest way for me to learn; the struggle to analyze and understand the code on my own forces me to fully investigate the workings of the programming languages I work with.
Web Programming
I began working with HTML in 1997 during one of my undergraduate courses; our instructor, Don Payne (who later became my graduate thesis director), introduced us to the newly-developing Internet and incorporated a web portfolio assignment for the class. My previous experimenting with other programming languages (such as BASIC and C++) added to my interest in web development, so I continued working with HTML after the course ended. During my graduate degree, I took another course with Dr. Payne, who had incorporated some more advanced JavaScript techniques in his own course website. Again I was interested to further my web programming knowledge. Since these courses that introduced me to web development, I've enjoyed experimenting with other web-programming languages, such as Cascading Style Sheets and JavaScript; these additional programming skills offer more versatility and interactivity in the websites I design.
Computing Portfolio
Most of my professional web portfolio can be viewed online (except for sites that have been entirely changed or decommissioned). Other representations of my web-programming skills can be seen in my English 313: Writing for the World Wide Web course, where I teach web-development principles as well as HTML, Cascading Style Sheet, and JavaScript programming. I also developed a Web Workshop Online Handout tutorial for an annual web-development seminar presented by the Iowa State Chapter of the Society for Technical Communication and an online Kolb Learning Style Inventory that automatically generates results from the survey once students completed it for class. (more)
Other samples of the types of programming projects I enjoy are developing computer games. When I first began C++ programming, I created a simple helicopter flight simulator / combat flyer game with basic controls and graphics. A copy of the Chopper Rescue game is available in .zip format, though compatibility is not guaranteed, as the game was designed on the Windows 3.1 operating system. Once I began developing online games for Globefield Academy, I decided to re-create a classic Texas Instruments game, Hunt the Wumpus (requires pop-ups to be enabled). Compatibility with this game is not as much an issue, as the game was designed for current versions of Microsoft Internet Explorer.
More recently, I've begun developing PHP / MySQL games for Facebook integration. My first, Kung Fu Master, is just about to officially launch. I also have a couple others in the design stage, and another well into development.
C / C++ Programming
With the advancement of programming languages, I wanted to learn more about the more powerful and versatile programming languages, so I began experimenting with C / C++. After working with C / C++ for about a year, I decided to formalize my training and knowledge with a minor in Computer Science. The courses I took offered me more structured training in various programming techniquessuch as stack / queue development, basic database structures, and formal software development planning proceduresas well as taught me terminology of programming. One of the features I most appreciate about C++ programming is the concept of object-oriented programming. Being able to develop chunks of code that can be re-used in numerous programs that need to accomplish similar tasks is a very powerful and efficient ability; I try to employ this object-orientated style of coding in my web development as well, to eliminate the need to re-develop each function I program into new websites.
|