My University Co-ops: From Robotic Arms to DARPA Battleboards
How three university co-op terms shaped my early graphics career through robotics, experimental 3D information visualization, and real-time command software for DARPA.
Ben Houston • June 17, 2025 • 7 min read
I did my undergraduate degree at Carleton University in Ottawa through a co-op program, which meant alternating between semesters of coursework and four-month work terms. In practice, those three summers defined my technical trajectory far more than the classroom did. Each one pushed me in a different direction — robotics and systems programming, experimental information visualization, and finally, building real-time 3D command software for the US military.
Summer 1998 — National Research Council of Canada#
My first co-op was at the National Research Council's Visual Information Technology Lab, in building M-50 on the NRC campus in Ottawa, under the supervision of Michael Greenspan (PhD, Electrical Engineering). I was working on SGI workstations in C++, which felt like a natural continuation of the graphics and systems work I'd been doing through high school.
I worked on two projects that summer.
The first was RiDL — the Range Image Data-Processing Library — a C++ library for manipulating 3D surface point datasets acquired from laser scanners. By the end of the summer it was over 10,000 lines of code. Working with point cloud data was new territory for me: unlike polygon meshes or Bezier surfaces, point clouds are unstructured, noisy, and require their own set of algorithms for registration, filtering, and surface reconstruction.
The second project was Sushi — an interactive 3D object scanning system built around a one-metre, 6-DOF robotic arm. The system coordinated multiple computers over TCP/IP to control the arm and acquire scans from multiple angles. Getting real-time synchronization right across machines, with a physical robotic arm in the loop, was a different kind of engineering problem than anything I'd tackled before. Hardware doesn't tolerate bugs the same way software does.
It was a rigorous, well-supervised research environment. Michael Greenspan ran a tight ship. I learned a lot about how professional research software gets built.
Summer 1999 — Consulting and Audit Canada, Ottawa#
My second co-op was a complete change of register. I worked under Zack Jacobson (PhD, Psychology) and Els Goyette (PhD, Psychology) at Consulting and Audit Canada, developing experimental 3D information visualization tools in C++.
Zack was a researcher and experimenter. I was his implementation guy. We would dream up strange interfaces together — ways of visualizing security relationships, information hierarchies, document retrieval — and I would build them. Zack was not rigorous in the engineering sense; the goal was to explore ideas quickly and see what was interesting, not to ship production software. That was a different mode of working than the NRC, and it suited the problem well.
The two main prototypes we built were NetViz and AutoViz — experimental 3D text retrieval interfaces that let users navigate document collections spatially. The results were published and presented at two international NATO "Network of Experts" workshops. You can find the paper here.
Working with researchers from cognitive science and psychology pushed me to think about 3D graphics differently. Up to that point I had mostly thought about rendering quality, performance, and technical correctness. Now I was thinking about what a visualization communicated — how spatial layout affected comprehension, how people navigated information spaces. That was a new dimension.
Summers 2000 and 2001 — Visual Insights, Toronto#
My third and fourth co-ops were both at Visual Insights — a consulting firm in Toronto that later became Oculus Info — working under Bill Wright on a multimillion-dollar DARPA contract. I'd encountered the Visual Insights team while working in the Canadian government the previous summer; they were selling a Java and C++ binding library for OpenInventor, which I had been using for the 3D visualization work. They offered me a position and I took it.
I relocated to Toronto for both summers and lived in a University of Toronto dormitory during the break between terms. It was my first time living away from Ottawa.
The project was CPOF — Command Post of the Future — a DARPA program developing 3D battleboard software for military commanders. The idea was to replace traditional flat maps and floor-based unit models with an interactive 3D digital battlefield: a digital elevation model textured with satellite imagery, overlaid with real-time unit positions, sensor fusion data, and automatically generated tactical overlays.
Summer 2000: Rebuilding the Foundation#
My first summer was primarily a rewrite. The existing codebase had accumulated significant technical debt, and my job was to refactor and rebuild it into something the team could work with going forward.
The application was built in Java, using a binding interface to an OpenInventor-based 3D engine. I rebuilt the application framework from scratch — a proper application lifecycle with startup, main window management, and an event system that let components communicate cleanly. I also wrote a Java-based property grid component, similar in concept to the property inspector in visual development tools, which gave the application a much more usable interface for editing scene parameters.
One of the more technically interesting pieces was the tactical overlay system — automatically generating grease-pencil-style contour lines around unit positions. I computed density fields from unit positions, then used marching squares to extract isolines from those fields, giving commanders a clean visual representation of force disposition without manual annotation. It looked natural and updated in real time as units moved.
Summer 2001: Generals and C# Beta#
The second summer was driven by feedback. After the first summer's rebuild, the software had been shown to retired one-star and two-star US generals and civilian human factors specialists in mock simulations at the Defense Intelligence Agency in Washington, DC. Watching actual generals use the software — some on the digital battleboard, others using traditional floor maps in parallel — and seeing where it worked and where it didn't, gave us a clear agenda for the second summer.
That summer I was also on the beta of Microsoft Visual Studio .NET — one of the first public betas of C#. The language was new enough that almost no one had used it in production. One feature that struck me immediately was the property grid component in the Windows Forms framework — a clean, reflection-based approach to exposing object properties through a UI that was more elegant than anything I'd seen in Java. It directly influenced some of the interface work I did at Visual Insights that summer.
More broadly, seeing what C# was doing with managed memory, reflection, and rich runtime tooling made me think seriously about what 3D graphics development could look like inside a managed language runtime. Java had pointed in that direction; C# made it feel genuinely viable. That thought stayed with me after the internship ended.
DARPA from the Inside#
Working on a DARPA program as a student was an unusual vantage point. I attended program reviews in Washington, DC and at facilities in the area, and got to see how DARPA structured its R&D programs — competitive contracts, regular reviews, contractors presenting progress and making the case for continued funding, the whole apparatus of how the US military funds early-stage technology research.
DARPA had loomed large in my reading since high school. I'd been absorbing Wired and histories of the internet, and names like J.C.R. Licklider kept appearing — the DARPA-funded researcher who in the early 1960s articulated the vision of computers as tools for augmenting human cognition, not just automating computation. CPOF was, in a direct line, that vision applied to battlefield command: giving generals a richer, faster, more integrated picture of a complex situation so they could think more clearly and act more decisively.
Whether the system was eventually deployed operationally I can't say with certainty — the project had a classification level that meant I wasn't privy to everything that happened after my involvement ended. But I've seen references suggesting elements of CPOF were in use during the Iraq War.
What the Co-ops Added Up To#
Looking back, the three positions formed an arc that I couldn't have planned deliberately:
NRC gave me depth — serious systems engineering, large codebases, hardware integration, research discipline.
Consulting and Audit Canada gave me breadth — working across domain boundaries, thinking about visualization as communication, building quickly to explore ideas rather than to ship.
Visual Insights gave me scale — a real contract, real users, real feedback from people using the software to make decisions that mattered. And it pointed me toward managed languages as the future of 3D application development.
By the time I finished my degree, I had spent four summers building 3D software for robotics labs, government researchers, and the US military. Each one had been a different problem, a different codebase, a different set of constraints. That variety turned out to be exactly the right preparation for what came next.
This post is part of a series on my early career in computer graphics. The previous post covers my high school years, from the Apple IIe to Sir-Tech Canada.