Data Analytics and Programming
Is this the next iteration of Computer Science ?
The other day when I posted what I thought about CS degrees, it made me realize that most of what’s taught in traditional CS programs is really rooted in the practical limitations of hardware from the 60’s and 70’s. Today, most of what’s taught really doesn’t matter since hardware and computer bandwidth are WAY beyond most of the concerns that were taught back then.
If you think about it, on one hand, traditional CS training was designed to help us cram 25 pounds of stuff into a 3 pound bag within a specified time-frame, with no loss of fidelity, so to speak.
It think we’ve passed a point where this has become inverted. Your average phone today has more processing power than anything used teach CS topics prior to 2000. Today phones are like 25 pound bags, and using REST-based services over omnipresent wireless connections, we can build programs that are equivalent to 150 pounds of stuff and yet they only take up 3 pounds in the bag, leaving 22 pounds of unused resources.
They haven’t taught “structured programming” since "object-oriented programming" (OOP) became mainstream in the 90’s, and I’m not sure they even teach OOP today — it’s just “programming” now.
Multi-threading used to be fairly arcane; today it’s a fairly common part of UI design that’s hot-wired to “live” back-end services.
Multi-processing used to be something that only CS graduate students messed with. Today you can buy a Raspberry Pi Pico for $5 that’s got a 1.6 GHz CPU composed of four independent CPU cores. Meanwhile, the stripped-down Linux distro that runs on it has the smarts built-in to “load-level” the activities of your code without any specific coding practices neded on your part. Virtually every CPU made today is “multi-core” and some even have multiple GPUs on them. There are even specialized “low-energy” CPU cores for handling background tasks that don’t need as much attention (and energy) as the “main” cores. And none of it requires any specialized programming.
Traditional Computer Science is obsolete. What’s needed now is a better understanding of what’s out there in terms of available services, how to best leverage them in your app, and how to keep from inadvertently scooping up 50 pounds of stuff that’s attached to your 3 pound program without being cognizant of what’s actually there.
As a CIS (Computer Information Systems) Faculty at Mesa Community College, I am of course biased. I do feel that we offer a good education at an affordable price compared to the universities. With CIS, we focus more on actually coding/making things than theory. So, you won't build compilers, but you will build working programs, web sites, databases etc etc.
Education is definitely shifting, and the "taught yourself" crowd has done well since the early days :) I tell my students that they need to work on some projects for themselves, or work with another group on code/etc. Employers want to see what you have done. The degree is great, but if that is all you have, you are at a disadvantage. And learn to network if you truly want to get a good job.
I am looking forward to seeing how our first 4 year degree (Data Analytics and Programming) pans out when it starts Fall 2023.
Phil W
Sounds like a good school. I do not think my JC experience was a s
good.