computer science semester
This past thursday marked the very end of the first semester of my computer science degree program. I capped off the semester of a two course workload. It was pretty intense for me tbh. I hadn’t taken a math class in over 7 years and my first semester back in college, I had to take Discrete math. I was saved in that I paired that class with an Intro to programming class. However I do have to say I really underestimated even the intro to programming class, because every time I went to class, I learned some very basic - “but you will not possibly understand the importance of if you are self taught” - kind of thing.
All in all, here is where I stand on things:
1: discrete math is a thinking class, posing to be a math class
Before classes started I made sure to buy a discrete text book. I made sure to study hard before taking the class. But it wasn’t until I started listening to the teacher during lectures that it dawned on me, that this was not a math class. Sure it is dealing with symbols and numbers and very mathy things. But the insistence on breaking from formulaic solutions to crafting creative and sometimes unintuitive solutions to problems, stressed to me that something else was happening in the background. Propositional logic for instance, deals with determining truth values of statements in a mathy way. It brought to me the idea that language itself can be modeled in a mathematical way. And then set theory, the idea that sets of things contain subsets of elements. Doesn’t seem very thoughtful until you are faced with weird import problems, and then you need to think about things containing things along with other things. It’s an odd thing to explain but basically anything that can be broken apart into something else in our world can kind of be explained, described or solved using the tools of exploration that you pick up in Discrete math. It’s an art form mostly. So just one college course may not totally foot the bill, but if you’ve been exposed to this kind of math before, I can almost guarantee it has changed something about your way of explaining the world.
2: computer science is a vast field of opportunities
I was locked into one field when I decided to self teach. But I had no idea that was the case. However after having finished one semester and I’ve spoken to some professors and some students, it’s become clear that the opoortunities are a bit more available to me after this is all said and done. Building operating systems, working in financial markets, working on healthcare medical devices, being a data analyst etc.. It’s all possible after doing these next few classes, not just coding web applications.
3: some developers who rave about being self taught are probably limiting theirselves
This comes with a caveat, because I’ve met too many brilliant developers who are self taught to possibly believe that there is no future in being self taught. I actually met a man who was a director of a large financial organization’s engineering team. And he claimed to be self taught, so clearly it is possible to really touch the sky without college.
However for me, I find it incredibly useful to see - that in college while code is important, it’s not the only thing. There is a real focus on inspection, analysis, understanding, reading and all things around the act of writing software. It’s a study of the atomic nature of all of the parts going into crafting software that seems to be incredibly valuable for building folks into professionals who can carefully craft software solutions. That atomic focus is quite important if you are going to be self studying. But if you are self studying, I do not know what it would take to get into that mentality of picking things apart to understand it in the way that a scientist would. No clue.
If you liked this post consider clicking: