Hometown: Minneapolis, MN
Course of Study: Computer Science Major
Main Interests: Network Security, Freedom of Information, Martial Arts, Lifting
What’s your favorite thing about CS at LC?
I like that there’s so much specialization. There’s different students who’ve chosen different areas to become experts in. For some departments, everyone learns the same content over time, but among the CS students people choose different things to focus on. I’ve got a friend who’s really fantastic at 3d modeling, and another who’s into running supercomputers, and others who know lots about security or cryptocurrencies or web development or whatever else. That’s something that also lends itself really well to collaborations between students; people can bring such different skills to the table when working together, which can spark really impressive diverse projects. It lets us students learn from each other in a much more impactful way than is possible for a more homogeneous discipline.
What’s your favorite project that you’ve built or contributed to?
The best software project I’ve worked on has got to be the Vertex Network. It’s something I wrote for my final project in CS2, one of the intro classes that new CS students take. I had been studying a lot about cryptocurrencies and blockchains in my free time that year, so for my final project I wrote one of my own. It wasn’t a complete implementation, but definitely served as a proof-of-concept that could be published with some minor improvements. I worked on it a lot more than we were told we needed to, and I included all sorts of extra features and complexities that made it a really robust project. I learned a lot about how blockchains worked as a result of that program, and the experience has served me very well in future classwork.
What has been your favorite class at LC? Why?
This is a tough question, I think I’d have to say Computer Graphics. The Professor for that class, Jeff, is something of a living legend among CS students. Jeff teaches computer science the old-school way; clean code that solves real problems, rooted in hard mathematics. By the end of the class, we get to the point where we’re drawing cubes and spheres in 3d space, with proper perspective and color rendering. It might look like something out TRON (the 1982 one, mind you), but it’s incredibly rewarding to see even just those shapes moving around when you’ve written your way all the way up from coloring in polygons, to the trigonometry for perspective, to the vector calculus of proper light rendering models.
What’s some advice you have for people new to CS?
Oh, there’s plenty of good advice I could share; lose your ego, listen to the pros, teach as much as you learn. But of all the tips I could give, the most important is this; base your love of this work in a deeply, intimately emotional place. Anything done at a highly advanced level should be a pain in the ass sometimes. As wonderful as those cubes I was just writing about were, on hour 6 of trying to get them to spin clockwise in just the right way, they didn’t seem all that magic at all. However, in my short 4 years of working with computers, I’ve never doubted that this is what I love to do; because to me, when I open a terminal, I’m never just trying to get some program to work properly or harden a server from attack. I feel the same excitement I had the first time I watched The Matrix with my dad, or the curiosity sparked by the first time I took a screwdriver to the family PC and peered inside at all those rainbow wires. The delirious thrill of seeing a little windows logo appear on the screen of the first computer I’d built myself after two weeks of guesswork and mashing parts together, or being completely immersed reading The Silicon Man in the back of a crowded bus in high school, straining to read just a couple words more of the last chapter under each passing streetlamp. This work has always been deeply personal to me. The reason I love this stuff isn’t because I’ll get a good job doing it, or because I’m good at math, or because I like the sheer chaos of breaking into every system I can get my little hands on. It’s because I view this field as something I’m personally a part of, that’s interwoven in with the story of my life. To get frustrated at a problem that makes you want to tear your hair out is like getting into a petty argument with a lifelong friend. So, to actually answer the question instead of pine poetic, I’d say that; make the work you choose to do a lifelong friend. As long as you don’t let yourself lose sight of that relationship, you’ll never risk being too swayed in the short term.
What’s your favorite Programming Language
Python. Call me a wuss, but sometimes I just need the thing to work fast.