recent

Please accept my apologies for the mess — the site is under construction.

previous

about / contact

the site
the webmaster

full cv (pdf)


github
form
linkedin
youtube


writing

the Lorentz boost (coming soon)







programming

In 2004 (when I was in fifth grade) a math teacher I knew encouraged me to take up computer programming as a hobby. I dove in with the hopes of coding a simple game of "WAR STRATS"—a game of ‘war strategies’ in which players could control units on a simulated battlefield. It was not long before I realized that such an endeavor would be quite a significant task.

When I began learning how to code, I essentially taught myself everything I could by reading various books and retyping/following online examples. While I am all for autodidacticism, I am against this method of learning how to program. It is true that such an approach may lead to the development of new ways of thinking and (subsequently) quite cool code; however, it more often leads to the development of bad coding practices. Rather, I suggest any person interested in learning do so under the guidance of some sort of mentor—be it one in an official capacity (e.g. professors) or otherwise.


I provide the following linked pages/posts with the intent that they aid in the learning process of others and provide insight into various intricacies of coding. The pages are in no way 'regular' tutorials. Most are actually direct copies of the code I have written, colorized and occasionally commented. Others have been broken down and are (relatively) explained.

C++
Hello World — What (nearly) every programmer begins with, a simple "Hello World" executable that purports to realize its existence/identity, relates that to the user, and closes: a very good place for the aspiring programmer to start, if only to get a feel for the form of a program's code.

Age Finder — A slightly more complex program than the above "Hello World", prompting the user for input, storing the provided numbers in memory via variables, performing some simple math operations, and returning a value. (At the end, the C++ version includes a loop which keeps the program open in a crude fashion.)

namespace — An attempted brief explanation of the concept of a namespace as used in C++.

Auto Clicker — A simple (windows) program that is able to read cursor information and simulate / send system events (such as mouse clicks). Introduces the concept of a void function in C++.

python
Number Guesser — Direct link to a simple program written for my Computational Thought course (Fall 2011). I think it's a cool demonstration of what can be done with Python using relatively simple code.

Sudoku Solver — How to solve a sudoku puzzle programmatically using efficient guessing methods and recursion.

other languages
findCalibrationValues.m — Some MATLAB code written for a wireless channel sounding project being conducted by the research team I worked with over the summer of 2012. The code itself documents the majority of the theory behind calibration and the 'front page' walks you through the process of running it.

Project Euler — For the ones interested in mathematics and computer programming, "Project Euler"—after the Swiss mathematician Leonhard Euler (pronounced Oil'r)—is a good way to hone skills and practice programming as a hobby. The official website can be found here and requires you to set-up a free account. For me, from time to time, it has provided a nice respite from the daily grind. Be warned, some problems require upper-level math knowledge and somewhat sophisticated knowledge of coding. Take a look around the site, if you feel so inclined.

This website is run and maintained by George Wong. This webpage was last modified 22:36 27-Mar-13 est.
You opened this page on
www.somewhereville.com/gnw and its subsidiaries are copyright 2003-2014.