So you dont use programming languages? learning how to use them was like all of computer science’s actual classes? Lets just start with the first class, you dont use classes, vectors, arrays, forloops, while, if else, etc? cout?
I dont understand what that means, the degree itself literally covers the fundamnetals, ehats realprogramming? (I dropped and graduated with it years ago)
Computer science is much more than programming. Did you cover other topics like formal logic, finite state machines, computability, crytography, machine learning etc?
It’s like the relationship between mathematics and accounting. Sure, almost everything accountants do involve math in some way, but it’s relatively simple math that is a tiny subset of what all of mathematics is about, and the actual study of math doesn’t really touch on the principles of accounting.
Computer science is a theoretical discipline that can be studied without computers. It’s about complexity theory and algorithms and data structures and the mathematical/logical foundations of computing. Actual practical programming work doesn’t really touch on that, although many people are aware of those concepts and might keep them in the back of their mind while coding.
When I think about computer science as a field of science I think about things like algorithmic complexity. I believe things like what you mentioned should be taught in general education prior to university (or, like calculus, as an optional elective) and are only covered because you need to know those basics to cover the advanced things.
It’s really difficult to come up with other examples of this that aren’t contrived because computer programming is the only field I know of that’s like this. I might compare it to architects needing to know how to use tools, but I don’t think they actually cover that. Maybe a better example might be engineers needing to know how to use tools before designing machines. Either way, things like how to use tools aren’t covered in those classes and they’re either not taught or taught as shop classes (or maybe they are, I didn’t go into those fields). Things like for loops I view as learning how to make a computer operate. Like how someone who drives a car doesn’t need to know how to fix an engine but a mechanic does. But learning about computer science is more like learning about what car designers do than what mechanics do. A lot of programming work doesn’t need that low level of attention to detail.
Like I said before, it doesn’t hurt, but it’s not super critical. A classic example is something like learning how to make a linked list. This is an early example of an assignment that starts to get into the actual computer science stuff because you start to talk about the comparisons between different data structures, like linked lists versus array lists. So in university you may be thinking “damn I’m gonna be making list implementations all the time” but you quickly learn, no, you’re not. The standard library of your language already has one and it’s worlds better than anything you made. Plus, 99% of the time you’re gonna want an array list, at least in the types of work I do.
I hope that helps make it more clear what I’m trying to say. I’m not saying computer programming is easy or doesn’t require skills.
So you dont use programming languages? learning how to use them was like all of computer science’s actual classes? Lets just start with the first class, you dont use classes, vectors, arrays, forloops, while, if else, etc? cout?
I dont understand what that means, the degree itself literally covers the fundamnetals, ehats realprogramming? (I dropped and graduated with it years ago)
Computer science is much more than programming. Did you cover other topics like formal logic, finite state machines, computability, crytography, machine learning etc?
Sure they teach that, but its not the first thing you’re thought the first two main classes for into are programming?
Why are you arguing with me and the dude that said programming didnt use computer science when computer science encompasses programming…
It’s like the relationship between mathematics and accounting. Sure, almost everything accountants do involve math in some way, but it’s relatively simple math that is a tiny subset of what all of mathematics is about, and the actual study of math doesn’t really touch on the principles of accounting.
Computer science is a theoretical discipline that can be studied without computers. It’s about complexity theory and algorithms and data structures and the mathematical/logical foundations of computing. Actual practical programming work doesn’t really touch on that, although many people are aware of those concepts and might keep them in the back of their mind while coding.
When I think about computer science as a field of science I think about things like algorithmic complexity. I believe things like what you mentioned should be taught in general education prior to university (or, like calculus, as an optional elective) and are only covered because you need to know those basics to cover the advanced things.
It’s really difficult to come up with other examples of this that aren’t contrived because computer programming is the only field I know of that’s like this. I might compare it to architects needing to know how to use tools, but I don’t think they actually cover that. Maybe a better example might be engineers needing to know how to use tools before designing machines. Either way, things like how to use tools aren’t covered in those classes and they’re either not taught or taught as shop classes (or maybe they are, I didn’t go into those fields). Things like for loops I view as learning how to make a computer operate. Like how someone who drives a car doesn’t need to know how to fix an engine but a mechanic does. But learning about computer science is more like learning about what car designers do than what mechanics do. A lot of programming work doesn’t need that low level of attention to detail.
Like I said before, it doesn’t hurt, but it’s not super critical. A classic example is something like learning how to make a linked list. This is an early example of an assignment that starts to get into the actual computer science stuff because you start to talk about the comparisons between different data structures, like linked lists versus array lists. So in university you may be thinking “damn I’m gonna be making list implementations all the time” but you quickly learn, no, you’re not. The standard library of your language already has one and it’s worlds better than anything you made. Plus, 99% of the time you’re gonna want an array list, at least in the types of work I do.
I hope that helps make it more clear what I’m trying to say. I’m not saying computer programming is easy or doesn’t require skills.