Software — it’s icing on the cake!
After completing most EE requirements and electives, I became comfortable with the department’s quirks, smaller classes, familiar classmates. So it was a shock in my last year to go through the Computer Science introductory sequence. It was like beginning college all over again – huge classes with hundreds of Freshmen, a new set of rite-of-passage hurdles. The best assignments were:
- submitting a blackjack game for a coding competition
- creating Boggle
- defusing a ‘bomb’ code within a morass of machine instructions
- creating a heap allocator, which is the way a computer organizes memory for the user
- implementing part of a file system
- managing an army of computer threads to gather an Internet news search. [Might do individual posts on all of these later…]
New Skills: C systems programming. C++, Java object-oriented programming. Python, Linux familiarity.
Key Takeaway: Building computer hardware is like baking cake. It’s fun, but it’s more scientific than personal. It requires expertise because an error can make the cake a disaster. Figuring out the right mixture of flour, sugar, butter, and eggs. Balancing flavor extracts or other ingredients for the specific type of batter. After it is baked (..or fabricated), it belongs to the software guys who decorate the cake and bring it to the party! First they organize the layers. Then put fruit, frosting, candles, and write a message based on the occasion (..or application). Their work is more personal, more creative, closer to the end-user. It’s quick and messy, but if they screw up, they just wipe it off and start over.
At the party, consumers only see the cake’s presentation, but come to appreciate it fully when eating it. I don’t yet know where I’ll be in this process, but I know I’ll always love cake.
Explore posts in the same categories: Software
Leave a comment