News for hackers. Stuff that matters.
Re:The Missing Semester of Your CS Education by ghaff on Saturday February 25, 2023 @09:09AM (#34936778)
There's definitely a thing with CS that, at least at more elite schools, there's an assumption that you more or less know how to program--at least a language like Python--and you also more or less know your way around a computer well enough to use it as a tool for programming. (Or you pick it up quickly on the side along with your full course load.)

This is more or less unique among college majors outside of some arts disciplines like music. Yes, there's a requirement for some secondary school algebra and some basic science but an electrical engineering major could basically have never assembled a circuit before attending college and probably wouldn't be at any particular disadvantage.

And, per the original post, MIT is certainly one of the institutions that does this. The 6.001 MOOC(s)--basically intro to algorithms--teaches a bit of Python on the side but clearly you're intended to mostly learn it on your own.

(By contrast, back in the day, I took a FORTRAN course as part of a non-CS engineering major. The assumption was that you had never touched a computer before.)

Re:The Missing Semester of Your CS Education by bjourne on Saturday February 25, 2023 @09:39AM (#34936999)
I had a guitar tutor once and I asked him if I honestly had a chance to get into the Royal College of Music. He said absolutely, no problem, as long as you practice for at least two hours per day. Every day. For the next ten years... High-level CS is the same and I don't see any reason why it should be different. There is just no, or very little, time to teach introductory programming classes at most universities.
Re:The Missing Semester of Your CS Education by ghaff on Saturday February 25, 2023 @09:58AM (#34937133)
With the performing arts--perhaps music in particular--it's certainly the case that you mostly can't decide you want to do the music thing, except as maybe a very recreational activity for the first time in college. However, I'm not sure I'm sold that CS--more or less uniquely among technical fields (including electrical engineering)--needs to have the same level of informal prerequisites.
Re:The Missing Semester of Your CS Education by whynotminot on Saturday February 25, 2023 @10:27AM (#34937344)
Am I unique in not romanticizing computer science?

I see it more as a trade. There can certainly be some beauty to it. I’m sure coal miners hold some of their own in special regard too.

Re:The Missing Semester of Your CS Education by berkle4455 on Saturday February 25, 2023 @10:59AM (#34937586)
Well after they spend 4-8yrs of their life learning CS, damn right they’re going to romanticize and gatekeep it every chance they get.

Meanwhile I agree with you, software engineering jobs are a trade 90% of the time. It’s why so many highly educated folks are being laid-off right now, while the doers keep-on building and making bank.

Re:The Missing Semester of Your CS Education by anon7725 on Saturday February 25, 2023 @11:58AM (#34938147)
> while the doers keep-on building and making bank.

It’s spelled Doerr

Re:The Missing Semester of Your CS Education by jamal-kumar on Saturday February 25, 2023 @11:43AM (#34937996)
Coal miners also do stuff like massively die in gas explosions and are kind of a poster child for labour exploitation. Wouldn't it be crazy if this line of work held the same prestige to hold in special regard?
Re:The Missing Semester of Your CS Education by seadan83 on Saturday February 25, 2023 @01:25PM (#34939083)
There is beauty in just about any trade that is well done. To the extent this is romanticized is up to you. I'm not a big fan of the professionals that feel it is 100% trade. On the flip side, the 100% romantics are not ideal either IMHO - too focused on technology for technology sake.
Re:The Missing Semester of Your CS Education by mixmastamyk on Saturday February 25, 2023 @02:28PM (#34939633)
It sounds like you are thinking of software engineering, which is an adjacent field often conflated. CS is about pushing current boundaries and inventing the future.
Re:The Missing Semester of Your CS Education by throwaway675309 on Saturday February 25, 2023 @03:33PM (#34940174)
Software development is a trade, if all you aspire to be is a WordPress or frontend developer then you don't need a fancy degree, you can just as easily go to a 6 to 8 week code camp for that.

Computer science is a pathway for those that want to delve deeper, and that necessitates rigorous fundamentals in applied mathematics and information theory.

Re:The Missing Semester of Your CS Education by simplotek on Sunday February 26, 2023 @04:44AM (#34944309)
> Computer science is a pathway for those that want to delve deeper, and that necessitates rigorous fundamentals in applied mathematics and information theory.

I dare say that one can go through a whole career as a software engineer without spending a single semester learning about algorithms, in the sense that you just start learning about them in a JIT fashion if/when they become an issue, which is rarely.

Some of the O(X) trivia so much sought after in some interviewing circles is even fundamentally wrong when real world aspects such as problem size or CPU architecture come into play.

Re:The Missing Semester of Your CS Education by whynotminot on Sunday February 26, 2023 @01:54PM (#34948218)
This is basically my career. I had a stable gig for my first handful+ of years after college and never much encountered the leetcode grind people talk about until recently. A lot of the O(X) stuff is self apparent when you're writing practical code: lotsa slow loops within loops == bad and should be avoided where possible.

When I started doing job interviews it was a little bewildering how much some companies focused on this. I ended up taking a job whose interviews focused on more practical skills and also stressed a good culture fit and understanding of development practices. It feels like a place I'll be happier.

I think you're right about the JIT aspect to this sort of thing--that's really what being an engineer is about in my experience. When you encounter a problem, figure out how to do it better. If my filter/sort/whatever is too slow for a specific application, I'll do some research and implement something more appropriate.

Re:The Missing Semester of Your CS Education by closeparen on Monday February 27, 2023 @06:09PM (#34963330)
Computer science != algorithms. There's also the whole systems branch! If you ever find yourself thinking about TCP, virtual memory, system calls, frame buffers, shaders, signatures, interpreters, compilers, query planners, etc. these are also things you could have studied and practiced building in a CS program.
Re:The Missing Semester of Your CS Education by wardedVibe on Saturday February 25, 2023 @02:33PM (#34939671)
I didn't start programming until I was in college and did just fine in my undergrad CS at UW Madison.
Re:The Missing Semester of Your CS Education by linhvn on Saturday February 25, 2023 @10:07AM (#34937189)
MIT has an expectation that students would cover their programming skills via internships or outside jobs, and thus they focus on teaching CS which is quite hard to pick up on your own. Unlike frameworks or trends which change every 2 years, fundamentals are quite hard to change and can carry you quite far if you know how to apply it correctly.
Re:The Missing Semester of Your CS Education by closeparen on Saturday February 25, 2023 @11:58AM (#34938149)
My school handled this cleverly by taking people with prior programming experience into a Haskell sequence, which suitably kicked our asses to the same degree as what the first-time programmers were getting.
Re:The Missing Semester of Your CS Education by helloooooooo on Saturday February 25, 2023 @12:08PM (#34938253)
UWaterloo does this.
Re:The Missing Semester of Your CS Education by a_e_k on Saturday February 25, 2023 @12:52PM (#34938695)
My college's CS program did the same, but with Scheme back in the day.

I can't complain, since I was introduced to Emacs along the way, which I still use heavily to this day. And while I don't really use Scheme anymore, it made Elisp trivial to figure out.

Re:The Missing Semester of Your CS Education by tobych on Saturday February 25, 2023 @05:39PM (#34941178)
My CS course at the University of Sussex, UK did this (in 1988) with ML, the functional programming language. Plenty of us had already been coding in C or Pascal before starting at college. None of us had done any functional programming. I loved ML: it seemed all elegant and beautiful and magical.

When I hear people starting their CS degree with C++ or Java, it makes me cringe.

Re:The Missing Semester of Your CS Education by bluebluetimes on Sunday February 26, 2023 @06:53AM (#34944848)
Which school was this? Was this UT Austin by any chance
Re:The Missing Semester of Your CS Education by lordnacho on Saturday February 25, 2023 @02:47PM (#34939779)
But is it common for kids to be taught how to code before they come to uni? I would imagine it's not that easy to find someone to teach that sort of thing, so then the only kids who graduate high school with any tech skills are the ones who did it themselves.

Your point about engineering is exactly right. I built a working radio in my first term, having never done anything like it before, save for acing some physics exams with minimal electricity sections. When we came to coding, I had mucked about a bit with a computer, but I also found other students who'd worked at Microsoft. Wide wide range, and a lot of people of course ended up getting that fellow to email them the solution.

Re:The Missing Semester of Your CS Education by ghaff on Saturday February 25, 2023 @04:02PM (#34940431)
Even if it's more like hacking around in Python than being "properly" taught, I assume that it's pretty common for a technically-inclined and motivated high school student to play around with a Raspberry Pi. I imagine I'd be doing so if I were in high school today. In addition to books, there are also some pretty breezy intro to programming MOOCs out there that wouldn't be out of the reach of a smart high-schooler.
Re:The Missing Semester of Your CS Education by AlchemistCamp on Sunday February 26, 2023 @05:11AM (#34944420)
I don’t think that’s quite right. You’re not going to expect someone majoring in French to not have studied any French before college.

It seems completely reasonable to expect someone to be comfortable finding their way around a computer if they’ve chosen to major in computer science.

I’d also expect an entering electrical engineering major has studied more math than just “some secondary school algebra”. They’ve probably already studied some calculus or at the very least are ready to as soon as they start their first semester.

It’s a bit of a red flag to have no foundations in a subject you’ve decided to focus on for the next four years. That said, sufficiently motivated individuals can catch up and overcome their initial lack of preparation.

Re:The Missing Semester of Your CS Education by lordnacho on Sunday February 26, 2023 @05:22AM (#34944467)
You have to put yourself back into your 18yo self, right? The kind of people who think a degree in management will make you a manager, and if they let you on to your course they must know what the requirements are and you must satisfy them.

At that time in your life your entire world has been school, and everything you did in school led to another thing in school. Why wouldn't you assume you'd get taught programming when you applied for a CS course, whose prereq was math that you did in school?

Re:The Missing Semester of Your CS Education by fsckboy on Monday February 27, 2023 @03:19AM (#34954213)
everything they teach you in a CS degree is useful and broadens your knowledge of the space, and all of it might potentially come in handy as your career develops, though much of it might not.

Doesn't mean you'll be a great programmer or archtect or planner or teacher. Right? you might drop it and go into something else.

Same is actually true of a management degree, everything they teach has been well thought out and is applicable to managing a company. Doesn't mean you'll be any good at it or work in all those departments. It is not a useless degree, though many useless people might pursue it.

Re:The Missing Semester of Your CS Education by fatnoah on Tuesday February 28, 2023 @10:53AM (#34970642)
>(By contrast, back in the day, I took a FORTRAN course as part of a non-CS engineering major. The assumption was that you had never touched a computer before.)

This was my "back in the day" experience as well, though I had a choice between C and Pascal. There was no expectation that anyone had any programming experience. I only had a touch of C64 BASIC knowledge going in.

> I have this feeling that the kids who appear better at uni are the ones who happened to pick up certain not-quite-programming skills before they started. Basics of networking, how installation of programs happens, how to use the command line, that kind of thing.

This one really stood out to me and highlights a change in things since then. That describes ALL of the CS kids during my time. We were the ones who a) had computers and b) did weird things like rebuilding kernals or futz around forever trying to get remote X sessions running.

A fact that blew my mind a few years ago was that, of the 13 software engineers on my team, only 3-4 actually owned a computer other than the work-provided one.