Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.
Index -> General Discussion
Goto page 1, 2  Next
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
md




PostPosted: Wed Jan 25, 2012 2:08 pm   Post subject: Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

And it pains me how many people don't realize that.

Computer Science is about the science of computing; which mostly means applied mathematics. Algorithms, data structures, encoding techniques - all math. These are usually approached from a math point of view which means lots of proofs and not as much application. Any languages used you are usually expected to learn on your own and rapidly.

Software Engineering is about applying engineering principals and disciplines to software. That means design techniques, project management, risk assessment AND a lot of the computer science topics but from an engineering perspective (less proofs). Some programming languages are taught but writing code is again not the focus and you are expected to learn quickly on your own.

If you want to learn how to program go to a college and enroll in a programming course. You'll both save money and get a lot more out of it.



This post brought to you by the large number of people who I've seen drop out after failing the first semester.
Sponsor
Sponsor
Sponsor
sponsor
Brightguy




PostPosted: Wed Jan 25, 2012 2:44 pm   Post subject: Re: Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

"CS is not programming", part n in a series of n+1. Preach it!
Though, can you really blame our users for being confused, given our name and logo? Flaming
ProgrammingFun




PostPosted: Wed Jan 25, 2012 4:42 pm   Post subject: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

Which math did you do first semester?
Also, does this mean that CCC doesn't affect admissions in any way?

EDIT:
Posted Image, might have been reduced in size. Click Image to view fullscreen.
[Gandalf]




PostPosted: Wed Jan 25, 2012 8:09 pm   Post subject: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

If CS was actually CS, and people were aware of the fact...
1) The program would be a whole lot emptier.
2) Places like UWaterloo wouldn't have much of a co-op program.

It's not all for the worse though, since the things you learn in CS and SE do for the most part make you a better developer.
mirhagk




PostPosted: Wed Jan 25, 2012 9:05 pm   Post subject: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

Mathematical analysis is one of the most important things for a developer to learn. You can know everything about syntax, but that means next to nothing when it comes to coming up with solutions to problems.

Computer science and computer engineering are the two aspects to solving problems with computers. The syntax is irrelevant, just as the mathematical notation is irrelevant for math, or the language used for poetry. (well that's not entirely true, syntax can matter in terms of optimizing with a particular language and computer)
DemonWasp




PostPosted: Wed Jan 25, 2012 9:28 pm   Post subject: Re: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

[quote="[Gandalf] @ Wed Jan 25, 2012 8:09 pm"]It's not all for the worse though, since the things you learn in CS and SE do for the most part make you a better developer.[/quote]

I agree, but often you'll have to look pretty hard to find real benefit from your CS classes. I've had the opportunity to apply a little of what I learned in Graph Theory, Algorithms, Concurrent/Parallel, Compilers (baby edition) and OS (baby edition), but I've never had the calculus or linear algebra or other requirements come up. Even then, the vast majority of what you write is going to be retrieve-data, iterate-over-collection, apply function, collate results, format into report / HTML / etc.
crossley7




PostPosted: Wed Jan 25, 2012 9:46 pm   Post subject: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

I had a software development job over the summer and the hardest math I needed was generating percentages. Beyond that it is just efficient functions and problem solving. It wasn't quite coding (working with 'scripts') but it was much closer to that than advanced mathematics that you learn beyond grade 10.

That being said, I know the CS/SE aren't 'programming' programs and focus on the logic behind it and advanced maths, but the programming element to it should also be important (you have to figure out how to implement the stuff you are learning)
[Gandalf]




PostPosted: Wed Jan 25, 2012 9:58 pm   Post subject: Re: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

DemonWasp @ 2012-01-25, 9:28 pm wrote:
Gandalf @ Wed Jan 25, 2012 8:09 pm wrote:
It's not all for the worse though, since the things you learn in CS and SE do for the most part make you a better developer.


I agree, but often you'll have to look pretty hard to find real benefit from your CS classes. I've had the opportunity to apply a little of what I learned in Graph Theory, Algorithms, Concurrent/Parallel, Compilers (baby edition) and OS (baby edition), but I've never had the calculus or linear algebra or other requirements come up. Even then, the vast majority of what you write is going to be retrieve-data, iterate-over-collection, apply function, collate results, format into report / HTML / etc.

Exactly - most programming is just implementation, which isn't even "problem solving" by some definitions. So, it's a good thing CS in university covers a ton of non-CS things (concurrency, systems programming, networking, testing, graphics, etc) which are relevant to programming. Although there is a lot of "waste" and you obviously have to be prepared to learn the theory as a CS student, I still think CS is a better option to prepare you for development than a college programming course. It's a cycle... there just isn't the demand for straight up CS so universities change it into half development half computer science. The choice of what to study and the judgement of how well they can handle it lies with the student alone, as it should be. I don't see what there is to be pained about. The fact that the naming has gotten skewed? Meh.
Sponsor
Sponsor
Sponsor
sponsor
md




PostPosted: Wed Jan 25, 2012 10:23 pm   Post subject: Re: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

[quote="[Gandalf] @ 2012-01-25, 8:09 pm"]If CS was actually CS, and people were aware of the fact...
1) The program would be a whole lot emptier.
2) Places like UWaterloo wouldn't have much of a co-op program.

It's not all for the worse though, since the things you learn in CS and SE do for the most part make you a better developer.[/quote]

1) How is that a problem? Those who are truely interested would still enroll, those who are just interested in programming would do college programs. Hell, given the cost difference it's actually really easy to both a college degree *and* a university degree.
2) Waterloo's co-op program would remain exactly the same, though there would be fewer CS students and possibly fewer Software/Computer Engineering students.
[Gandalf]




PostPosted: Wed Jan 25, 2012 11:28 pm   Post subject: Re: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

md @ 2012-01-25, 10:23 pm wrote:
Gandalf @ 2012-01-25, 8:09 pm wrote:
If CS was actually CS, and people were aware of the fact...
1) The program would be a whole lot emptier.
2) Places like UWaterloo wouldn't have much of a co-op program.

It's not all for the worse though, since the things you learn in CS and SE do for the most part make you a better developer.


1) How is that a problem? Those who are truely interested would still enroll, those who are just interested in programming would do college programs. Hell, given the cost difference it's actually really easy to both a college degree *and* a university degree.
2) Waterloo's co-op program would remain exactly the same, though there would be fewer CS students and possibly fewer Software/Computer Engineering students.

1) It's not really a problem, although I think universities would like to fill their programs, especially at $10k/person/year. Hence the theory/programming compromise.
2) Hiring someone in CS would be like hiring someone in math - software companies would probably move a good chunk of their jobs elsewhere.
mirhagk




PostPosted: Thu Jan 26, 2012 8:13 am   Post subject: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

While business level development requires very little math, and is really just formatting data, other programming jobs do indeed require some pretty advanced math. Designing a video game 3d engine for instance requires very advanced math, for drawing, and for the physics behind it. You also need to know a lot about algorithms for artificial intelligence.

Basically while most jobs won't utilize your university degree to the fullest (which is true for nearly every degree out there), some of the jobs will use a lot of it, and regardless showing that you know that much about algorithms shows that you likely know quite a bit about programming itself, and would be an asset to a programming team.
tedbean




PostPosted: Thu Jan 26, 2012 9:31 am   Post subject: Re: Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

@mirhagk, are you saying that it is a good idea to study some physics? Neutral I think I will have to miss it this year. My mission is to pass the programming! and not fail maths, I have a feeling the maths is going to turn out really really hard. Confused

The thread is making a good point about the difference between uni trained and non-uni qualifications. In the short courses (the community based, not those university post-graduate stuff), what we can learn at the maximum is some general and although sometimes more up to date knowledge, but it would not cover the detail and the theoretical. Whereas the uni degrees give far more options for the enthusiastic learners who want to take what they have learnt in the classroom one step further into the field of research, these further research is of course not for everyone, there is no need to get a PHD if all one requires is a professional SE licence.

It could be a good idea for me to go to the community college first, but I may end up still needing to get a degree if I really want to get an interesting job in computing.

Most interesting and extraordinary stuff need advanced training which could take decades, the only exception is possibly in the examples of child prodigy where only 'basic' training could produce amazing results! (it takes only several years for the child prodigy to equal or better their adult masters).

Maths provides many examples of child prodigies (those went to uni around the age of 10). Even these rare talents need to go to university, for the ordinary IQ, the choice is yours. Dance
md




PostPosted: Thu Jan 26, 2012 10:26 am   Post subject: Re: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

Gandalf wrote:
1) It's not really a problem, although I think universities would like to fill their programs, especially at $10k/person/year. Hence the theory/programming compromise.
2) Hiring someone in CS would be like hiring someone in math - software companies would probably move a good chunk of their jobs elsewhere.


Increasing student enrolment for the sole purpose of increasing revenue (while at the same time removing or reducing important parts of a curriculum) are not signs of a quality institution. Schools (universities or colleges) which pursue tuition dollars invariably have worse programming (ie. courses) then those which don't. That is why Waterloo for instance has maintained their reputation - while they may teach more programming then they used to, the theory is still the focus.

At the same time, informed high school students who knew what the differences were between programs would be much better for society. Those interested in a programming career could take a shorter college program and be in the workforce faster with far less debt. Those who want a more theoretical education would get it. Informed businesses would hire the appropriate people. CS grads wouldn't have to complete for entry level code-monkey positions, and instead could compete for those few jobs where the theory matters. The same jobs would exist, and they would get filled by the same people - those people would simply have the correct diploma instead of the incorrect degree.


mirhagk wrote:
While business level development requires very little math, and is really just formatting data, other programming jobs do indeed require some pretty advanced math. Designing a video game 3d engine for instance requires very advanced math, for drawing, and for the physics behind it. You also need to know a lot about algorithms for artificial intelligence.

Basically while most jobs won't utilize your university degree to the fullest (which is true for nearly every degree out there), some of the jobs will use a lot of it, and regardless showing that you know that much about algorithms shows that you likely know quite a bit about programming itself, and would be an asset to a programming team.


Very little development work requires anything beyond some basic linear algebra or calculus. Your example of 3D games for instance is more about managing data then performing any advanced math. Hell, writing a 3d game involves *very little* math beyond basic calculus and some algebra. Anything that you need beyond that you should be able to learn on your own - using the skills you developed in college *or* university.
2goto1




PostPosted: Thu Jan 26, 2012 10:59 am   Post subject: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

Many interesting points in this thread that hopefully benefit potential university / college students in their decision making process.

A pure computer science graduate may do very poorly in a software developer role compared to a community college graduate. All completely depending on each person's level of mastery of software architecture, design, and development best practices, as well as attention to detail, commitment, and passion for their jobs.

The actual "application of what I've learned from my computer science degree" aspect of most common jobs is very little to nil. But if I were a startup in an ambiguous environment and wanted someone to solve a lot of problems and unknowns, I would likely look for a computer science grad as my first choice over a community college grad.

My assumption with a comp sci grad is that they should have demonstrated much higher academic problem solving skills than a community college grad, and done so under much more ambiguous learning conditions, whereas a community college grad would have had a more structured education path with more hand holding.

Either way, both types of grads are able to succeed in many of the same types of working roles.
mirhagk




PostPosted: Thu Jan 26, 2012 1:06 pm   Post subject: RE:Computer Science is not programming. Software Engineering is not programming. Stop trying to make it so.

Yes see the problem is, even if the university degree goes unused, workplaces will still require the degrees.

Think about it, if 2 different people apply to your company, and one has a university degree, and one has a college degree, your probably going to lean towards the university degree, just because it shows they are potentially more interested/want to learn more.

The only way they could offset this is by taking college grads at a lower salary, which means that university gets you more money, so people will still go there.

It's definetly a problem, but it's game theory, and as long as people still prefer university, that will still be the better choice.
Display posts from previous:   
   Index -> General Discussion
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 2  [ 26 Posts ]
Goto page 1, 2  Next
Jump to:   


Style:  
Search: