|
Hammerite posted:Would you mind explaining what "[opinion] is a Very Normal thing to say at best" means without using this internet-cool-person register, because I have no loving idea "Very Normal" is sarcasm, in this context it means "bad and inappropriate". See also "having a normal one" ("flipping out over something which is very strange to be flipping out over").
|
# ? Jul 20, 2019 14:00 |
|
|
# ? Jun 7, 2024 16:54 |
|
Simulated posted:That may be true, but Chemistry and Calculus programs have labs where you learn at least a little bit about practical applications. Computer Science programs should be doing the same thing, with labs and maybe even a few SW engineering courses that teach folks how to use source control, the ins and outs of various languages, and so on. At the very least it might increase the quality of the code coming from academia.
|
# ? Jul 20, 2019 14:14 |
|
Phobeste posted:Oh sorry thought the context of somebody calling for public violence against professors for not doing their jobs in the way this guy would personally like would be more self evident, my bad. Given that one person expressed [opinion] in this forum and might be presumed to hold that opinion with some degree of sincerity - you seem to think they were sincere, or at least close enough to it that you found the remarks objectionable - it's feasible that others, such as you, sincerely hold that opinion too. As such, it's not "self evident" in the least what views you might hold with respect to his opinion. I don't think calling for violence against college professors on the basis of their personal failings is reasonable (although I suspect the poster who originally made the remarks intended them to be tongue-in-cheek), but how am I to know whether you approve of or abhor his opinion? I don't know you from Adam. As it happens, I did suspect that your post was intended to indicate disapproval of his stated view. But I wasn't certain because of the extremely obtuse manner in which you expressed it. Hence my request for you to clarify. I know that it's en vogue in certain circles of the internet, including here, to express opinions in a very arch and obtuse way that assumes a great deal about what shared understanding the speaker and others share about the situation; but I personally find that to be objectionable when it leaks out into places (like this one) where more forthright communication might be expected. Keep it to Twitter, is what I'm really saying here.
|
# ? Jul 20, 2019 14:22 |
|
nice meltdown
|
# ? Jul 20, 2019 14:23 |
|
My guy we're on a dead comedy forum you can lose the cut-rate William F. Buckley act
|
# ? Jul 20, 2019 14:35 |
|
Phobeste posted:My guy we're on a dead comedy forum you can lose the cut-rate William F. Buckley act I assure you it's not an act, I am genuinely this verbose and insufferable.
|
# ? Jul 20, 2019 14:38 |
|
Munkeymon posted:99.9% of the code people get paid to write, by volume. There's a word for that!
|
# ? Jul 20, 2019 15:44 |
|
Fixed that. Also: Javascript, the "WE'RE NOT PHP!" of web languages.
|
# ? Jul 20, 2019 16:18 |
|
Dumb Lowtax posted:The bulk of this thread showed up to their CS theory class hungover and now can only guess as to what was in it. Big-O analysis being the whole focus, lmao... maybe for the first week and then stop, because your second programming course should have already covered that enough and there's too much else. I'm glad that you enjoyed it. My problem is that mere programming jobs expect applicants to have CS degrees, but CS is taught as an offshoot of the math department. I've never had reason professionally to use the Analysis Of Algorithms class, nor the Statistics class, or even Calculus, etc. Linear Algebra was interesting but by the time I would have even had to think about it I was a decade out of college. About 1/4 of the CS courses were actually useful in my career, and they were all ones focused on actually coding something and print theory into practice, instead of doing math proofs. There's definitely jobs where these things are necessary to know, because it's actual computer science, and they should require a CS degree. The rest of them (99% of the industry) should ask for a software engineering degree, and universities should start pushing themselves to offer a track on that, that isn't staffed by professors who think that actually touching code is beneath them, and have done so more recently than the 80s.
|
# ? Jul 20, 2019 16:22 |
|
The only reason our students meet with git is that we make them use it as part of practical programming courses -- homeworks, semestral works and so on are submitted through faculty's gitlab pages. We also give them some basics and try to point them towards good tutorials on the whys and hows, but 90% of the students end up pushing everything at once, without actually using version control. We also tried motivating them with providing proper CI environment... It did nothing
|
# ? Jul 20, 2019 16:22 |
|
Pentecoastal Elites posted:I don’t have a cs degree but as far as I can tell from this thread the only useful things it would have taught me I learned in a weekend from that big-O complexity cheat sheet Nonsense. Graph theory comes up over and over and over again.
|
# ? Jul 20, 2019 16:36 |
|
as someone who actually does CS theory I am not aware of any department that teaches CS "as an offshoot of the maths department"
|
# ? Jul 20, 2019 16:57 |
|
Jeb Bush 2012 posted:as someone who actually does CS theory I am not aware of any department that teaches CS "as an offshoot of the maths department" My college did, but that was in 1981, when there wasn't a separate CS department.
|
# ? Jul 20, 2019 17:05 |
|
Jeb Bush 2012 posted:as someone who actually does CS theory I am not aware of any department that teaches CS "as an offshoot of the maths department" Edinburgh? They call it Informatics, of course.
|
# ? Jul 20, 2019 17:07 |
|
to be clear I'm talking about how they actually teach the course, I know a lot of CS departments have their origins in maths departments. the edinburgh one seems unusually maths heavy but still not out of line with the maths content you see in a lot of hard science undergrad degrees
|
# ? Jul 20, 2019 17:18 |
|
I managed to get a module covering debugging, lint, source control etc onto a CS programme. Like most programming things the students are almost completely polarised on it. And very few use version control beyond the minimum the module requires. Even when I just had a student fail their final project by uploading one of their early drafts instead of the final report. Enjoy extending by a year
|
# ? Jul 20, 2019 18:29 |
|
Master_Odin posted:A big problem here though being that a lot of CS professors have really only worked in academia for their whole careers, or maybe a smidgen of working in research labs at a company which can be similar in that you can get away with being bad at normal SW engineering things like source control, what is a linter and coding standards, etc. Our practical courses had practical homework, including writing code that had to pass automated testing. They provided a lab for CS students to do this homework in if they didn't have their own hardware. Is that not common?
|
# ? Jul 20, 2019 20:39 |
hyphz posted:I managed to get a module covering debugging, lint, source control etc onto a CS programme. Like most programming things the students are almost completely polarised on it. And very few use version control beyond the minimum the module requires. Even when I just had a student fail their final project by uploading one of their early drafts instead of the final report. Enjoy extending by a year I know that I don't know the whole situation here, but this comes across as "you clicked the wrong button and now I will take a year of your life and (presumably) thousands of dollars" which is pretty cruel. In my experience most professors would let the student re-submit the correct draft, and that seems like the only decent thing to do here IMO.
|
|
# ? Jul 20, 2019 20:41 |
|
VikingofRock posted:I know that I don't know the whole situation here, but this comes across as "you clicked the wrong button and now I will take a year of your life and (presumably) thousands of dollars" which is pretty cruel. In my experience most professors would let the student re-submit the correct draft, and that seems like the only decent thing to do here IMO. I thought that. The project assessor thought that. The programme manager thought that. But the chair of the assessment committee said “no, there are no grounds for special treatment, why did you even bring this up?” There was some upset but not successfully.
|
# ? Jul 21, 2019 02:50 |
|
Absurd Alhazred posted:Our practical courses had practical homework, including writing code that had to pass automated testing. They provided a lab for CS students to do this homework in if they didn't have their own hardware. Is that not common? It is not. Computer labs will exist but for the entire student body. The CS department may or may not have specialist labs. The way to submit homework will be to zip up the source and mail it to them or submit the zip via web form. If you're lucky, they will provide unit tests for you.
|
# ? Jul 21, 2019 16:50 |
|
Volmarias posted:It is not. Computer labs will exist but for the entire student body. The CS department may or may not have specialist labs. The way to submit homework will be to zip up the source and mail it to them or submit the zip via web form. If you're lucky, they will provide unit tests for you. I mean, it was essentially a lab with some Windows and Linux machines you could log into and do your homework/waste time online in.
|
# ? Jul 21, 2019 17:30 |
|
I never got a CS degree, but every fresh CS graduate I have ever interviewed has been woefully unprepared for real world code bases. What do you mean you won’t be writing quick sort algorithms and worrying about O notation for my entire career?!? FlapYoJacks fucked around with this message at 17:34 on Jul 21, 2019 |
# ? Jul 21, 2019 17:32 |
|
You should be thinking about those things your entire career if you're a good developer. Just because we have 32GB of RAM and more CPU than Apollo 11 doesn't mean you need to use all of it. That's how we ended up with garbage like Electron, and interactive programs that are slower than 30 years ago. At this point the critique of computer scientists as knowing "the value of everything but the cost of nothing" is basically backwards. xtal fucked around with this message at 17:40 on Jul 21, 2019 |
# ? Jul 21, 2019 17:35 |
|
It’s good to know of O notation yes, but quick sort algorithms? loving lol. There’s a million of them you can copy and paste. Also for like, 99% of the methods you write, O notation won’t mean anything.
|
# ? Jul 21, 2019 17:39 |
|
ratbert90 posted:It’s good to know of O notation yes, but quick sort algorithms? loving lol. There’s a million of them you can copy and paste. I think I was complaining more about people who don't even think about it because the n is small enough not to matter in their perception. But even if the difference is small, that will still add up to something huge over time. It's important to understand and choose the appropriate structures and algos, even if the understanding you come to is "it doesn't matter." What most developers do these days is dismiss that understanding entirely because well it runs fine on my macbook. Cool blog about this: https://accidentallyquadratic.tumblr.com/ Anyway, you should be considering the time and space complexity of every line of code you write, hth. You should never write accidentally-quadratic algorithms, never double over an iterable, and so on. xtal fucked around with this message at 17:59 on Jul 21, 2019 |
# ? Jul 21, 2019 17:44 |
|
Lol my company was bought for $300,000,000 and our codebase is a giant poo poo heap made from the lowest junior engineers in India with no oversight. And yet, $300,000,000. Good code doesn’t sell, it just makes it more maintainable.
|
# ? Jul 21, 2019 18:08 |
|
xtal posted:Anyway, you should be considering the time and space complexity of every line of code you write, hth.
|
# ? Jul 21, 2019 18:08 |
|
Again, some of you seem confused about the breadth of what is covered in a university. Although it makes for a nice post-hoc justification for forgetting all your classes, your theory course did not in fact mostly cover quick sort and big O. That's what your second intro course is for. If it wasn't like that, then your school probably ran into trouble with its accreditation because of failures to teach required undergrad topics, like my first school did. What does it look like if a school does it right? Take a look at this schedule for a basic CS theory class. It's one of our teachers. code:
Notice that that only adds up to 17 lectures. That's a pretty short semester, right? Well, it's not even a semester at all -- a semester is 16 to 18 weeks. My school teaches all that in just one compressed 10 week period, a "quarter", where two lectures happened to be missed due to holidays and one more due to the midterm. They fit an entire extra quarter into the year due to this compression. The teachers still get all those topics in. That's how you know what goes in a Theory course. Even when they're in a hurry, universities teach a whole lot of concepts that are widely useful depending on what you're programming. Apparently most working programmers don't give them credit for it, either because they didn't go to such a program and are just guessing, or because it was so long ago they can't remember where they picked up those ideas. Or their program was one that did them a disservice. It's noble to want to bring the university closer to the real world, but it sucks to see it argued poorly, so at least stop framing it as being a difference of just a tiny number of extra topics explored. It was not.
|
# ? Jul 21, 2019 18:12 |
|
ratbert90 posted:Lol my company was bought for $300,000,000 and our codebase is a giant poo poo heap made from the lowest junior engineers in India with no oversight. If your focus is on what's good for a buyer instead of what's good for a user, then you're part of the problem. I don't deny that we have an incentive to write bad code, much like coal miners have an incentive to destroy the environment. It's definitely easier and faster and less expensive to write garbage code. But it's up to you to fight against that. Not just because it leads to a better user experience, but because writing bad code is self-sabotaging the entire industry. This is probably why people say that programmers should have an ethics class.
|
# ? Jul 21, 2019 18:20 |
|
Dumb Lowtax posted:Again, some of you seem confused about the breadth of what is covered in a university. stanford sucks lol
|
# ? Jul 21, 2019 18:21 |
|
weird that stanford teaches the exact thing that google hires for, weird coincidence!
|
# ? Jul 21, 2019 18:22 |
|
ratbert90 posted:It’s good to know of O notation yes, but quick sort algorithms? loving lol. There’s a million of them you can copy and paste. Anybody who's writing a quicksort outside the classroom in 2019 should be whapped upside the head. (A) use a library and (B) are you sure quicksort is the fastest solution to your particular problem?
|
# ? Jul 21, 2019 18:23 |
|
uncurable mlady posted:stanford sucks lol An embarrassing effort, get more schooling and try again
|
# ? Jul 21, 2019 18:23 |
|
xtal posted:This is probably why people say that programmers should have an ethics class. That puts it on the individual programmers instead of the execs who created the perverse incentives and unrealistic pressures Like, the situation they just described is not some random underpaid dude in India's fault
|
# ? Jul 21, 2019 18:26 |
|
Dumb Lowtax posted:That puts it on the individual programmers instead of the execs who created the perverse incentives The execs didn't create those incentives, that's just capitalism. Until we get rid of that, it's up to the individuals. We all do have an individual responsibility in making sure that the things we produce for other people are optimal for them regardless of ourselves. Our wasteful computing practices right now are a huge problem for people on slow connections or using more-accessible interfaces. I work on multiple complicated projects right now, and they can all be delivered to users in under 56kb, including assets, no JavaScript. That's because I thought of them from the beginning. It's not even particularly hard. This is an accessibility concern, where accessibility is defined as either ability or locality. xtal fucked around with this message at 18:35 on Jul 21, 2019 |
# ? Jul 21, 2019 18:29 |
|
Dumb Lowtax posted:An embarrassing effort, get more schooling and try again mfw you spend a quarter million dollars for a degree to go optimize ad clickthru rates at google
|
# ? Jul 21, 2019 18:30 |
|
xtal posted:If your focus is on what's good for a buyer instead of what's good for a user, then you're part of the problem. I don't deny that we have an incentive to write bad code, much like coal miners have an incentive to destroy the environment. It's definitely easier and faster and less expensive to write garbage code. But it's up to you to fight against that. Not just because it leads to a better user experience, but because writing bad code is self-sabotaging the entire industry. I agree with everything here, and I didn’t say that good code was bad. Just that good code doesn’t mean it will sell.
|
# ? Jul 21, 2019 18:37 |
|
the reason you learn about quicksort or whatever in an algos class is not so that you can go out and write a bunch of quicksort implementations, jeez
|
# ? Jul 21, 2019 18:38 |
|
Jeb Bush 2012 posted:the reason you learn about quicksort or whatever in an algos class is not so that you can go out and write a bunch of quicksort implementations, jeez I also remember the era when my husband took his subroutine library from job to job because who wants to write a string package and a thread package all over again.
|
# ? Jul 21, 2019 18:58 |
|
|
# ? Jun 7, 2024 16:54 |
|
University classes last for one semester at most. That means that there are some pretty hard limits on how large a project you can have attached to a single class, and that places some limits on what you can effectively teach. Yes, you can talk about version control, and testing, and object-oriented design, but those are all things that don't really show their value until you're working on a big piece of software. Those are things that you really can only learn on the job. Theory probably isn't all that relevant to most jobs, but it is relevant for anything you want to do at scale, and the best jobs are moving in that direction. In addition, it might be the case that your job would be made easier by a piece of theory that you don't know. No one's going to be teaching basic science to their employees, so university really is the ideal place to cover that. In short, you can't get a complete education from a single source. You need to learn some things in school, and you need to learn other things elsewhere.
|
# ? Jul 21, 2019 19:06 |