It felt like my typical high school class. They'd teach us how to calculate the circumference of a circle, but they never told us what we'd use it for. "Programming" is not specific enough.
It felt like my typical high school class. They'd teach us how to calculate the circumference of a circle, but they never told us what we'd use it for. "Programming" is not specific enough.
One of the things I've picked up more recently is to take a presentation or whatnot and mentally block all but the top 10-20%. If I can't get the bird's eye summary of what each slide needs to say there, then my manager won't understand the story. They're {busy|lazy} and don't care to read the entire slide - that's all chaff for the underlings to digest so they know the finer details.
So for a programmer, one of the biggest uses of good visualisation skills is the selling of ideas. A good plot goes a long way in convincing someone of something.
I've included a few pictures of stuff I recently used, maybe it can help to give more context.
- http://1.bp.blogspot.com/-YA10ftXFFQ0/U6-iAdAUtGI/AAAAAAAAAn...
This one was done for debugging, as I do often. The code that I was debugging took some geometry and generated some texturemaps from it, it's really hard to debug why the maps are wrong when they are, what happened to the geometrical calculations. So I just added a std::vector<float> debugStuff and pushed values from various locations, then wrote it as a CSV. In processing I load this bunch of floats I know the meaning of and plot them in 3d as a point cloud. Each point in the cloud is clickable to show more of what happened at that position.
- http://1.bp.blogspot.com/-EFgdBffKEU0/U6-h9QweujI/AAAAAAAAAn...
This was for performance. A particular system computes tens of thousands of generated code snippets according to some rules, that will then used in runtime in various ways. Testing in runtime is hard because it's hard to cover all of them and it would take a long time. So I rigged the system to extract statistics about the generated code and save them to a CSV. Then in Mathematica I categorize and plot these datapoints and I can compare what changed between two different runs of the system. When I see in the data that a given change seems promising enough, I do the expensive test in runtime