ITT: Sup Forums fixes Computer Science

ITT: Sup Forums fixes Computer Science

Other urls found in this thread:

en.wikipedia.org/wiki/Unum_(number_format)
uottawa.ca/academic/info/regist/calendars/programs/1366.html
twitter.com/AnonBabble

Early computers didn't have any bitwise operations.

Mathematicians in the 1950s wanted parallel (all bits of a word) boolean operations included in CPUs to do be able to work with sets.

Modern CS teaches that "bit diddling" is a low level hardware concept that has nothing to do with math.

How did this loss of knowledge happen?

>bitwise operations.
okay they are cool and important

they are also incredibly easy, just takes practice, it's not the be all end all or however that saying went

Switch floats to unum, it's the projective line with numbers representable to an arbitrary degree of accuracy

en.wikipedia.org/wiki/Unum_(number_format)

...

Wow compared to this, my degree program looks like Fisher Price.

Post it

I'm doing this with a math minor:
uottawa.ca/academic/info/regist/calendars/programs/1366.html

This proposal is rearranging the deck chairs on the Titanic.

I think, start with C, make undergrads learn about malloc and pointers. Don't start with some highly stylized fiction about computers.

Edgy/10

>people who want to make video games >people who are only there because they don't know the difference between SE and CS >people who don't know CS is a field of applied mathematics >people who think computation theory is a waste of time >people who think computational complexity analysis is useless in the real-world There I fixed it.

I'd there anything I missed?

weebs

How? I was being serious.

This is a good start and described at least 60% of UCLA CS majors during my time there

I know you are being serious — I am being serious when I say CS would be better if these people were removed.

Why stop there?

>people who can't finish a problem set or assignment by themselves >people who just want a job >people who spend over a thousand dollars on a laptop >people who get their news from facebook >people who are prematurely balding >people who can't drink milk >pokemon go players >single mothers

normie kys

As a self-taught software engineer working for 20 years I would like to know... why is almost everyone who gets a degree in computer science totally incapable of building even the simplest practical application?

Is this not standard? I wasn't even allowed to move past C until my 3rd year and even then it was only Java, definitely no high level bullshit.
Hell I didn't even take a programming class before going through 3 levels of calculus, physics, electronics, automatic control and linear algebra.
And here I thought american education was GOAT

Because computer science is not about building applications. It would be like hiring a mathematician to be your account: sure they are good with numbers but that doesn't mean they will be a good accountant without further training.

>Fall 1
Calculus I
Intro to Proofs and Abstract Mathematics
Physics I
Chem I or Bio I
Intro to Programming in C++
Technical Writing

>Spring 1
Calculus II
Matrix Algebra
Physics II
Chem II or Bio II
Digital Logic and Automata
Data Structures

>Fall 2
Vector Calculus
Physics III
Electrical Engineering Fundamentals
Computer Architecture
Algorithm I
Combinatorics and Graph Theory I

>Spring 2
ODEs and Dynamical Systems
Probability Theory (Mathematics department)
Mathematical Logic (Mathematics department)
Parallel, Distributed, and GPU Programming
Operating Systems
Numerical Analysis I (Mathematics department)

>Fall 3
Abstract Algebra I
Real Analysis I
Mathematical Statistics
Algorithm II (or Graduate)
Programming Languages and Compilers I
[CS Elective]

>Spring 3
Abstract Algebra II
Real Analysis II
Combinatorics and Graph Theory II (or Graduate)
Numerical Analysis II (Mathematics department)
Computability and Complexity Theory
Compilers II and/or Type Theory

>Fall 4
Complex Analysis, Topology, or PDEs
Computer Graphics/Vision and/or Image Processing
Linear and/or Convex Optimization
Artificial Intelligence and Machine Learning
Internet, Networks and Communication Systems
[Elective]
Professionalism, Ethics, and Conduct (Seminar)

>Spring 4
Control Theory and/or Robotics
Computer Security and Cryptography
Quantum Computing or CS Graduate Elective
Software Engineering Essentials or Elective
Macro and Micro Economics
[Elective]
Personal Grooming and Hygiene (Seminar)

>you should be able to do this

Boolean logic is one discipline of math. It was named after the mathematician George Boole who worked on algebraic logic.

Daily reminder that CS is not a degree in programming. You should be neutral about the language you use to implement CS ideas.

You shouldn't expect a CS grad to write computer software because CS is not a course in programming. You should expect CS grads to be able to reason through the logic of any given information problem.

where?

>CS is a field of applied mathematics
But this is wrong. CS is similar but orthogonal to math. Math is about "what", CS is about "how".

Theoretical CS is the application of mathematical theory to information problems. You can actually prove solutions to information problems with a formal proof. There is only one discipline where proofs occur and that's mathematics. Applied CS will take all these theoretical ideas to form real world information systems.

dumbass detected

>Intro to Programming in C++
stopped reading

This, so much this.

For the love of Christ, this.

But good luck getting an entry level job without completing any projects as a programmer. Implement ideas you learn in school outside of school, but don't be that autistic kid that interjected to his professor about why python was a bad langauge to learn

>biology 1
Dropped

Bits are so 1990s. Graphics is where CS is at these days.

Okay. I spent 200 on my current laptop, but was looking to buy a better one with a budget of 2000 dollars. Recommend me something under 1000 that has the color accuracy, build quality, comfort, lightweight construction, power, and storage of, for instance, the Razer Blade.

I'm seriously curious. Even if it requires installing the hardware myself, but the screen has to be color accurate, and the battery life has to be decent.

Literally this fucking laptop has to be both premium and under 1000 dollars. I don't think you can find one.

Forgot, Backlit keyboard too, as I code in the dark.

And refurbished doesn't count, or on sale.

backlit keyboard in the dark is totally useless if you're able to touchtype. Which you should be.
Source: I code in the dark too. Got a backlit keyboard, but never even used it. Would like to try someday one of those fancy lights on the screen's top like the ones on the old thinkpads.

Please. I can touch type too. I still make mistakes from misplacing my hands in the dark, and I dislike having to feel around for the bumps.

But it is a good point, the keyboard quality in general is more important.

So many interesting electives to choose from, pic related... Would it make any sense if I combined the groups of courses over embedded systems with those on machine learning, or should I pick one and then choose more classes strengthen my knowledge in just one of those areas?

The two anons who replied to you are completely wrong. 99% of CS programs are really just Software Engineering calling itself CS. 99% of students going into CS programs want to become Software Engineers.

It's true that Software Engineering and Computer Science are not the same thing, but the reality is that it's the latest meme degree and so many students are enrolling that most of them are trash at both Software Engineering and CS.

>Personal Grooming and Hygiene (Seminar)

i keked

>Buying a gaming laptop
>Ever

That neon green snake logo is the physical embodiment of cringe.

REMOVE PAJEETS

Physics up to level 3. And bio/chem to 2.

You wot m8?

Imagine all the jobs wed get if pajeets were bombed

I'm not the one you're replying to, but many schools (like mine) have CS within the College of Engineering. It's a universal requirement to have 2 semesters of physics and 2 of chemistry regardless of major, as well as a shared math requirement.

No point leaving things half done.

Also CS majors have a disturbing lack of problem solving skills and could use all the practice they can get.

ill fix it for you:

one major for webshit

one major for boxjockeys(IT support)

if you want to major in "software dev"or "hurrdurr programming"you have to be a math major and justify it to their department. everything will be webshit in a few more months anyways.

My degree had more theory than the one proposed here but it's a good recommendation as a base. Too much muh programming though, especially, not enough or's.

All CS degrees look like Fisher Price degrees

...

That's just a shitty SE, not a CE.

>people who can't drink milk

What is your problem with lactose intolerant people?

>people who are prematurely balding

What is your problem with bald people?

>single mothers

Maybe ok, but probably applies for any degree that requires full dedication.

My point exactly, I want CE, and if not possible, I might settle up for CS, but I DESPISE SE, nevertheless this is the only thing that my country offers.

That or EE of course, which is closer but still, not the same than CE.

I think the point is it shouldn't be necessary.
Are you a gamer? Are you a graphics designer? Are you a developer? Then you shouldn't need a 2000 dollars laptop or PC unless you're literally running some big data database, or maintaining a huge network or running an extremely popular website. All of these aren't meant for personal computers though but for business environments.

>What is your problem with lactose intolerant people?
bad genes

>What is your problem with bald people?
low test

Low test? What does that even mean?

I'm not even into CS, my thing is CE, but I think this is ridiculous.

I am balding actually, 23 yo.

My unis cs programme (not in the US)
1. Semester :
>calculus
>discrete mathematics
>electrical engineering 101
>algorithms and data structures
>programming 101 (java)

2. Semester
>programming 2 (c, Lisp, python, prolog)
>algorithms and data structures 2
>digital logic and computer architecture
>programming lab (java)
>linear algebra

3. Semester
>database systems
>communication systems
>logic
>automata and formal languages
>software engineering
>probability

4. Semester
>software engineering project (language generally free of choice, but has to be chosen appropriately for the project)
>computation theory
>electives
5.
>electives
6. Semester
>electives
>seminar for field of choice
>bachelor thesis and seminar
>some kind of extra class that's supposed to prepare you for the real world, e.g public speaking, project management, etc

There's rules for the electives, like you need to have a certain amount of classes about theoretical computer science, practical computer science, applied computer science, and computer engineering. And you can take more math classes as well but many don't.

>>programming 101 (java)
Stopped reading

>uottawa
We got a live one here boys.

That's the most retarded schedule I've ever seen.

uottawa is terrible. Go for utoronto or uwaterloo at least.

he's saying he has low testosterone and is threatened by high test balding folks.

holy fuck I did more for my AS

Your country doesn't have electronics engineering? That'd be the closest to computer engineering. I consider computer engineering to be a discipline of the electronics discipline.

Segregate CS from SE.
That's it.

really and seriously
start by teaching FORTH to forth graders
all other problems will just sort of work themselves out from there

You should learn about how electrical engineers model the behavior of computers, and a language like C will start you down that road better than most. One should certainly not be language-agnostic about CS, because programming languages---NOT mathematics---are the basis of the discipline.
When I took language theory in graduate school, which is the real study of mathematizing CS, the main thing I learned is that CS cannot be mathematized because unbounded recursion/general looping lacks a mathematical formulation. That kind of study of languages collapses down to, well, you can do heavy metaprogramming on static data (including ASTs), which is also not math/logic. So given that programming languages are the baseline notation of actual CS, it should matter what language you use, for exactly the same reason that we start children out on Arabic rather than Roman numerals.

>because programming languages---NOT mathematics---are the basis of the discipline.
Programming languages have nothing to do with CS or programming. That's a meme started by SICP and other meme books.

I bet you also think math has nothing to do with numbers. Though I prefer this quote from philosopher Sidney Morgenbesser to BF Skinner:
>Let me see if I understand your thesis. You think we shouldn't anthropomorphize people?

>low test
you are retarded, cutting your balls off will literally stop hairloss

>only one semester of calc
>only one semester of prob
>no compilers
>no programing language theory
>no operating systems
>no numerical analysis
>no AI
>Java

fail/fail

>looking less like a man means I'm higher test
Sure thing buddy.

>a man should have girly long hairs
Yeah whatever, now bend over and let me fuck your boypussy

Me on the left, you on the right.

Numbers are a part of math.

Programming languages have nothing to do with CS. They're just "apps" that translate symbols into other symbols.

Mathematics is good enough for physics and it can describe every CS concept known. Concepts like arrays, trees, pointers, functions, and sets don't need any programming language. Hardware isn't a language and all of those things can be implemented in hardware and described by math.

so low test just means /fa/?
got it

>Professionalism, Ethics, and Conduct (Seminar)
>Personal Grooming and Hygiene (Seminar)

>cuckboy is so acared of mans who actually look like mans
Let me guys, you also have a ponytail or 30cm long greasy hair?

>it's another "/sci/entist jerks off to a curriculum he thought of while still in undergrad" post

The most important courses of their college career

Math can't describe every CS concept, in fact it can't describe the most important concept, which is general looping. This is why math has not supplanted programming and, really, why programming is more important than math to the modern world. (There's another issue, which is that continuous modeling is untenable for anything more complicated than a ball fired from a canon, and discrete modeling is too tedious to do by hand. Though in a sense that's the same issue.) For their part, programming languages are a control system for hardware; "symbols" are an abstraction we use to describe programming languages.

>embedded systems with those on machine learning
Why do people always tend to think those two are related? Concentrate on one of them. But really, any EE will be doing your job with embedded 100x better than you, and I personally don't know how it is with ML, but other than those who stayed at the uni I don't think any graduates from the ML class are doing anything related in their jobs.

I take care of my hair. Pic related, my hairstyle on Keanu.

I keked too, but honestly, that's a good idea

>implying those jobs would even exist if there was no cheap workforce

s/o to my utoronto st.george faggots

>my hairstyle
>literally fagboy hairstyle
Just what i expected, its really like poetry

>implies natural selection works with humans

>Math can't explain loops

You heard it here first, folks.

and even if he was doing any of those things in your last point, why not just buy remote servers to host your shit

kids on chromebooks and tablets probably code better than you

Come back when you've taken a language theory course. Or at least give that street a good pressure-washing.

oops, meant artificial selection

aka "fundamentals of teamwork"

Electronics Engineering here, take a look at this shit:

1st semester:
>Maths I (differential calculus)
>Intro to Engineering
>Intro to Physics
>Chemistry
>extra shit

2nd semester:
>Maths II (integral calculus)
>Physics I
>Programming (Python, there is C as an elective too)
>some extra worthless shit

3rd semester:
>Maths III (multivariable calculus)
>Physics II
>Network Analysis I
>more extra shit

4th semester:
>Physics III
>Linear System Analysis
>Network Analysis II
>Electronics I
>Electronics Lab I

5th semester:
>Maths IV
>Electronics II
>Electronics Lab II
>Digital Systems
>Digital Systems Lab

6th semester:
>Automatic Control I
>Automatic Control Lab
>Computer Structures
>Computer Structures Lab
>Electromechanical Systems

7th semester:
>Electromagnetism
>Probability
>Telecommunications Systems
>Telecommunications Lab
>Elective

8th semester:
>Physics IV
>Management
>Electives

9th semester:
>Numerical Analysis
>Economy
>Electives

10-11th semester:
>Electives

12th semester:
>Thesis and shit

Just kill me already

Is it normal to have only 3-5 courses per semester where you live(US?)?

Programming is not the basis of computer science. Computers are not the basis of computer science. The basis of computer science is the mathematical foundations of information with information processing. You do not ever need to touch a computer to study computer science, you do not ever need to write computer programs with a computer programming language to study computer science. All that's needed is pseudocode.

Statistics isn't maths but it's very much a CS concept.

>You should learn about how electrical engineers model the behavior of computers, and a language like C will start you down that road better than most.
C was considered a bad design even in the 1970s. It was designed by noobs and had to fit in the small memory of the PDP-11.

If you want to teach systems programming, I would pick a simple assembly language and Ada or PL/I.

>I did a trash CS course that was basically SE and so all CS degrees must be trash
There is nothing wrong with doing SE degree programs, but a CS degree that is basically SE is a shit CS degree. Just because you did a shit one doesn't mean all CS degrees are meme degrees.

>C was considered a bad design even in the 1970s
>I'm going to rewrite history with shit I pulled out of my ass

>engineer pleb detected