[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/sci/ - Science & Math


View post   

File: 886 KB, 1170x500, 4873457937598.png [View same] [iqdb] [saucenao] [google]
10289386 No.10289386 [Reply] [Original]

>> No.10289399

>>10289386
If you study computer science academically, you should also major in mathematics alongside it.
If you don't, you aren't a real computer scientist, and instead only a software engineer.

>> No.10289479
File: 55 KB, 574x839, typical cs degree.png [View same] [iqdb] [saucenao] [google]
10289479

>>10289386

>> No.10289534

>>10289386
What are the meme degrees in Stem? I know CS gets a bad rep, are there any more?

>> No.10289546

I can’t wait to replace all of you with a script.

>> No.10289548

>>10289534
Computer Engineering.

>> No.10289555

I think compsci people code better don't they?

>> No.10289568

CS is applied math. What good is math if you don’t apply it?

>> No.10289572

>>10289568
>Not appreciating pure math
Literal faggotry.

>> No.10289604

>>10289399
Most CS degrees today should be software engineering, not CS.
I have a CS degree and I know fuck all about CS, I'm just a damn code monkey. Now pay me stupid money for easy work that will inevitably lead to mass unemployment.

>> No.10289631
File: 131 KB, 1257x946, Screenshot_2018-10-07 fall2000 - flowchart-bscs pdf.png [View same] [iqdb] [saucenao] [google]
10289631

>>10289479
Hows my schools guys?

>> No.10289641

>>10289572
>The greatest mathematicians were those who sought ways to solve real world questions
In today's world there is no pure math, nearly any abstract math topic can applied in some modeling or data analysis.

>> No.10289653

>>10289641
CS theory has a lot of pure problems. Why are you lying? In general, theory has always studied fairly pure problems.

>> No.10289677

>>10289534
Degrees where those who don't dual major get major-related jobs straight out of a Bachelors.

>> No.10289679
File: 260 KB, 750x973, 1547064410592.jpg [View same] [iqdb] [saucenao] [google]
10289679

>>10289386
Off of an archived thread, in response to a post saying "It depends on your subfield. Computer science is the baby of pure math and engineering in its entirety. Theory is more pure math and systems is more engineering and design.":

"Honestly this. If you haven't done grad research, then it's more than likely not really computer science. The problem is that people (especially insecure undergrads) think computer science *as a field of study* has industry presence in the job market immediately out of undergrad like traditional engineering programs, but actually like math and science, you really have to go to grad school to see the real meat / essence of the field. At the moment, in terms of academic AND industrial employability, the CS PhD (especially theory) launches you into really interesting math problems that are immediately motivated, even if they're abstract and pure. Since they yield application in greater mathematical (and sometimes even physical theory), this is very exciting to other researchers.

That being said, a lot of undergrad programs fuck up by catering to the big software boom for money. There are some pretty great programs out there, though, but double major in math just in case.

t. 3rd year math grad student with a lot of CS grad friends"

>> No.10289693

O B S E S S E D

>> No.10289712

>>10289386
Concrete Math is an introductory text that Knuth filled with open research problems in every chapter. If it's trivial you should be a trillionaire right now since you easily solved all those

>> No.10289734

>>10289712
It's easy to call a text you've never read trivial. Concrete Mathematics and CLRS are filled with sophomore level CS problems, but the end-of-chapter books in Concrete Math are tough, and the end of CLRS is pretty tough as well. Sisper is pretty easy. I dunno why people think it's the gold standard for "difficulty" in CS. All of my difficult CS classes have been based professor's notes + pdf's of chapters from various springer books.

I've yet to see a school actually use "discrete math for ducks."

>> No.10289737

>>10289734
*end-of chapter problems (barring the literally unsolved questions)

>> No.10289846

>>10289641
Yeah but you don't need a real world example to appreciate it. It's fine as is, like primes before encryption.

>> No.10289848

>>10289534
>I know CS gets a bad rep
I really hope you are trolling. That only ever happens here and they can never say why CS is a bad degree without resorting to memes.
And what is a meme to you anyways? If you're asking about which STEM degrees are the worst in terms of jobs then chem, ChemE, anything Bio related, Math, physics, aerospace and EE are by far the worst ones. CS and CE are at the very top of all STEM degrees.

>>10289568
CS is applied math and applied engineering.
How can math and engineering fags even compete?

>> No.10289855

>>10289386
Is the joke here that all three of those books are extremely difficult?
Memes aside how hard is introduction to algorithms?

>> No.10289871

>>10289855
The majority of the problems in these books are geared towards late freshman-early sophomore mathematical maturity. Advanced algorithms and theory textbooks like Flajolet and Sedgewick's Analytical Combinatorics and other books are really tough

>> No.10289875

>>10289848
Big Pharma ChemE is booming. Bioinformatics is booming. Math academia is doing pretty well. Physics is in a rut lately, but quantum information is booming. RF in EE is booming.

CS (especially in post grad, where it encompasses both pure and applied topics) is one of the most fascinating subjects out there, but cmon man, don't oversell the situation here.

>> No.10289886

>>10289855
A better text (assuming you read Concrete Math first) is Kozen's The Design & Analysis of Algorithms. It carefully goes through each example, explaining how the core theory works. Cornell and CMU still use the 200 page or so book for grad introductory algorithms courses.

>> No.10289887

>>10289399
>>10289399
idk why people bash software engineers. my brother works at microsoft out of uni and makes 150k a year. soon that ill be me too (hopefully)

>> No.10289906

>>10289386
>books seen in the first 2 years of a CS program are trivial
Yeah no shit niggerlicious faggot

>> No.10289922

>>10289887
You just wrote the reason why people here bash CS majors.
Envy.
6 figure jobs aren't that rare for CS majors and there's tons of jobs around. Other engineering students have a difficult time even getting a job. Math majors and physics majors are practically fucked. It's the reason why math fags here are the most bitter. /sci/ bashes CS as if somehow the major is at fault for their terrible life choices. Ignore what people here say.

>> No.10289960

>>10289871
We could argue that there are tougher books but often the book is used as a supplement to get the student to understand the material while they tackle tougher problems in class. People don't go into undergrad CS because they want to learn hard theoretical math but because they want to learn applicable concepts in the real world. This is true any engineering field.

I don't even know where you're getting the sophomore level. CS programs break data structures into two classes, intro and intermediate/advanced. My school used the book for both of them and while I can see how intro can be a sophomore level class (it was freshman for CS) the advanced data structures was anything but easy. The advanced class covers the final chapters of the book and we went further in depth in class. I can't see how advanced data structures is easy or soph level. Shits pretty hard. I can see how the material for the intro is soph level but that doesn't make it easy.

Math majors in my uni take physics I and they often complain it's one of the hardest classes they take. Physics I is a freshman class but it doesn't make it easy (well it is compared to other physics classes but I'm just saying this based on the math fags). People here seem to call stuff freshman or soph level as if math students could easily ace the material but that's simply absurd. I've known people who switched to EE after they failed intro to data structs. Some switched to math because it was an easier workload. And yes I'm sure there where people who switched to CS from EE and math as they struggled in those classes. It's almost like people have different strengths or something.

CS isn't a math degree. The quality of the major isn't based on the difficulty of the math. To bash a major over the difficulty of the intro to data structs book is absurd. People who claim the book is easy seem to be memeing but I can't see how someone can read the final chapters of the book and claim it's easy. L

>> No.10290173
File: 942 KB, 240x180, the_joy_of_programming.gif [View same] [iqdb] [saucenao] [google]
10290173

>>10289386
>this thing I don't know anything about is bad!
I presume people tell this to themselves to make them feel better about not knowing?
That's really sad anon.

>> No.10290379

>>10289548
engineering

>> No.10290384
File: 17 KB, 448x448, 28716AE1-6CC0-4802-B363-392416BA706D.jpg [View same] [iqdb] [saucenao] [google]
10290384

>>10289960
I said it’s sophomore level because it is. CS is whatever you make it out to be. It’s not really a pure engineering field, but it’s two big camps (theory and systems) are math and engineering respectively. My school is very strong in the theory rankings, so our classes tend to cater to the researchers’ interest, though out systems classes are also good.

I never said it was trivial or even easy (a good amount of these problems shit over other sophomore levels classes like intro E&M + atomic physics or introductory ordinary differentials in terms of difficulty) but that it takes sophomore level mathematical maturity (meaning they’d be the harder questions in an intro to proofs class, but introductory nonetheless). Even advanced algorithms that come right after a required algorithms course, after you’ve learned basic shit like Ackermann, Stirling’s, KMP/Karp-Rabin, etc. is way harder. The same goes for data structures when you stop learning structures like AVL trees and start doing stuff like crazy proofs using [math]B^{\epsilon}[/math] trees on external memory. High level CS is almost entirely engineering, entirely math, or a combination of the two. If you don’t think CS *ought* to be a math degree with its own engineering principles (with the potential to be the next truly difficult yet immediately applicable undergrad major), then I completely disagree with you. Mathematical maturity is 100% a requirement, which is why you’re always advised to double major. It’s absolutely worth it and pays off in grad school

>> No.10290392

>>10289960
Also
>The quality of the major isn't based on the difficulty of the math.

For CS, it literally is since it is a mathematical study. The difficulty of its math becomes apparent in any grad level study. If you aren’t there or plan to go there, then you are likely just using the basics for software development and don’t really “study” CS. Even in its most applied, CS is a mathematical study.

>> No.10290459

I live in a meme third world country, is this a good CS program?

C Programming
Intro to Algorithms
Data Structures
Graph Theory and Formal Languages
Digital Electronics
Programming Languages Theory
Theory of Computation
Computer Organization
Database Systems
Computer Architecture
Operating Systems
Computational Statistics
Advanced Algorithms
Data Communications
Software Engineering
Computer Systems Performance
Artificial Intelligence
Machine Learning
Data Mining

>> No.10290497

>>10290459
unironically way better than my first world "top 20" school CS program(switching to math cause of how gay it is)

>> No.10290640

>>10289386
I'm a CS major and I happily admitted that it's easier than math or physics. But let's be honest, biochem is the real joke

>> No.10290651

>>10290459
>C Programming
Why not C++?
>Intro to Algorithms
>Data Structures
Did you write that backwards?
>Graph Theory and Formal Languages
So a pleb discrete math course that goes through the basic definitions.
>Digital Electronics
>Computer Organization
>Computer Architecture
What's computer organization if not digital logic/electronics or architecture?
>Computational Statistics
So pleb tier probability for retards.
>Artificial Intelligence
>Machine Learning
>Data Mining
Why 3 courses?

>> No.10290715

>>10290651
>>Computational Statistics
>So pleb tier probability for retards.

How so? probability is already a requirement to the degree.

>> No.10290784

>>10290459
It's shit, major in EE or math instead.

>> No.10290830

>>10289848
>they can never say why CS is a bad degree without resorting to memes.
A CS degree is just a waste of money because it's absolutely trivial to self learn, yes you can technically learn math and physics yourself but self learning CS is much easier, you don't need a 4 year degree to learn baby shit like big o, data strucutres, automata theory and algorithms. These courses only require high school level math and any other STEM major who had to deal with shit like complex analysis, electromagnetism, fluids, signal analysis should be capable of learning this in a few months.

>> No.10290862

>>10289572
Give me a concrete application of the Vitali sets.

>> No.10290923

>>10290830
I mean with everything, the basics are easy. Advanced undergrad CS gets tricky, especially in the realm of advanced algorithms (as mentioned by >>10290384) and other theory. No, Sisper and the like aren’t seen as the paragon of difficulty at all, and all of my hard classes have been from professors notes. I double majored in math and CS, and got a physics minor (didn’t get to take second semester advanced classical mechanics and thermal physics, later self studied these in prep for the PGRE, and had the time to do this since I came in with a LOT of AP credit for math, science, and writing/history), and hands advanced CS theory was harder than advanced physics theory. I don’t mean to say one is easier than the other, but saying CS is easy to study is a toss up between saying “basic software development requirements are academically easy” and “advanced theory is easy.” I think the fact that I learned about Noether’s Theorem in my second theoretical CS class and used it to talk about invariance among languages and not about the conservation laws in any of my physics classes is an apt example.

Also, learning about differential equations and their uses in physics doesn’t suddenly mean you know can pick up all math up there without review or study. While your average CS program might not be great, you must not lose sight of what “actual CS” entails

>> No.10290983

>>10290923
>Advanced undergrad CS gets tricky, especially in the realm of advanced algorithms

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2008/lecture-notes/

Is this a "hard" CS course? Because everything there is completely trivial.

>> No.10291020

>>10290983
Streaming algorithms are pretty tough, but this is still in the realm of intermediate-intro algorithms. Also, easy in what sense? All of my algorithms tests have been on nontrivial uses of various algorithms and provable reductions. In some essence, in undergrad algorithms the hard part isn’t even the initial material, but understanding the motivation and how far you can take the features of structures and algorithms. This comes out on hard algorithms problems where you have to either notice the clever reductions or you have to work out something completely new.

>completely trivial
By what metric? If you’re talking about how it doesn’t mention the pure mathematical motivation, well duh, it’s undergrad advanced algo. But if you’re trying to tell me you could solve through all the combinatorial tricks without the same sort of attention you would afford undergrad physics (with the latter not being nearly as hard as people on this board give it credit to be), that’s a pretty bold claim. And I don’t mean like that one person who crammed for all the tests and *purportedly* passed on self eval, even out a disclaimer that he still didn’t really know anything about CS at the end. The thing about these classes is that you need to find really clever ways to make the simplest ideas go really far, and that’s not easy.

>> No.10291062

>>10290983
>completely trivial
Haha, I completely believe you.

>> No.10291084
File: 226 KB, 750x1040, 7EA2DA25-A791-4FDB-831F-05D72F660329.jpg [View same] [iqdb] [saucenao] [google]
10291084

My problem is that if you bring up anything related to CS, people pile on you even if you’re not even a CS major. It’s like mentioning anything about CS is a sin. I also barely see anyone chiming in on CS complexity theory/proof threads, leading me to believe that people actually don’t know what they’re bashing. You can’t talk about actual CS and expect anyone to have a conversation with you here, because all these people know are how to bash the basic principles of software development, which has little bearing on the CS that would be categorized as discussion belonging on /sci/.
It’s either this or meme “AI is gonna destroy us all” vs “AI isn’t worth shit” threads, hate threads, or “my major > your major.” You can’t have a discussion about a CS problem/proof like you can about a math problem, because the former devolves into a dick measuring college major contest where none existed. /sci/ is an undergrad joke.

>> No.10291097

>>10289399
I'm one semester from finishing a double major in mathematics and computer science. Comfiest major.

>> No.10291106

>>10291097
Right? It’s a lot of fun seeing the connect across fields. Lots of options, lots of exposure, and you can make it as hard as you want. People get up in arms and say “well you must have skipped all the HARD, ADVANCED math to get your barebones math major,” which I feel is major cope considering I got to graduate level math and CS by my last semester, and yes I took 2 semesters of honors analysis and 2 of honors algebra, topology, etc etc. everyone in my specific major combination did similar stuff

>> No.10291239
File: 297 KB, 836x1136, 235739257.png [View same] [iqdb] [saucenao] [google]
10291239

>>10291084
>all these people know are how to bash the basic principles of software development, which has little bearing on the CS that would be categorized as discussion belonging on /sci/.

Every fucking time

>> No.10291246

>>10289386
cringe
>>10289922
based and redpilled

>> No.10291272

>>10291020
>The thing about these classes is that you need to find really clever ways to make the simplest ideas go really far, and that’s not easy.

You can do that with everything though. Algorithms are easy because the requirements to self learning them is a joke. To learn advanced physics you need a good understanding of various math and past physics topics, to learn algorithms you only need high school math.

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2008/lecture-notes/lec16.pdf

Literally anyone who passed school can learn this on their own.

>> No.10291341

>>10291239
It's easy to post blue man and shitpost. Good job anon!

>>10291272
There's a pretty serious flaw in that thinking.
The actual mathematical maturity you need in advanced physics varies, since most of the math you use in undergrad physics comes in the form of differentials, statistics, some basic algebra, and some special geometries. You use the results of math classes that teach you these forms, and then you put these forms in use. The thing is though, the heavier the mathematical machinery, usually the less difficult the reasoning needs to be when you're actually applying it. Physics in undergrad uses math as prepackaged reasoning to make rigorous sense of the ideas. Until you get to making fundamental theory, differentials handle the ideas of change over time for you.

The heavy lifting to make sense of these ideas' mathematical implications has already been done. This is why any reasoning or intro to proof class shits on up to sophomore level physics in terms of difficulty. Look at first semester analysis, which really only uses basic algebraic tricks and set theory to start building calculus. You're using high school level math combined with higher reasoning to make sophisticated mathematics. So in that regard, you cannot meaningfully judge difficulty based on "how hard the math looks" because when you have a major whose rigor is based on the reasoning, you have to really go through building the maturity. Most of physics doesn't do this in undergrad. This is why I say that CS is to be judged on how far you can take the simple stuff, because good CS programs focus on taking the basics as far as they can go, and then hone in on using sophisticated mathematics and pretty notation in graduate school. I still think a double major in math is important.

This does show up in theoretical physics, but then again, it shows up in theoretical CS and math as well, and all of these are really only truly studied in graduate school.

>> No.10291459

>>10291341
The point is you still need to understand the math to make sense of physics even at the most basic undergrad level. For example try to self study maxwell equations without knowing the basics of vector calculus, chances are you're going to be completely clueless of what's going on, and this is just sophomore material.

Meanwhile to actually learn an advanced algorithms class you don't need any previous knowledge whatsoever.

And this is just comparing a basic physics class against an advanced CS class.

>> No.10291480

>>10291020
>it’s undergrad advanced algo.
That's actually a graduate course

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2008/

>> No.10291489

>>10291459
Knowledge =/= intelligence
Knowledge =/= difficulty
The POINT is that knowledge can be arbitrarily obtained, and that building mathematical maturity is a much harder and more rigorous thing to do. It takes a lot of patience and practice.

You don't really need to understand the math to do physics. You don't build up partial differentials from analysis. You need to understand that the result represents the physical ontology of the theory you're studying. Maxwell's equations are a summation of 4 basic E&M ideas that you learn in introductory physics and sort of flesh out in electrodynamics, but the introduction of additional knowledge says nothing about difficulty or even the sophistication of the ideas. Oh no, you need a differential to talk about time dependency on fields. Oh no, you need to know how to solve second order equations using a basic method from linear algebra and ODE's. The horror. How difficult.

Advanced algorithms (in undergrad) doesn't start off with a lot of heavy machinery, and it's mostly reasoning. Eventually you get to the heavy machinery, and the reasoning goes up to 11. I remember one of the hardest questions in undergrad for me was after learning about reducing polynomial multiplication to Fast Fourier Transform, applying this and solving out how to match strings with wild cards. That was a bitch of a problem that took me reading research papers from the 90s to help make sense of since I was bouncing back from the transform to the FFT algo, and the motivation and so on. So no, algorithms going forward actually require more knowledge, but the POINT in undergrad, learning how to reason is much more valuable.

Don't get me wrong, Electrodynamics isn't too easy, but instructors generally hold your hand as they walk you through 2+ semesters of it and applications. Vector calculus can be a bit tedious at times, but as long as your basics are good, it's really not tough if you're paying attention.

>> No.10291496

>>10291480
Probably. Intro grad algo tends to be review of stuff from intermediate undergrad since a lot of people in the CS PhD don't have an explicit background in it. Usually something along the lines of combinatorial methods in complexity theory or higher level theory is where you actually start reading into the real meat of research

>> No.10291519
File: 9 KB, 568x161, 489479573.png [View same] [iqdb] [saucenao] [google]
10291519

>>10291489
>Oh no, you need a differential to talk about time dependency on fields. Oh no, you need to know how to solve second order equations using a basic method from linear algebra and ODE's. The horror. How difficult.

kek tell that to CS majors who fail Calculus multiple times and unironically think that's the hardest class they have to do.

>> No.10291520

>>10289604
>code monkey
>doesnt know 4chan markup
checks out

>> No.10291527

>>10291519
Weak undergrad. I wanna tell them that it's okay, but to be completely honest, it really isn't. Calc 1, 2, vector calc, and ODE's aren't hard. PDE's are usually late enough that there's a proof class on them in the math department, but even then they're not too bad either. As long as you do your homework and work through the examples, none of these classes are hard.

>> No.10291533

>>10291519
>>>/g/69283008

>> No.10291556

>>10291533
>>>/g/69300377
>I'm 30 and working on my CS degree now. I failed precalc 6 times and every other math class once, same for english classes and public speaking.

kek

>> No.10291608

>>10291556
How in the unholy fuck do you fail public speaking?

>> No.10291623

>>10291608
Have you [math]seen[/math] CS majors?

>> No.10291740

>>10291623
Valid, now I feel like one.

>> No.10291962

>>10290384
>>10290392
What was your undergrad degree on? I'm assuming you're a graduate student and what is your graduate degree on?
In your opinion, what in a bachelors degree for computer science requires a junior or senior level of mathematical maturity? Does nothing require it?

I don't think you realize how ridiculous what you say sounds like. CS isn't just math. Its a combination of math, engineering, programming, architecture etc. Math is only a part of the degree. By calling it sophomore level its as if you're implying any math student could easily get a degree in CS. By that faulty logic, the same would apply to any engineering study. CE has for the most part the same math as CS. Would a math student easily get a degree in CE? Other engineering disciplines mainly rely on calculus and lin. algebra so does the same apply to them?

If what you say is true, how come math majors aren't out there taking everybody's jobs? Why do companies prefer people with CS degrees over math degrees? How come math majors aren't taking engineers jobs? Degrees like CS and engineering are difficult not just because of the difficulty of the material but also because of the workload associated with them.

A lot of people don't want to go to grad school. For those of us there is no point in learning more math than what we need. Again CS is not a math study. Its applied math and applied engineering. You don't need a grad degree in CS to get a good job. A bachelors is more than enough. You're putting your own biases within the degree. I'd say CS is a much tougher degree than math. Sure we could argue some undergrad math classes require more intellect but the workload associated with CS is what truly makes it a much tougher degree than a math degree.

>> No.10292038

>>10291962
My undergrad degree was a double major in math and computer science. My graduate degree is in computer science, and I study quantum information (closely related to quantum computers, but not necessarily algorithms or computers per say). In my opinion, I think the majority of CS degrees awarded out there require little to no mathematical maturity since they cater to the software industry. As a field, however, CS demands a large amount of mathematical maturity.

>Its a combination of math, engineering, programming, architecture etc
It's a combination of various camps. Look earlier to another post, where I posted a quote from another thread: "It's the baby of pure math and engineering." There are theory and systems camps, but both of these people need their own rigor. Theory is all rigor and math, while systems is some proof, mostly design, lots of interfacing with EE, etc etc. These are the people who do learning on signals and make the world go round in the guts. Theory people on the other hand go to mathematicians' conferences, collaborate with systems people, have like 3-6 of their own famous conferences, etc etc. So as a field, it isn't, but any subfield worth going into, even systems, features a lot of it, and theory, which is the golden egg of CS, is nothing but mathematics.

Programming is not CS. It is a part of software development fundamentals, which is a combination of engineering principles (though not engineering rigor) and art. It's a fine profession, but it sure as hell isn't "CS."

CE is more or less EE with some basic CS classes thrown in. Every CE person I met generally does mostly EE core, some data structures, graphics, compilers, and then some systems, and that's about it. Its focus is very much traditional engineering with some added knowledge in the basics of computation.

(cont)

>> No.10292051

>>10291962
>>10292038
Part 2
>If what you say is true, how come math majors aren't out there taking everybody's jobs? Why do companies prefer people with CS degrees over math degrees?

Because they're asking for software development skills. I do see some math majors get some with a good portfolio, but generally math majors go for academia or analyst jobs. CS degrees are easiest proof that you can type out basic code that follows basic principles to get something like Apache working, or that you can do teamwork to get the thread safe server code out, etc. However, these use the basics of the basics of CS, and aren't really CS jobs themselves. In the same way that doing financial modeling uses math, but isn't really a math job, like how consulting for an engineering firm isn't exactly a physics job, etc., writing code isn't automatically a CS job. It's just that CS people have the most passive exposure to it, and companies are looking for people competent enough to do teamwork. That's it. Unless you do cryptography or HPC, your job isn't really a CS job out the gate.

>Degrees like CS and engineering are difficult not just because of the difficulty of the material but also because of the workload associated with them.
If you're good with your time, truth be told they're not. The labs are a bitch, but if you study, they're not bad.

>A lot of people don't want to go to grad school. For those of us there is no point in learning more math than what we need.
Then you're not really studying computer science, the mathematical and scientific study of computation and mechanistic / natural processes. What you "need" is anything that furthers the study.

>You don't need a grad degree in CS to get a good job.
You don't. You generally need one to do actual CS.

(cont)

>> No.10292059

>>10291962
>>10292051
Part 3

>A bachelors is more than enough. You're putting your own biases within the degree. I'd say CS is a much tougher degree than math.
Not really. I did both. CS starts out way easier than math. It catches up in difficulty as per its intimate relationship with math. At least math departments arent afraid to throw their students into rigor and hard ideas early on.

>Its applied math and applied engineering.
Some is applied, some is pure. ML is all applied vector calculus, linalg, numerical analysis, etc. The Unique Games Conjecture is all pure math. Its engineering side is naturally applied.

>Sure we could argue some undergrad math classes require more intellect but the workload associated with CS is what truly makes it a much tougher degree than a math degree.
The workload is huge, I do agree, but I wouldn't say that makes it more tough. I've had to do large graphics projects where I had to interface with the card, do a lot of linear algebra, transforms, etc, lots of geometry and physics in that, and then put it all into efficient GPU tricks. I'd say that's a part of applied CS that stresses the math and engineering aspects. I've also had to do really hard analysis classes (got to grad level) that ate up all my time in study and preparing understanding for day to day classes that were as many if not more work. Same goes for my theoretical CS classes.

>> No.10292067

>>10289631
>general physics
this is phys calc right?

you’re taking less math than most mol bio majors i know did.

>> No.10292076

>>10291962
>>10292059
Miscellaneous
>By calling it sophomore level its as if you're implying any math student could easily get a degree in CS
Why? I'm calling it what it is. It's sophomore level mathematical maturity. I'm implying that anyone who's curious enough to start proofs could do it because it's not too difficult (at first). Of course as you advanced in Knuth's book and CLRS, you get to really interesting, pretty tough, nontrivial problems / examples, but it's really not that hard (as it's not meant to even be the hardest thing at all! By its own goals, these are ***introductory*** texts!). This would naturally suggest that there's a world of CS proofs and algorithms that aren't even touched by these books. I'm saying they're sophomore level because any sophomore could pick them up to start, but it takes a dedicated student to get through them. If this bothers you, work hard to learn all these books offer and then go for more, even if theory isn't your goal. They help in EVERY subfield of CS.

>> No.10292139

>>10289386
CS PhD hardly learn Graph Theory or Modern Algebra.
Phd Math and Turing Award say this to CS students


https://lamport.azurewebsites.net/tla/math-knowledge.html

I recently attended the Heidelberg Laureate Forum, in which some older researchers--mainly Fields Medalists and Turing Award winners--talked to and with young researchers. The young researchers ranged from a few students just entering university to young faculty members, most being graduate students. They came from all over the world and were about evenly divided between mathematicians and computer scientists. There was a rigorous selection process, and almost all the young researchers seemed to be very intelligent.

In my talk I presented a formula that I said was the definition of "the set of all permutations from 1 to N" [sic]. I had already explained that [1..N ⟶ 1..N] is the set of functions that map the set 1..N of integers from 1 through N into itself, and that I was writing f[x] instead of f(x) to mean function application. Here's the formula, about how it appeared on my slide:

{f ∈ [1..N ⟶ 1..N] :
∀ y ∈ 1..N : ∃ x ∈ 1..N : f[x]=y}
I then asked the audience to raise their hands if they could look at this formula and understand it. About half the audience raised their hands. I then asked all the mathematicians to lower their hands. Almost no hands remained up. Hardly any of the computer scientists could understand it.

Remember, these were specially selected, bright young researchers from around the world.

This may explain why TLA+ is not more widely used, and why it should be.

>> No.10292141

>>10292139
Why Don't Computer Scientists Learn Math?
LoL

>> No.10292189

>>10292139
Not sure if they were all theorists. Also as far as I’ve seen, theoretical CS PhD’s interchangeably call themselves mathematicians, theoretical computer scientists, theoreticians, etc. Basic function shit shows up in undergrad discrete math in week 2. Keep in mind that lamport literally had to make clarifications for his other papers like PAXOS.

He’s probably right that lately many CS PhD’s skip rigor and go straight for memes like AI and ML craze (as people did for bioinformatics), but as a theorist himself with many coauthors who are theoretical computer scientists, I’m fairly confident that the theorists among them are good at math (given that an overwhelming majority of them started in undergrad math)

>> No.10292436

>>10289631
>USF

lmaoooooo

t. UCF CS student

>> No.10292601

>>10292139
That has got to be fake. I haven't even finished my undergrad in CS and I understand that. I can't even imagine a student in my department not being able to understand that. How did those people ever get PhD's?
I don't even go to a top school or some shit like that. The only explanation I can think of is if the room was full of pajeets or chinks. No school, at least in my state, would fail in teaching something so simple.

>> No.10292663

>>10289631
>programming concepts -> program design -> OO Design -> Data Structures -> Software Engineering, Analysis of Algorithms
3 fucking programming courses before you can take 2nd semester CS?
>computer organization -> computer logic design -> computer architecture
Is "computer organization" a system programming class? Why is it prerequisite to logic design?
>mandatory summer courses in Y2->Y3
>9 fucking credits of summer courses at that
What the hell? Move logic and linear system to the previous semester and make it 18 credits
>No link from Comp Arch/Organization to OS
kek
>secure coding
>not cryptography or provable security
kek
>2 english class and communication for engineers
kek
>Human & Cultural Diversity Elective
indoctrination ho
>mandatory social science course
>mandatory humanities course
>2 general electives
>no math electives
kek
>no programming paradigms, no programming language theory or type theory, no compilers, no networking, no formal languages/automata nor computability theory nor complexity theory courses
>no linear algebra or numerical methods
>probability doesn't use calc 3 nor linear systems
shitty degree is shit

>> No.10292674

>>10292038
>>10292051
>>10292059
>>10292076

>Programming is not CS.
CS is not programming but programming is CS. Architecture, algorithms, combinatorics, AI, etc. are all CS. CS is an umbrella. You're biased into thinking CS is just math.

>CE is more or less EE with some basic CS classes thrown in
At my uni, the difference between required CS and CE classes is about one quarter. I just looked at the rest of the unis in the state and they're pretty similar (although they call their 'computer science' 'computer science and engineering' whereas its just called CS at my uni)
I've never met a CE who focused on EE mainly because there's no jobs in EE. CS also takes more math classes than CE and EE. You asking for more simply looks as if you're calling for CS to be turned into a math degree. And no, the degree shouldn't be split in two because barely anyone would take the math one.

>The labs are a bitch, but if you study, they're not bad.
Depends on the individual. I'm not good with a heavy work and suck at time management. Math would be far easier for me since it doesn't involve the same level of work.

>Then you're not really studying computer science
But I am. You seem obsessed with looking at CS as a pure math degree when its an umbrella. You're right that pure CS math is the purest CS there is but architecture, software development, etc. are still CS.

>CS starts out way easier than math. It catches up in difficulty as per its intimate relationship with math. At least math departments arent afraid to throw their students into rigor and hard ideas early on.
Anecdotal.

>Some is applied, some is pure
Fair enough.
>Why? I'm calling it what it is.
I wouldn't say data structs requires more intellectual ability than the hardest undergrad math class. Difference being one degree is pure math whereas CS is an umbrella. CS departments don't need to make it more math like. Its fine as is and the the level of math difficulty as well as the work load balances out perfectly.

>> No.10292687

>>10292663
>Is "computer organization" a system programming class? Why is it prerequisite to logic design?
Computer organization is often an intro to architecture. Basically goes over FSM, assemblers, architecture etc.

You seem to be trolling though but whatever

>> No.10292723

>>10292139
>I had already explained that [1..N ⟶ 1..N] is the set of functions that map the set 1..N of integers from 1 through N into itself
Why are you inventing new notation? Just write [1, N] ⟶[1, N] or [1,N]^[1,N] like everyone else.
>In my talk I presented a formula that I said was the definition of "the set of all permutations from 1 to N" [sic].
>{f ∈ [1..N ⟶ 1..N] : ∀ y ∈ 1..N : ∃ x ∈ 1..N : f[x]=y}
Just say that's it's invertible or write [1, N] <-> [1, N] or { f∈[1,N]x[1,N] | (∀y∈[1,N])(∃! x∈[1,N]) (x,y)∈f & (∀x∈[1,N])(∃! y∈[1,N]) (x,y)∈f } if you really want basic set definitions

>> No.10292737

>>10292687
>Computer organization is often an intro to architecture. Basically goes over FSM, assemblers, architecture etc.
FSM are done in computer/digital logic, if it's what I think it is, which naturally builds up to architecture the next semester.
>You seem to be trolling though but whatever
What?

>> No.10292746
File: 774 KB, 1080x1080, 1539084631801.jpg [View same] [iqdb] [saucenao] [google]
10292746

>>10289679
>model of computation where you subdivide a colored graph

>> No.10292773

>>10292737
>http://www.cs.ucf.edu/~skhan/Teaching/CDA3103_Summer2014/index.html
>http://ugs.usf.edu/pdf/courses/0708/CDA3201-10-30-2014.pdf
>http://2ksfe2u6shz19ksvbbdjiwkg.wpengine.netdna-cdn.com/wp-content/uploads/2016/01/Computer-Architecture-Syllabus-Spring-2014.pdf

Looking them up, it looks like a typical digital logic course and comp arch course stretched out into 3 semesters with the first course done to mimic the single semester crash course that other schools do. Weird.

>> No.10292785
File: 98 KB, 269x328, 1530055726498.jpg [View same] [iqdb] [saucenao] [google]
10292785

>>10292139
>makes up his own notation
>writes a complicated definition in it
>the definition isn't even correct
>hurr durr, this is why everyone should use my shitty typechecking system
Leslie Lamport is a god-damned fruitcake, change my mind.

>> No.10292796

>>10292773
Just looked up their 3 programming classes.
>programming concepts
Intro to Java
>program design
Intro to C
>OO Design
Intro to C++
>Data Structures
In C

The memes are real.

>> No.10292855

A subject is hated because it is considered easy to them. Laughable.

>> No.10293264

>>10289631
Multiple programming courses is fishy. Data structures (a freshman year course) being taught only after sophomore year is VERY fishy. Very few math classes. Only 1 science requirement (my school had a full year + lab requirement)
>object oriented design
It’s not really a good program

>> No.10293268

>>10290459
Better than US programs which doesn't say much since every american CS school sucks

>> No.10293356

>>10292674
Part 1
>CS is not programming but programming is CS. Architecture, algorithms, combinatorics, AI, etc. are all CS. CS is an umbrella. You're biased into thinking CS is just math.
No, I even addressed this in my earlier statements. CS theory is all math, and CS systems is engineering + some math. All other topics fall under these two big categories. There is AI theory (making new AI forms, actually trying to figure out what AI is doing / processing) and AI systems (implementation and design considerations [not necessarily the code behind it, but understanding how would create architecture to take advantage of its specific computation, how it could take advantage of generic hardware architecture, how you could schedule it efficiently on the bus-CPU, etc]. Most people just want to do application level AI where it's like a JRPG: Use AI on <Problem that needs to be solved> until we get a pretty graph. "Does it matter if we understand the results? Nah, who cares?" This sort of attitude is not CS, but unfortunately it's what most people look for in the degree these days. These in-between "application-level" pieces where you're not really doing anything but throwing what we have on what we want isn't science or math at all, and it sure isn't computer science. It's different when making a library from scratch since that is engineering the tools, and that actually takes a good amount of systems knowledge. For example:
https://mil-tokyo.github.io/webdnn/
This is a fine piece of non-academic systems and engineering a compiler on a distributed service on the backend. It's all web based, but it has nothing to do with webdevving. This is worthy of respect.

I should have been clearer and said that the majority of entry level software engineering jobs out there don't really involve CS at all, with the exceptions of cryptography, HPC, OS development, and new and novel algorithms research / implementation (usually a few startups).

>> No.10293390

>>10292674
>>10293356
Part 2
>You're biased into thinking CS is just math.
No, I'm saying that math is an inevitable and necessary part of proper CS, whether you do theory or systems. Theory studies pure problems and some applied ones with sufficient motivation. Systems studies applied problems but with lots of theory tools in addition to design and engineering principles. Most people don't go hard into systems until grad school though. I'm saying that CS should be harder on the math, which I'll detail later

>At my uni, the difference between required CS and CE classes is about one quarter.
As you said, anecdotal. But more troubling is:
>I've never met a CE who focused on EE mainly because there's no jobs in EE
RF has lots of jobs. Only power and engineering students without internships get super fucked over in all cases. I saw this in undergrad and in grad school; this is a clear over exaggeration of the situation.

>You asking for more simply looks as if you're calling for CS to be turned into a math degree. And no, the degree shouldn't be split in two because barely anyone would take the math one.
No, I'm asking that if you want to say CS is a mathematically rigorous degree, that you should step up and call for it to be so or make it so yourself. Calculus 1 + 2, vector calc, and differentials aren't rigorous. Discrete math 1 + 2 is usually basic. Algorithms is a toss up based on your school. All of these classes should live up to their difficulty / rigor, with additional requirements which I'll detail later, even when I don't focus on theory concentrations.

>> No.10293401

>>10292674
>>10293390
Part 3
>But I am. You seem obsessed with looking at CS as a pure math degree when its an umbrella.
As someone with industry experience and graduate level experience, I feel confident when saying that if you aren't interested in grad school, you're shutting out computer science, even if you want to do industry work later. Architecture jobs require more EE, DSP, and OS/embedded to be truly studied in the field. Software development and computer science are two different camps. Like I said before, most software development jobs do not involve CS. So no, you might be studying some of the basics of computer science now, but you're not going on to *do* computer science in your career.

>CS departments don't need to make it more math like. Its fine as is and the the level of math difficulty as well as the work load balances out perfectly.
They do, because they have to stop pussyfooting between teaching computer science and teaching software development basics and pick one. If they want to teach computer science, they need to teach it properly so that
1) we don't have entitlement among every incompetent, lanky dork to get 100k starting just for writing basic code and knowing basic math when the jobs that pay 100k need way more

2) Because then we're skipping the real fundamentals, for any student of systems or theory.

>I wouldn't say data structs requires more intellectual ability than the hardest undergrad math class.
Of course not. Data structures is a freshman level class, and it's really really really really easy. People overhype its difficulty.

>> No.10293405

>>10291239
Retard

>> No.10293408

>>10292139
Maybe it's because of your retarded notation

>> No.10293422

>>10292674
>>10293401
Part 5
>I'm not good with a heavy work and suck at time management. Math would be far easier for me since it doesn't involve the same level of work.

You don't get it because you haven't been exposed to the math I'm talking about. It isn't just "durr it's harder but there's less, so it's clearly less work and time management!" No, they assign you 5 problems in higher level math because each problem takes a fuckton of time, reading, patience, and insight. It takes a lot of time simply because there are a lot of moving parts and opportunities for insight to solve through. I have a very strong feeling you haven't gotten through the calculation based mathematics courses and then the basic proof ones where the claims take about 5-15 minutes of thinking to solve. If you've never had a problem that took you an hour of attempts, and then near an hour of reading + going to office hours to work through, then you haven't experienced the rigor that's important for computer science as well. Math is not an easier degree to complete at all if you have no time management and hard work skills. A lot of it is working hard for your insight. This applies to continuous and discrete math. Also note: there's way more discrete math out there than what they teach you in the basics.

Seeing the way you talk about math has made me realize you really don't know what you're talking about when you talk about math. If you realize that CS, as a field, is the child of math and engineering, then you should be open to embrace the pure math that still colors the field today. I'm not asking everyone to be a theorist, but I am asking an appreciable amount of theory to keep the degree hard, rigorous, and worth actually studying. Some schools do this. Most don't. I'll give an (incomplete) list of additions and omissions from the typical or even intermediate-okay CS curriculum

>> No.10293477

>>10292674
>>10293422
Some proposed changes to the CS curriculum
Cut out webdev, but most schools worth looking at don't have anything close to this

Have only the intro to CS class be a "learn programming" class. It's good to teach through examples early on. For later classes like computer architecture (which is sophomore level as well), devote a lecture and recitation to the basics of C. Give out a cheat sheet and 2-3 handbooks/resources to teach themselves + a mini project due on the second week of class. Then expect them to learn more of the language as the year goes on by themselves and through some hints in recitation, and make the projects hard. My school did this, and it worked out well. Idk why people ask for "intro to programming with X language"

Cut out discrete 1 + 2, do intro to proofs and probability theory in the math department. Less strain on professors, they can teach lattice tricks and further stuff on relations later. All probability is important for undergrad CS students, discrete and continuous. It's important to be able to do proofs using expectation in wonky ways. It's important to derive distributions and visualize hard situations since randomness is one of the most powerful tools you have

Require stochastic processes because even Markov chains are something a CS student cannot do without

Require topics in theoretical CS I, offer topics II. Everyone should know some theory

Require basic mechanics and E&M with lab. Require further digital logic and signal processing.

Make algorithms I harder. Spend like 1 week on recurrences and get to the good / hard shit earlier. Ask for proof of nontrivial stuff. Talk about non array, non binary tree (other trees are okay), etc. structures and their crazy algorithms. Actually teach FFT and why taking roots of unity works. Etc etc.

Analysis is the quickest way to build maturity, but it's not applicable until grad school.

cont.

>> No.10293502

>>10292674
>>10293477
Require calc 1, 2, vector calc. Differentials aren't applicable in CS until grad school. I'd say do it anyway because differentials aren't hard and you ought to know them, but eh, since the engineering students generally don't take dedicated linear algebra and learn what they need from their other courses, maybe have it like that

Unlike those students though, require linear algebra (though most schools already do). Require abstract algebra or higher linear algebra. Both of these are important in computer science, and would come up in a course like theoretical computer science I

Speaking of algebra, require language theory and compilers if it already isn't.

Require combinatorics and graph theory from the math department if they don't already.

Require proof based numerical analysis

Require graphics with lots of differential geometry and some topology like CMU has

Require OS design. Everyone should know how to design and write at least 3/4 of the fundamental OS components from scratch. Everyone should know what 10 hours of debugging thread libraries feels like.


This is not an exhaustive list, but this is what I find to be immediately useful to computer science students, theory focused or otherwise. Even theory students should do systems classes. But I think there should be a higher call to rigor for CS. If these changes were made, then I'd be comfortable with telling people to double major in math as a supplement/enrichment, but for most people, I tell them to do so because you never know if the math is the only thing worth having on their degree. I was lucky to have a good undergrad program, but most people aren't.

>> No.10293517

>>10293405
>t. butt blasted blue

>> No.10293528
File: 287 KB, 836x1136, cs hate threads.png [View same] [iqdb] [saucenao] [google]
10293528

>>10291239
>>10293517

>> No.10293535

>>10292855
/sci/ is all about dick measuring, like every other board on this site

>> No.10293542

>>10289399
>CS
>software engineer
pick one

>> No.10293893

>>10293477
>>10293502

Computer engineers do most of these, why not just major in that and take as many CS electives as you can?

>> No.10293914
File: 258 KB, 836x1136, 1545935360676.png [View same] [iqdb] [saucenao] [google]
10293914

>>10293528

>> No.10293941

>>10293893
CE covers more sigproc, communications, some graphics, some basic compilers, and that's about it. I don't see them take any more math. Barely any algebra/linalg, the barebones of making a compiler, etc. I see a lot of CPU design stuff on their curriculums, lots of VHDL design, but that's more on making a computer and less about computation. Again, this isn't an exhaustive list, but something that comes immediately to mind. I said that randomization is important in a CS student's mind. Is there any engineering problem you've thought of in CE that would use this approach to solve problems? Do engineering students provably figure out why LRU on caching works optimally if you double the cache size, especially if you don't know an optimal configuration beforehand? I can tell you from teaching them that it's a definite no.

Second of all, CE is very much EE minded. It's not really a CS education as much as it's "here are topics that are useful for building and maintaining a computer." I've always treated it like a concentration of EE because, at most schools, or more or less is. Taking a few data structures doesn't mean you're studying CS. CE people don't do theory. They're very much rooted in applying already an existing engineering curriculum to computers since they're a complicated physical system + some stuff to get stuff working on the machine. Furthermore, I'm asking for a proper CS education, not a proper computer engineering one. CS in proper would take a lot of math that's more or less irrelevant to what CE's generally go for. Second, the ideal CS education would have a foot in the door to grad school and a foot in industry. Computer engineering people and engineering students in general want their bachelors to give them enough to get an industry career. Thus, the goals are out of education are naturally different. I could say more, but saying anything else would be repeating myself. Look to the other big, bulky responses ITT

>> No.10293981
File: 65 KB, 700x1328, 1536051334888.jpg [View same] [iqdb] [saucenao] [google]
10293981

>>10293914
are you implying that 4chan is fractalling array of neckbeards?

>> No.10294176
File: 88 KB, 1840x872, 1487688939214.png [View same] [iqdb] [saucenao] [google]
10294176

>>10289848
>I really hope you are trolling. That only ever happens here and they can never say why CS is a bad degree without resorting to memes.
What are you talking about? it has been proved that you can learn CS by yourself, see here https://www.scotthyoung.com/blog/myprojects/mit-challenge-2/

If you're already a math, physics or engineering major you should be able to complete the challenge much faster.

There's also plenty of resources to learn CS

https://github.com/ossu/computer-science
https://teachyourselfcs.com/

>Thankfully, you can give yourself a world-class CS education without investing years and a small fortune in a degree program

Literally everyone who isn't a brainlet agree that a CS degree is a scam and a massive waste of time and you can invert that time in something more difficult to self-study.

>> No.10294833

>>10294176
>Literally everyone who isn't a brainlet agree that a CS degree is a scam and a massive waste of time and you can invert that time in something more difficult to self-study.
I know new grads who are making 250k+ working in CS. Just stop being edgy. CS is a perfectly fine field

>> No.10294859

>>10289386
CS should have remained as a math track. Turing, Von Neumann and Knuth were all mathematicians, CS degrees lack the math needed to contribute anything to the field.

https://arxiv.org/pdf/1305.0453.pdf

99.99% of CS majors are incapable of understanding this paper, it's fucking pathetic, this is what the average CS major is like https://www.youtube.com/watch?v=xQ1ZEjjP_4k&t=7m43s

>> No.10294872

>>10289631
>Sunday classes
Heathen!

>> No.10294875

>>10289641
Fucking this. Though emphasis on nearly all.

>> No.10294998

>>10294859
>html5
lmao. but look, all of this indignation is generated by the expectations created from a typical American fuckup of naming convention in US unis. When I went to America I was confused because the main course is called "entree". This is fucking stupid because of course that's something before the main, it literally means entry, obviously. But someone in historical America called the mains entree, and it's stuck. Likewise, IT is called Computer Science in USA. All the cringe would go away if US unis renamed the courses so there's 3: Software Engineering (projects, meeting specs, etc. v model), CS (your pdf, tied in with math dept.), IT - programming such as your vid. That's how it is in my country.

>> No.10295024

>>10289534

Anything with "technology" at the end.

Also Civil Engineering, Geology, and Biology.

>> No.10295033

>>10294176
>bro just spend 60 (later still 35 lol) hours a week working your way through the MIT curriculum
yeah no shit you could learn any subject that way, that doesn't discredit Cs in any way
>CS is a scam
only muritards who spend 6 figure sums on their education of a software dev instead of cs say shit like this
example: I go to a privately funded uni (still don't have to pay shit lol) and the prestige is so big that unless you completely fuck up your grades and are on the brink of failure several companies will try to hire you at the end of your undergrad.

>> No.10295047

>>10294859
Hey look, it's that paper I linked in 3 threads! It's funny how the paper I used in defense of CS as an academic study is being weaponized to discredit CS students. I'm not saying that CS education isn't flawed, but that you can't laugh at the results CS produces and discredit it as an easy subject. You gotta pick what side you're on.

Side note: computable analysis is a really interesting field that has close ties with computable physics.

>> No.10295059

>>10295047
*but t you can't laugh at the results CS produces and discredit it as an easy subject while simultaneously using its fairly numerous interesting results and saying "lol CS people could never do anything like this"

Comp. geometry and topology papers are also a lot of fun to read

>> No.10295071

>>10295059
>"lol CS people could never do anything like this"
But it's true, CS majors don't learn topology or analysis.

>> No.10295072

CLRS is such a fucking snoozer. Not only is it utterly trivial, it's just so incredibly dry and uninspiring

>> No.10295132

>>10295071
If physics students can start learning group theory in grad school, then CS majors can learn topology in grad school.

I'm more annoyed that CS programs don't ask for at least a semester of analysis, since my analysis classes helped me in almost every facet of my mathematical education (and incidentally, a strong foot in analysis made topology a lot of fun). There are a lot of computational geometers and topologists who get into these topics in graduate school and do more than fine in them. Jeff Erickson is one such researcher.

>> No.10295136

>>10295072
>utterly trivial
Its first few chapters are pretty boring, but I wouldn't call it trivial. All of it sets up to harder stuff like Flajolet/Sedgewick's Analytical Combinatorics, which is a wild ride. Having the fundamentals down is important.

I did the latter chapters after getting bored with the first few. It's a good reference text and less one you finish all the way (like you would baby Rudin for example)

>> No.10295142

>>10294859
This is literally a community college computer science curriculum. Do you think you're gonna get anymore than the most barebones vocational software engineering from a community college of all places? I'm not a fan of how computer science programs coddle their students, but the situation in the US isn't literally community college tier quite yet. It might be if the demand keeps growing, since everyone and their mother signs up for intro CS classes

>> No.10295297

>>10295142
none of that's science though which is all this board is riled up by. Just call it IT like in commonwealth countries

>> No.10295400

>>10293356
Part 1
I get what you're saying. And you seem quite passionate about the field so I can see your frustrations, but ultimately you are indeed expressing your biases.

>>10293390
>No, I'm saying that math is an inevitable and necessary part of proper CS
I agree. Especially for theoretical. But the field encompasses more than just theoretical and thus needs to cover every other areas. Its good that the degree attempts to prepare students for industry rather than shove too much theoretical math that won't be needed to most. My school allows multiple electives and if someone wants to take more math classes they're more than welcome to.

> Only power and engineering students without internships get super fucked
lmao I will admit oddly enough every EE I've met always seems to be power or embedded.

>if you want to say CS is a mathematically rigorous degree
CS isn't meant to be a mathematical rigorous degree. Its supposed to teach its respective field which is a mix of engineering and math. CS is no more mathematically rigorous then the average engineering degree and it doesn't make any degree less. They're all meant to teach their respective field and they do a great job at it.

>most software development jobs do not involve CS
Technically programming is CS but it is simple enough it doesn't require actual CS.
>Architecture jobs require more EE, DSP, and OS/embedded
You need people at every level for architecture. I wouldn't expect some EE to do it all.

>2) Because then we're skipping the real fundamentals
I'll get back to this on your post where you start talking about changing the degree.

>Data structures is a freshman level class, and it's really really really really easy.
I thought it was sophomore? And no its not easy. If the majority say its difficult and you say its easy then clearly you're the odd man out.

>> No.10295404

>>10293422
Part 2
>You don't get it because you haven't been exposed to the math I'm talking about.
You're right that I haven't been exposed to the math you have. So instead I'm forced to guesstimate by the experiences from my math friends. So when my math friends who are going into a masters program tell me physics 1 was one of the hardest classes they took where they barely passed with a C- then yes I can imagine the level their other classes are at. Now we could argue they matured but even they admit the workload associated with physics 1 as well as the intellectual difficulty required for it made the class a living hell. Physics 1 isn't even as hard as as physics 2 or 3. Its true that maybe they did bad because physics 1 required strengths that they did not have and aren't required for a math degree but that simply goes to my point where workload can make certain degrees harder for others. People have different strengths and these strengths are better suited for different studies. This is anecdotal but so is your experience.

>> No.10295408

Part 3
>>10293477
>>10293502
>Cut out webdev,
Never heard of a school that requires web dev

>computer organization (which is sophomore level as well
I will never understand how you come up with these labels or why you care so much for these labels

>Idk why people ask for "intro to programming with X language"
I've seen other schools have it and I think its stupid.

>Cut out discrete 1 + 2, do intro to proofs and probability theory
My school has both discrete 1 + 2 and probability. Its nothing revolutionary.
>Make algorithms I harder.
How do you even define harder? What benefit will it have?

>Require calc 1, 2, vector calc.
>require linear algebra
Which school do you go to where this isn't required?
At my uni, the majority of the stuff you posted is already required like OS and compilers or is an elective like graph theory. I just don't know where you go to where stuff like that isn't required. I don't even go to a top school.

Rather than nit picking everything, lets simplify this.
https://exploredegrees.stanford.edu/schoolofengineering/computerscience/#bachelortext

Here's a course plan for a top schools CS program. They don't focus on theoretical as much as you want. Are they wrong? How would you change their degree? Why do you think you know better than they?

>> No.10295409
File: 56 KB, 736x490, bc2e1ae2ebcd897be050e27dae890cae.jpg [View same] [iqdb] [saucenao] [google]
10295409

as a cs major, i'll be making six figures right out of college and going to work in shorts.
fuck science bitches.

>> No.10295430

>>10289906
>Yeah no shit niggerlicious faggot
Why the based and redpilledia?

>> No.10295476
File: 1.33 MB, 1884x2164, TIMESAND___Conspiracy762.png [View same] [iqdb] [saucenao] [google]
10295476

>>10295409

>> No.10295694

>>10295132
>I'm more annoyed that CS programs don't ask for at least a semester of analysis
That's because people who get into CS programs don't want to be computer scientists, they want to be software developers.

>> No.10295698

>>10289386
>CS hate thread
not science or math

>> No.10295705

>>10292663
>bashing communication and writing classes as a requirement for CS and engineering majors
how did your last job interview go, anon?

>> No.10295715

>>10293477
>Require basic mechanics and E&M with lab
Physics is useless for CS tho.

>> No.10296451

>>10291239
>A* is Graph Theory
Bait.

>> No.10296494

>>10296451
>only getting A*

All the topics listed were trivial to showcase how shallow their knowledge of math subjects they claim to "know" is. I'm sorry that you're a brainlet.

>> No.10296859

>>10295297
Nobody is calling it science. It's vocational software basics from a community college. That's different than CS.

>>10295400
Hooboy. Part 1
>Its supposed to teach its respective field which is a mix of engineering and math
Then it must, by necessity, have mathematical rigor. Otherwise, you get the watered down mathematical results used by other engineering disciplines. If you want to claim it's a proper mix of engineering and math, then there has to be *actual* math to distinguish it from any other basic applied science degree.

>You need people at every level for architecture
What I listed is the bare minimum. Even at the highest level of what's relevant to architecture, you need to talk about addressable spaces on the bare metal. OS development and special task specific policy like for controllers demands this knowledge.

>I thought it was sophomore? And no its not easy. If the majority say its difficult and you say its easy then clearly you're the odd man out.
At my school, it's literally the second class you do after intro to CS and programming. It has calc 2 as a co-requirement. A lot of people at my school (EE, CS, math, and physics people who took it for the minor/double major) thought it was difficult sure, but I think it's really easy for anyone paying attention. Maybe I am the odd man out, but none of it is really that tough.

>> No.10296885

>>10295404
>>10296859
Part 2
>So when my math friends who are going into a masters program tell me physics 1 was one of the hardest classes they took where they barely passed with a C-

Legitimately sounds like your friend isn't good at physics. Physics and math, at an introductory level, can be compartmentalized (and is often done so to transition those with a less mathematical background into physics), so he's probably struggling with the basics of setting up the situation. That being said, almost everyone I knew who did math (year of science requirement + lab) had little to no trouble. Considering that the vast majority of the class was engineering students complaining about the immense difficulty of basic free body diagrams, I really don't think singling out math majors based on a single anecdote is wise.

>Physics 1 isn't even as hard as as physics 2 or 3
The first four semesters of introductory physics are not hard, period. When you start taking topic classes like classical mechanics or electrodynamics, then it gets a little more reasonably difficult, but in my experience, it wasn't until mathematical physics that I got a challenge that was as demanding and time consuming as (higher, third sem) Mathematical Analysis II.

I personally think physics is a blast because of the problems it motivates, and at a sufficiently high level, "doing" physics happens simultaneously with "doing" math, but it takes a lot of knowledge and motivation to do so.

>> No.10296913

>>10290862
>Give me
Spotted the CSlet.

>> No.10296919

>>10295408
>>10296885
Part 3
>Never heard of a school that requires web dev
I haven't had any experiences with a school that does, either, but I hear horror stories. Keep in mind, the proposed changes are to be made to what could be called a "standard" (or below average) CS school. If ABET standardizes engineering curriculums, and math and physics have topics that are in the university canon, why shouldn't we do so for the basics of CS?

>I will never understand how you come up with these labels or why you care so much for these labels
Computer architecture/organization should come after data structures, but really it's a long talk about the amorphous nature of memory, about how list instructions/assembly keep the machine running, peeling back abstractions while motivating students to make their own abstractions, digital signals, digital logic (I expect AT THE VERY LEAST switching circuits), cache choice and design, memory addressing, k-maps, etc. etc. The class is a lot of work, and I think it's appropriate for students to do it early, but not so early that they'll fail out during the transition to university. It's standard, but I still some schools mess it up when reviewing syllabi from schools that my friends postdoc at

>My school has both discrete 1 + 2 and probability. Its nothing revolutionary.
Mine did too. It's not supposed to be revolutionary, but it makes your basics way more solid.

>How do you even define harder? What benefit will it have?
I literally said how to do so in my last series of posts. Limit recurrences to a single week discussion, focus creating novel algorithms on fundamental principles / mathematical observations / reductions, rather than picking out Algorithm X and modifying it slightly work on Problem Y. The fact that lecturers are lazy shoots the problem solving skill of CS majors (their supposed bragworthy skill) in the foot.

>> No.10296955

>>10296494
>logic like DeMorgan's Law
Logic -> DeMorgan's Law
>graph theory like A*
graph theory -> A*

Ffs man either learn to read, or try. You high school, or just didn't take composition 101 yet?

>> No.10296960

>>10295408
>>10296919
Part 4
>Which school do you go to where this isn't required?
At my uni, the majority of the stuff you posted is already required like OS and compilers or is an elective like graph theory. I just don't know where you go to where stuff like that isn't required. I don't even go to a top school.

I've said time and time again that I was lucky to go to a school where all of these were never in question to being requirements to entry into the CS program. I had to do calc 1-3, linear algebra, intro to proofs, and data structures to get admission to the major in the first place (which I think is the right way to go). This is making sure other schools have such requirements, because this much is *not* standard.

>Here's a course plan for a top schools CS program. They don't focus on theoretical as much as you want. Are they wrong?
Wrong isn't the right word. They want money from undergrads to conduct their own research, and there's a lot of money to be had in training people for the software world. So schools try and strike a compromise between teaching the subject academically and vocationally, when I feel like this more often than not can half ass the education if the student doesn't become aware of this early and actively take the harder and less popular classes.

>How would you change their degree?
This degree allows tracks and does so with a full plan. It's good because you have tangible requirements for each track. Most schools give out CS degrees for a certain number of electives, which means that the value of two CS degree from a lesser school are not necessarily created equal / comparable in depth. I see software "I just want this degree to code monkey out there idc bout this" kiddies shotgun into the basic classes and make a degree out of "Intro to Topic" classes while bragging that they have a CS degree. Stuff like that devalues the degree.

>> No.10296967

Everyone is just pissed at CS because nobody knows how to classify it, everyone thinks they do, and all the while the unobnoxious sect of CS majors are keeping their heads down advancing the field and raking in Benjamins writing software to let you argue with people in other countries from your computer chair.

>> No.10296982

>>10295408
>>10296960
Finally,

>Why do you think you know better than they?
I was a student for a long time, am now a researcher like many professors who hold opinions on the education system. Nobody is really pleased. I know better because my goals in these proposed changes would be for the long term benefit of the students and not the administration. Even those who don't want to touch theory later on would benefit greatly as actual computer science students and not software development students. Provided they pay attention in class, they would be empowered with the ability to confidently tackle problems of varying nature and be able to provide efficient and well thought out solutions, whether it be in code, in design specification docs, or even in consultation advice. Instead, I see one of my favorite academic subjects the haven for lazy students who want to receive 100k+ starting while demanding their major be more about clacking away at a monitor than actually solving problems. There's the problem in undergrad CS culture.

>> No.10296992

>>10296967
CS is fine, as a field. That being said, CS people need to stop using their money as the automation refutation, because it isn't really relevant to the discussion. As an academic field, the merit of CS isn't in the bucks studying it in undergrad can score you.

>> No.10297005

>>10296494
I've only seen undergrads seriously use A* in decision problems when navigating a space (usually shows up in computational robotics and automatons).

>All the topics listed were trivial to showcase how shallow their knowledge of math subjects they claim to "know" is.

No, it's the math major's perception to being told that they do not exclusively study their subject. I see people grow out of this in undergrad once they realize that everyone from every field takes problems / theory they find interesting. I've seen a lot of shit from CS majors, but I've not seen them yet claim that they know graph theory after knowing a few graph algorithms, some basic proofs on graphs, etc.

>> No.10297010
File: 82 KB, 1140x431, I know the definition of a graph, I know all of graph theory.png [View same] [iqdb] [saucenao] [google]
10297010

>>10296955
Yeah and? RSA isn't Abstract Algebra or Number Theory either. The whole point is cs majors know next to nothing but think they do.

>> No.10297015

>>10295715
Like I said, physics and differentials aren't sufficiently motivated until grad school for a CS student interested in certain subfields. However, E&M is important for the basics of DSP and digital logic. You want people competent in understanding the fundamentals so that they actually understand what's going on when doing embedded work in the systems camp.

I include mechanics because nobody on the face of this earth should graduate with a degree in STEM without a first semester mechanics course.

>> No.10297018

>>10297005
>but I've not seen them yet claim that they know graph theory after knowing a few graph algorithms, some basic proofs on graphs, etc.
see pic >>10297010

>> No.10297025

>>10297010
This anon wanted to do the big data meme and acknowledged that a full graph theory course was outside his interests and that his algorithms course covered what he thought would be immediately useful. I don't think he's very bright, but I don't think he's demonstrative of "cs majors know think they know more stuff than they do."

Again, I don't consider big data students really CS students at all.

>> No.10297032

>>10297018
Don't worry anon, I paid attention to your picture. Here's your (You).

>> No.10297061 [DELETED] 

>>10297015
>However, E&M is important for the basics of DSP and digital logic.
And? DSP has absolutely nothing to do with CS their digital courses focus on switching circuits. There's a reason why CpE exists.

>> No.10297067

>>10297015
>However, E&M is important for the basics of DSP and digital logic.
And? DSP has absolutely nothing to do with CS and their digital courses focus on switching circuits. There's a reason why CpE exists.

>> No.10297185

>>10297010
I mean, if you'd like we can reduce every major down to their worst example "student", just not sure why everyone chooses to target CS so often with that strategy.

>> No.10297189

>>10297067
>And? DSP has absolutely nothing to do with CS and their digital courses focus on switching circuits.
It absolutely does in OS development and application specific architecture/circuitry. I'm not asking them to spend their entire career in Cadence doing electrical networks, but seeing as how "Random Walks in Electrical Networks" was a big paper in importance to systems CS people, that lots of systems is itself the interface between bare metal and actual organization / hierarchy, etc. It's important, very handy, and like I said earlier, essential if you want to do work in systems (especially distributed networking). Why do you think every radio nerd out there is either an EE or CS professor? This stuff is in the realm of CS, especially on the communications side.

>> No.10297190

>>10296992
>automation refutation
Care to elaborate? My main point is that everyone chooses the worst students to generalize to the whole of CS, and I'm not quite sure why. I went to school with quite a few engineers who couldn't wrap their mind around a fucking operating system scheduling system but rather than come here and shitpost about how they couldn't comprehend theory, I tried to help them understand, just as they tried to help fill my educational gaps elsewhere.

>> No.10297200

>>10297189
what the heck are you talking about? nothing of what you said is CS.

>> No.10297202

>>10297190
>automation refutation
I meant to say automation refutation, as in salary is not automatically the answer to all these threads.

>My main point is that everyone chooses the worst students to generalize to the whole of CS
Unfortunately, a large amount of CS students don't give a shit about CS, which pisses me off. That being said, it's not fair to make generalizations about the field, but because it's easy to pick on (as is any blossoming academic field), people will do so.

Also, scheduling and the choices the OS makes based on processor conditions is fairly interesting. I don't think most EE/CE people touch it and think "oh it's just a big program that's compiled down so it can handle small programs" without understanding that the OS is the small program that handles the big ones. I honestly think that until you've built most of an OS from scratch, you don't know shit about it. Most engineering majors haven't built an OS from scatch, and not enough CS majors have (imo)

>> No.10297215

>>10297190
>My main point is that everyone chooses the worst students to generalize to the whole of CS, and I'm not quite sure why.

Because shit like this is ridiculously frequent https://www.youtube.com/watch?v=ReVeUvwTGdU

This doesn't happen with math, physics or engineering majors. You rarely see math majors complaining about learning complex analysis, meanwhile almost every fucking CS student always complains about learning basic shit like turing machines because "I'm never gonna use this!!!!". I always cringe when I see a CS major asking "DO YOU NEED MATH TO BE A SOFTWARE DEVELOPER".

>> No.10297216

>>10297200
The fuck are you on about? Wireless ad hoc networking? Real time system constraints? Almost all of distributed computing? Learning on signals (which has a cross with bioinformatics)? How about all of audio filtering and editing? Compression? All of these things require a good understanding of signals and have been studied to hell and back in CS departments.

CS isn't what gets you the basic bitch software job. It's not learning basic math and basic software development skills. It's interdisciplinary in nature, and on the systems side, these are real things that people study. I can point you to the MIT and CMU courses for this.

Also, Random Walks on Electrical Networks is pretty important on the most rudimentary applied / basic application of theory. Look at this super simple graphic of it:
https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15251-f09/Site/Materials/Lectures/Lecture12/lecture12.pdf

And while it's more theory and shaved down to the SAT problem, circuit complexity is the mathematical generalization of all of this. Circuitry and switching are part of the foundations of CS from the applied to the theoretical problems it motivates.

>> No.10297224

>>10297216
Show me a CS program that requires Signal Analysis, let alone Signal Analysis AND DSP

>> No.10297237

>>10297224
You must be a different anon than >>10295715
This is literally replying to that guy saying it SHOULD be part of the undergrad curriculum because it shows up everywhere in grad systems and a bit in theory. Look at CMU's learning on digital signals class, but I didn't claim that undergrad programs strictly ask for a DSP class; I'm asking that they should because of the aforementioned, and I'm not alone here (this is really the opinion of my architecture and OS professors back in undergrad). Appropriate DLD is usually covered in the computer architecture courses, except of course your school spends too much time treating it like an "intro to C" course, but I'm happy to say I have no experience with such schools

>> No.10297255

>>10297237
Exactly, there's not a single program because that's not CS period, CS isn't about designing hardware, systems software doesn't care about the PHYSICAL design of the hardware, if you're working with the bare metal you're not doing CS anymore, you're doing EE, the lowest level CS majors need to know is the logic gate level, anything below is irrelevant to CS.

>> No.10297277

>>10297255
No dude, you've ignored everything else I posted. CS isn't synonymous with software design, and EE isn't synonymous with hardware design. Circuitry, signals, and switching are studied with different motivations in these two fields, but ultimately they're not there purely for design purposes. Embedded systems and OS have a very long history. Bare metal programming is done most in the EE schools along with VHDL, but there is no complete, clear categorization for which signals sits in. Like I said, signals plays an important role in a lot of immediate grad applications like compression and networking. I want to say more, but at this point I'd be repeating what I said in the last 2 text blobs. Circuitry is important, even when you're not designing electrical networks in cadence for a living.

>> No.10297332

>>10297202
>>10297215
Sorry for sperging out; I guess as a CS major who went back for more (grad school) I'm just equally pissed off about a lot of those in my major who give us a bad name. That, and I hate that they jump into the major and go through kicking and screaming without much of an appreciation for what it actually is. I wish more schools would separate CS and SE once and for all. I also wish there was somewhere on 4chan to discuss more of the theory side of CS, and seeking that on /sci/ but finding more threads like this one was disheartening and added to my sperging. I tried /dpt/ over on /g/. but of course that always turns into a shitfest.

>> No.10297345

>>10297332
>I also wish there was somewhere on 4chan to discuss more of the theory side of CS, and seeking that on /sci/
>looking on 4chan to discuss anything
There's your problem.

>> No.10297499

>>10289386
Behold the smarts of someone who graduated with a CS degree
>>>/g/69366900

>> No.10297866

>>10296859
>>10296885
>>10296919
I do enjoy this conversation.
>If you want to claim it's a proper mix of engineering and math
You're inputting your biases. Everyone else already sees it as a proper mix so why can't you? You're claiming you know more than everyone else.
>OS development and special task specific policy like for controllers
And this is taught in many uni's or at least offered as electives in depth. So again what is the problem?
>At my school, it's literally the second class you do after intro to CS and programming
Wait. You only took one data structures class? Well that explains a lot. No wonder you're complaining its not studied in depth if you only took one class on it. I'm not denying the intro is an intro. Its literally in the name and comes at the very start. Its still hard though. I just assumed you where still bashing it after taking more but I guess not. That's your schools problem. I always mentioned the intro makes sense as a sophomore level but the advanced course is far more difficult as it goes in depth. It seems you just misunderstood.

>almost everyone I knew who did math (year of science requirement + lab) had little to no trouble
Well yeah math isn't really that hard.
>I really don't think singling out math majors based on a single anecdote is wise.
Why are you taking it so personal? I'm not bashing math majors but stating people have different strengths.Why is that hard to see? Instead you go defensive attacking engineers. You see yourself as a mathematician which is fine, I just don't get the superiority complex.
>but I hear horror stories
Where? In /sci/? I think you fell for memes...
>If ABET standardizes engineering curriculums
I agree CS should be standardized. But if it was the requirements would be compilers, OS, architecture, data structures, etc. and little to none of the math you want.
>The fact that lecturers are lazy shoots
I think you're projecting your own experience on everyone else...

>> No.10297872

>>10296960
>I've said time and time again that I was lucky to go to a school where all of these were never in question
>I had to do calc 1-3, linear algebra, intro to proofs, and data structures
Its starting to become obvious you fell for /sci/ memes. None of this is ground breaking. Unless you can prove to me there's a large number of uni's who don't require OS, calc, linear algebra, etc. then I don't understand your problem. Yeah its kinda ridiculous for a uni to give a CS degree without these requirements but I've yet to see proof that this a huge issue or even happens. You fell for /sci/ memes. It should be standardized but its not a large problem. Even if a degree is lax they're often called BA's to separate them from the more rigorous BS.

>I see software "I just want this degree to code monkey out there idc bout this" kiddies shotgun into the basic classes and make a degree out of "Intro to Topic" classes
>Stuff like that devalues the degree.
But clearly every person who majors in math does so with a rigorous attitude pursuing knowledge for the sake of knowledge alone. Only CS students are the problem! Everyone else, especially the math majors, are perfectly fine.
You're so biased its hilarious how you can't see it.
Standford's degree is fine and doesn't need to be changed. It shows a proper mix of CS that is obvious to anyone. The selection of classes (minus their tracks which look pretty cool and should be implemented more) aren't rare at all. You're acting like there's a problem where there is none.

>>10296982
You don't know better. It would be great to add more theory into the degree but there is only so much that can be taught and spending that time on concepts that will have a real impact on a students employment is best served. There's a reason math fags often become teachers and CS students don't need to go there. The degree should be standardized but it won't be what you want and will instead focus on making students more employable.

>> No.10298939

>>10297332
Imagine being this insecure you have to do essays justifying that your major isn't easy.

Not our fault you decided to waste years of your life in something you can learn literally for free in a few months.

>> No.10299533

>>10289386
Concrete math is not easy.

As a curiosity, one of its suggested 'research problems' imply in the riemann hypothesis(the one involving the difference between Farey sequences and fixed length sequence)

>> No.10299553

>>10297499
>>>/g/69367616
>Yeah pretty much. I failed nothing at uni and graduated at 22 playing league of legends most of the day, was an addict. Did the bare minimum before exams and assignments.
Yeah, this isn't about OP at all. CS is totally a shit major which makes smart people into brainlets.

>> No.10299693

Well, what if I'm going into the degree to learn some basic software development and then land a decent paying job?

Not everyone picks a major based on how big their e-penis will look when they post about it on an anonymous forum.

>inb4 CS =/= programming

>> No.10299970

>>10289399
I would but I suck at math. I got a C in calculus 1, a C in linear algebra, and a D in discrete mathematics, meanwhile I manage all A's in my computer science courses. How do I get good at maths and stop being such a brainlet?

>> No.10300004

>>10293914
I lol'd

>> No.10300016

>>10299693
>Well, what if I'm going into the degree to learn some basic software development and then land a decent paying job?
Then you're fucking retarded because you won't learn software development and people like you always bomb the job interviews as their disinterest shines through.

Major in what you want to learn. If you're not in University to learn, gtfo.

>> No.10300128

>>10299693
Based
>>10300016
It's clear he's going to learn though.
This is why math nerds hate CS Chads. Envy. You can whine all you want but that guy will land a decent job while the average math nerd gets to pick between being a teacher or working at McDonald's.

>> No.10300394

>>10300128
>It's clear he's going to learn though.
Not in uni

>> No.10300598

>>10297866
Sigh. Part 1
>Everyone else already sees it as a proper mix so why can't you? You're claiming you know more than everyone else.
No, not a lot of people are very happy with the current state of the program at large. It's the best we know how given that the field is so wide, but you gotta trust me that especially on the professor side, we're frustrated, but we can't afford to be frustrated to the point of not being taken in by our own research

>And this is taught in many uni's or at least offered as electives in depth.
I've actually looked into this. Good schools usually use Stanford OS model and do some variation on pintOS. However, it's not required. My point is that people can just finagle around the harder classes and make a degree out of "intro to X." I'm asking for such a course to be mandatory, especially if we're gonna claim that CS is a proper mix in of the engineering

>Wait. You only took one data structures class?
No, I didn't. Data structures -> Algorithms I -> Design and Analysis of Algorithms and Data Structures (colloquially called Algorithms/DS II). There's a great quote out there: "Data Structures are like frozen algorithms," which is why algorithms ii is paired with advanced algorithms. I know many schools have data structures starting off early, but I've seen many curricula where introductory data structures shows up in late sophomore year...which makes no sense to me.

Regardless, you generally make these attacks, "Oh, I guess your school didn't do X standard/excellent thing." No, my school did fine on the program, but I'm trying to address standardization of some not so well ranked programs out there.

>Well yeah math isn't really that hard.
I think you misread, because I was talking about a lab science requirement. I'm starting to suspect you only half read my responses, because your own seem to only vaguely attempt to address my points by repetition of your original argument.

>> No.10300613

>>10297866
>>10300598
Part 2
> Instead you go defensive attacking engineers.
No, I went in saying this because you talked about your math major friend and "guesstimated" the major's difficulty by how much he struggled in physics. People who aren't prepared for basic physics struggle, period. What I've been trying to do is point out the attribution error.

>You see yourself as a mathematician which is fine, I just don't get the superiority complex.
I see myself as whatever I need to be to get interesting research. This isn't any superiority complex I'm speaking about. I want the CS major to demand excellent students, not mediocre ones. CS academia has a rich research and collaborative culture, but it's also home to many professors who don't really give a shit about teaching, which is part of why the program tends to vary in quality among departments. I want this because I want there to be systems in place so that CS majors don't have to play catch up in grad school, because believe me, I saw it a lot.

>Where? In /sci/? I think you fell for memes...
No. Believe it or not, I have graduate student and post doc friends in math, computer science, and physics. We swap instructor and TA-ing stories at our get togethers and group chats.

>But if it was the requirements would be compilers, OS, architecture, data structures, etc. and little to none of the math you want.
Did you even read through the suggested requirements? Most of it was applied. I asked really for 1 upper level topics in theoretical CS course and 1 higher linear algebra / abstract algebra course. That's it. The rest were applied, like stochastic processes and numerical analysis. I'm not asking them to take differentials. I'm asking them to take math that shows up in pure and applied CS problems, but EVEN THEN I provided classes that would provide more applied tools.

>> No.10300631

>>10300613
>>10297866
>>10297872
Part 3

>>The fact that lecturers are lazy shoots:
I think you're projecting your own experience on everyone else...
No, as aforementioned, this is actually sort of a problem among CS departments. Not exactly sure if traditional engineering departments experience it too, but CS grad generally doesn't have the same training modules, if any, for teaching. It's not that every teacher is bad, because that's ridiculous; there are many good professors out there. However, it's partly a problem that stems from the academic culture.

>Its starting to become obvious you fell for /sci/ memes. None of this is ground breaking.
No. I see schools that require calculus I, one proof class, one basic probability class, and then no more math / math based applications. These aren't meant to be groundbreaking. They're the basics of the basics.

>> No.10300642

>>10297872
>>10300631
Part 4

>Unless you can prove to me there's a large number of uni's who don't require OS, calc, linear algebra, etc. then I don't understand your problem. Yeah its kinda ridiculous for a uni to give a CS degree without these requirements but I've yet to see proof that this a huge issue or even happens.
I'll dig for examples towards the end of the week when I'm free, but OS is mostly an elective. I see linalg a lot, which is good, but there are shocking amounts of programs that are very lax on the requirements. It's a /sci/ meme that CS isn't worth studying for its own sake. It's a /sci/ meme that no good CS programs exist. It's not a /sci/ meme that as a new major in a field that has had a distinct, academic presence outside of math and EE departments for about 70ish years, that the undergraduate program is still being developed around demand, and right now it's catering more to entry level software development and not stronger engineering fundamentals and mathematics primer. Again, it doesn't apply to all CS programs, but it does apply to a good amount of them which suggests that such a degree might not be the most reliable if you want a solid foundation (which is what undergrad in math, science, and engineering is supposed to do). This board takes it too far, but there needs to be change.

>But clearly every person who majors in math does so with a rigorous attitude pursuing knowledge for the sake of knowledge alone. Only CS students are the problem!
There are no long term career paths in math without a graduate study, even on the applied side. The vast majority of math students realize this and are in it for the long game. I don't like the ones in it for high salaries at quant jobs (not because I dislike the work, but because they tend to be annoying to talk to), but I've met 3 people like this max. Everyone else is fairly chill and is there because they want to be. This is clearly anecdotal (cont)

>> No.10300651

>>10297872
>>10300642
Part 5
(cont), because of the nature of trying to describe the culture among a major, so we're not gonna get a better discussion other than what is anecdotal. However, I do know that many, many, many, many people go into computer science because there is money to be made with a CS degree and it has the prestige of being a STEM degree. The allure of the computer/Information Age, the salary, and the prestige are what attract many people in it for shallow reasons, and as undergrads they're fairly expressive about their immaturity. There are many people in the CS major who are in it for a myriad of reasons that go beyond passion or interest.

>You're so biased its hilarious how you can't see it.
Everybody's biased. I have my views mostly because I was an undergraduate in the math and computer science departments and then taught while doing visiting research at other computer science departments.

>Standford's degree is fine and doesn't need to be changed.
Nowhere in my response did I suggest otherwise. I actually praised it. This is further indication that you probably only half-read my responses.

>The selection of classes (minus their tracks which look pretty cool and should be implemented more) aren't rare at all. You're acting like there's a problem where there is none.
I don't see all the classes in other departments. If they are, they generally aren't a track requirement or suggestion. Stanford CS is not the country's CS.

>You don't know better.
There's a bold statement when you didn't even address the most important additions to the degree or even why I'd be wrong other than "you're clearly biased," which I addressed.

>> No.10300656

>>10289679

While I kinda like programming, CS isn't really that challenging in itself. I'm studying EE and last semester I took Data structures and algorithms class, which followed the leftmost book in the op and for me that was the easiest exam during that semester. My friends, who study CS claimed it was one of the hardest exams in their curriculum though.

>> No.10300664

>>10300656
either you both took intro to data structures which is easy and your friends are "CS" majors (software engineers), or they are retarded and will drop out if they failed basic data structures

>> No.10300667

>>10297872
>>10300651
Part 6
> It would be great to add more theory into the degree but there is only so much that can be taught and spending that time on concepts that will have a real impact on a students employment is best served.
You'd be surprised how much theory is immediately motivated by problems you see out in the field. In fact I'm asking entirely for theory that is immediately motivated, because it's part of the actual study of CS. Most of my suggestions were applied and had utility. The theory I asked for was almost the bare minimum for the major to be called computer science and not "software engineering with some extra math tools." It's fine if students want to go into the industry, but they should expect that this major is one backed in a tradition of theory and in engineering, and if we're gonna do that properly, we can't skimp out on the theory, even if some of it has no immediate application. Computer Science, as a mix, is not just an engineering and technology degree, so there must exist content that is purely for its own study.

>The degree should be standardized but it won't be what you want and will instead focus on making students more employable.
Employability isn't the end goal of CS, or even standardization of CS. It's a standardization of rigor and course load we can associated with computer science (mathematical or otherwise). Beside, employability rests on students being able to be good problem solvers (think whiteboard interviews), and there's literally no better way to become a good problem solver (in the context companies want) than to be rooted in the theory that talks about the problems in the first place. Harder theory trains students into better thinkers, period. Handy, immediate skills like knowing an API expire quickly, but mathematical maturity and problem solving creativity last a lifetime.

>> No.10300673

>>10300656
>Data structures and algorithms class
You're taking an introductory data structures and basic algorithms class. It's easy as shit.
>leftmost book
That book is a basic one on basic automata. It's not relevant in an undergrad algorithms/data structures class.

Anyway, data structures should be an easy class. Things get hard later. Here's a book the graces a lot of late undergrad/early grad classes:
http://algo.inria.fr/flajolet/Publications/book.pdf

>>10300664
This guy is probably right.

>> No.10300674

>>10300667
>Beside, employability rests on students being able to be good problem solvers (think whiteboard interviews), and there's literally no better way to become a good problem solver (in the context companies want) than to be rooted in the theory that talks about the problems in the first place.

"anon, can you explain to me how a rb-tree works?"
"no, but I can tell you all about discrete mathematics"
"ok thank you that is all anon, we'll keep in touch"

>> No.10300681

>>10300674
No dingus, a red-black tree is basic data structures. The idea is that a company asks you how to solve a problem in say, polylog time that involves subdivision or preprocessing the input. The maturity lets you understand general structure well enough that you're confident in playing around and tweezing out the solution without trying to extract it from the tester.

Another thing is actually fairly interesting. My friend interviewed at an up and coming big data company that asked him to come up with a data structure and set of algorithms to handle their online problems (online in the sense that the optimal solution cannot be examined in real time). Instead of using any esoteric structure we learned in advanced algorithms, he made his own and provided some of the fastest algorithms they saw, according to what his recruiter told him.

Being able to think on your feet with the math that's been given to you rather than regurgitating some solution you saw in class. Your classes should prepare you for the hardest interview questions not by revealing the massive amounts of topics they can draw questions from (because trust me, they could really shake it up), but to teach enough that the student can confidently think it through by themselves.

>> No.10300682

>>10299693
>Well, what if I'm going into the degree to learn some basic software development and then land a decent paying job?
Unironically do ITI. No hate or anything, but that's literally it

>> No.10300684

>>10300681
the point is a mathfag wouldn't know what RB tree is retard

>> No.10300687

>>10300684
I wasn't even talking about that. I was talking about more theory in the CS program dumbass. Also, I've yet to see an interview question dismiss anyone because they forgot or didn't know a data structure. They usually remind you of its basic properties and then ask you to solve a problem with it. The mathematical maturity comes in being able to tweeze out the solution after being told its properties.

Declarative knowledge can be arbitrarily obtained through a few hours of study. Imperative knowledge and maturity takes time and is the more valuable type

>> No.10300689

>>10300681
>online problems (online in the sense that the optimal solution cannot be examined in real time)
kek
>Instead of using any esoteric structure we learned in advanced algorithms, he made his own and provided some of the fastest algorithms they saw, according to what his recruiter told him.
and then everyone clapped and he got a job at the company
>regurgitating some solution you saw in class
you have never been to an advanced data structures class, have you
>but to teach enough that the student can confidently think it through by themselves
once again if you don't know the specifics of the field you're trying to work in, you won't get the job. you're basically advocating to do math and study CS simultaneously on the side

>> No.10300691

>>10300687
>Declarative knowledge can be arbitrarily obtained through a few hours of study. Imperative knowledge and maturity takes time and is the more valuable type
lol no
either you're smart or you're stupid, you can't "learn" solving specific abstract problems and math isn't going to help you with that (at least on an advanced level)

>> No.10300693

>>10300689
>you have never been to an advanced data structures class, have you
I've been in 2. I've yet to see a van Emde Boas tree being used. I do see a lot of suffix trees though.

>you're basically advocating to do math and study CS simultaneously on the side
I've been advocating to double major in math and computer science, and that CS should step up its game so there doesn't need to be a double major in the first place to get the rigor and the knowledge. Don't swoop in with an unwarranted sense of smug if you haven't even read the basic situation.

>> No.10300696

>>10300693
alright retard, what fields and subjects of math do you think are missing in cs

>> No.10300698

>>10300691
either you're smart or you're stupid
lol. I refuse to let this devolve into an IQ thread where we try to divide the world into the have and the have nots.
>you can't "learn" solving specific abstract problems and math isn't going to help you with that (at least on an advanced level)
There are parts to problems that require specific knowledge, but after that you're left alone to your reasoning. Learning how to see patterns and proof styles/sketches is absolutely possible.

>> No.10300700

>>10300664
For me it was an elective and I did it on cpp, whereas they did it on java. Besides I think it's the last data structures class in their program. And it's simly CS, not CE, given I'm in Germany and it's called Informatik.

>>10300673
Rightmost I meant, sorry.

>> No.10300701

>>10300696
I'm not going to repeat what's been discussed in 190+ posts. Go back and read. My suggestions are only confined to 2 adjacent posts somewhere in the middle :)

>> No.10300702

>>10300700
That makes sense. If you pay attention, CLRS isn't a hard text at all. Like I said earlier, it's not supposed to be, as it's a gentle introduction.

>> No.10300703

>>10300701
>implying anyone is willing to read a salty mathfags wall of text
if you can't even summarise your basic points, your retardation with imperative knowledge amounts to absolutely nothing

>> No.10300706

>>10300703
I'll make it easier. It's like 7 single lines separated with reddit spacing, none of them even full sentences ;)
I double majored in math and CS. Do I suddenly exclusively hold the title of mathfag now?

>> No.10300722

I'm studying applied informatics. The normal cs department is full with autistics who are similar to math autists who are good at one thing but otherwise complete failures

>> No.10300734

>>10300702
No, it's not, but what surprised me was the claim that the exam was supposed to be hard to pass, but it wasn't. So I figured that perhaps the curriculum is dumbed down too much. Mine (EE) is sufficiently hard, I'd say.

>> No.10300856

>>10300016
It's a computer science degree with software development. And I do have a personal self directed interest in it as well, the job part is just half the picture.

>>10300682
Never heard of ITI don't think its a thing in my country. The degree qualification wont hurt and hopefully I will learn the subject on a deeper level.

>> No.10301274

>>10293502
Hey man do you mind adding me on discord? frazzles #4215

>> No.10301304

Is everything programming related considering code monkey? What about parallel programming for HPC? Is that considered code monkeying too?

>> No.10301351

>>10301304
>caring what inbreds in /sci/ think
There's your mistake.

>> No.10301355

>>10301351
This isn't in only /sci/ though, I see the word code monkey thrown around all the time.

>> No.10303120

>>10300598
>>10300613

Didn't forget about you bb, just got too busy.

>but you gotta trust me that especially on the professor side, we're frustrated
>bro just trust me lmao
If people really wanted change than change would've been implemented. Words without evidence are not an argument.
>I've actually looked into this.
Then give proof. Give me actual proof that this is a huge issue. I could literally post the curriculum of small local state uni's who offer those classes for their degree. I've also state BA's and how they're perceived as lesser. You're making a mountain out of a molehill for a problem that is not there. You literally fell for /sci/ memes.
>but I'm trying to address standardization of some not so well ranked programs out there
You're more than welcome to post them.
>because your own seem to only vaguely attempt to address my points by repetition of your original argument.
Because
1. I'm not going to challenge everything you say in depth as its meaningless and waste of time.
2. Your words mean nothing when you fail to provide proof. You claim OS and basic calculus are rare in CS, so where's the proof?
>People who aren't prepared for basic physics struggle
Wow its almost like people have different strengths and different majors require different strengths. Shocking. Congrats on saying what I've been trying to tell you.
> because believe me, I saw it a lot.
And math majors who join CS grad programs need to play catch up as well. What's your point? You're biased, just admit it.
>We swap instructor and TA-ing stories at our get togethers and group chats.
Wonderful!
Then you should surely name these top schools that require web dev. Surely.
>Did you even read through the suggested requirements?
The problem here is you are not providing proof that universities don't teach OS, architecture, etc. As such I'm forced to assume you are against the current curriculum that requires those classes.

>> No.10303126

>>10300631
>>10300642
>this is actually sort of a problem among CS departments.
You're blatantly biased and refuse to acknowledge it. Why am I even wasting my time?
>I see schools that require calculus I, one proof class, one basic probability class, and then no more math / math based applications
Then if you see these schools post them.
> but OS is mostly an elective
Burden of proof is on you.
>The vast majority of math students realize this and are in it for the long game.
This is such bullshit I'm amazed you typed it with a straight face. If you want proof of the opposite then look at the board you're on. The math fags are so deluded they think they can do any engineering and CS job. The vast majority of math majors I've met in real life where trying to be teachers but I've met two of those who had the same mentality as math fags in /sci/. They both dropped out from the CS minor. It was too hard apparently.

>>10300651
>>10300667
>Everybody's biased.
Doesn't justify your bias.

You know what, lets clear one hurdle at a time. Until you provide proof that CS programs largely don't require OS, Calc, Architecture etc.I'm not gonna waste my time. Even many BA's require this shit. You're making claims about a problem that does not exist. So prove the problem exist. And don't just go look up meme schools in the middle of Kansas.

>> No.10303151

>>10300667
Also one thing I forgot to mention which relates to this post >>10296960
you're obsessed with labels and need to stop. Another label you're now obsessed with is "intro" as if taking intro classes is somehow bad and as if having "intro" in the title of a class somehow devalues that class. One of the most useful classes I've ever taken is an intro to machine learning class. That was a great class that built on many previous CS topics from other classes and while I would've loved to take more that was the only ML class available for undergrad. If any other intro class can be the same quality as that one I have no problem with someone taking as many intro classes as they can.

Stop with your labels. They're nonsensical and only devalue your opinion.

>> No.10303797

>>10292139
what ikind of disgusting notation is this? it's like if i stuck a scribble of a swastika made out of penises in the middle of my formula and then got mad when people didn't know what it meant

>> No.10303822

those are all hard for me. i'm dumb as fuck. i struggle with high school algebra. luckily if i autistically study one tiny segment of CS i will get good enough at software development to code an app that will make me money.

>> No.10303878

>>10289534
> CS gets a bad rep
Yes a bad rep among jealous math, physics etc degrees who envy the job prospects, salary and having great graduate degree options. You need much less of a theoretical framework to be more useful and more employable.

>>10289922
You don't even need to be a true ''engineer'' to make a lot of money in IT sector. Six figures is guaranteed in US if you take a Msc related to computer science (e.g. artificial intelligence, data science, security, just plain computer science as well and so on). Thing with pure math is that you need to combine it with something e.g. econometrics is a great way to do this and also land a very high paying job.

>>10292038
Of course the theoretical foundation is in math, everyone is aware of this but nobody wants a CS degree to just be an extension of a math degree. It's more than that, university can offer more classes surrounding topics in computer science and force students to apply them. Programming for example is an easy way for a student to gain insight in what he or she's doing in regards to how different types of search, logic, machine learning and so on work. Being able to perform well in those tasks is more required for a job then being really great at math. I'm not really sure why a degree should be made less practical for students, less practical for the job market and maybe more practical if they're going to do a phd in a very specific direction (which only like 2% of students even do anyway).

>> No.10304756

>>10303878
>Thing with pure math is that you need to combine it with something e.g. econometrics is a great way to do this and also land a very high paying job.
Math by itself, even applied math, is not that great of a degree option. It's only when you combine it with something else that the degree become useful.

Good post over all though.

>> No.10305060

seriously - how many of you actually passed through concrete mathematics and found it easy?

and give an example of book you found 'hard'

>> No.10305621

>>10305060
What is the book used for?
Algorithm analysis? Discrete math?
Haven't taken a class that requires it yet.

>> No.10305641
File: 352 KB, 1560x1966, 20130401-2013-04-01 16.43.47.jpg [View same] [iqdb] [saucenao] [google]
10305641

>>10305060
>seriously - how many of you actually passed through concrete mathematics and found it easy?
It's a baby's first discrete math book.
>and give an example of book you found 'hard'
Lang's Algebra

>> No.10305846
File: 66 KB, 728x504, cs flowchart.jpg [View same] [iqdb] [saucenao] [google]
10305846

a bit old, but rate my school
i have to take 15(?) cs courses
we have machine/deep learning as a 4000 lvl course now

>> No.10305943

>>10305846
>webware
>3 programming courses
SHIT.

>> No.10306068

>>10305943
what's wrong with webware?

>> No.10306423

>average CS student
https://youtu.be/0mdY9WE7nIA

>> No.10306464

>>10305846
Why is there like three programming classes? I'm only second year and I've taken five programming classes already using 4 different languages but focusing in C++. In reality what you'll most likely be doing once you graduate is programming so.. I hope there is programming in a lot of those courses

>> No.10306615

>>10289479
Ouch. Burgerlandia is fucked.

>> No.10306681

>>10289548
Why ?

>> No.10306721

>>10306681
It's pretty much EE minus, you only get to know basic EE courses and everything non-trivial gets substituted by meme CS courses like data structures.

>> No.10306749

>>10303878
which high-paying job could someone with a double major in economics and math get?

>> No.10306755

>>10306423
86/100 is a B+, that's pretty good, what's your problem man?

>> No.10306797
File: 27 KB, 627x453, compsci.png [View same] [iqdb] [saucenao] [google]
10306797

>>10289386
Where I live we have 3 year bachelor degrees and this will get you enough to major in computer science

>> No.10306801

>>10306797
Fucked up Math161 is discrete

>> No.10306834

>>10306464
it doesnt have to have "programming" in the name for it to have programming in it, classes like OS and AI have programming without explicitly having it in the title
is not having programming in cs courses without programming in the name normal?

>> No.10307067

>>10292139
«So I just wrote that german sentence, who can understand it?

Okay, good! Now german speakers lower you hands!
AHAHAHAH non-german speaker BTFO!»


If you can't understand the form then you can't reach the matter, right? But that doesn't mean you're an idiot. Just reFORMulate. You studied topology after all you retards, therefore it should be trivial.

>> No.10307068

>>10307067
thats dumb

>> No.10307072

>>10307068
It's not, if you invite people to a talk make sure you speak their language.

>> No.10307341

>>10307067
>>10307072
It’s not even that. Leslie Lamport is infamously hard to communicate with, period, and that doesn’t matter if you’re a mathematician or theoretical computer scientist (whatever small difference in motivation there is between the two). He authored the paxos paper where he made his proof into a 33 page extended metaphor using citizens on an island
https://lamport.azurewebsites.net/pubs/lamport-paxos.pdf

Everyone thought going through this paper was tedious because it got lost in the details of the people on the island, so he had to release a better version
https://lamport.azurewebsites.net/pubs/paxos-simple.pdf
This is only 14 pages and is unambiguous. Leslie Lamport is a genius, but you need to take his communication skills with a grain of salt

>> No.10307381
File: 26 KB, 600x375, 1446494161293.jpg [View same] [iqdb] [saucenao] [google]
10307381

>>10292139
The reason that, despite some success stories, nobody besides their developers likes TLA+ (and other old formal methods like the B-Method), is that they are just shitty specification languages and 20 years behind on modern languages.
If I need to mechanize some theory, verify some algorithm or whatever, I use coq or Isabelle, at most I use boogie or some other MS research toy. And I do not expect young researchers to raise their hands like some fucking undergrads in CS101 when I ask a stupid riddle to test whether they can follow me or not.

Leslie is getting senile and like many older theoretical scientists is stuck in a world of minimal languages which are only useful for toy examples and useless for real verification.