Computer Science vs. Software Engineering
theodp writes "Microsoft's promotion of Julie Larson-Green to lead all Windows software and hardware engineering in the wake of Steven Sinofsky's resignation is reopening the question of what is the difference between Computer Science and Software Engineering. According to their bios on Microsoft's website, Sinofsky has a master's degree in computer science from the University of Massachusetts Amherst and an undergraduate degree with honors from Cornell University, while Larson-Green has a master's degree in software engineering from Seattle University and a bachelor's degree in business administration from Western Washington University. A comparison of the curricula at Sinofsky's and Larson-Green's alma maters shows there's a huge difference between UMass's MSCS program and Seattle U's MSE program. So, is one program inherently more compatible with Microsoft's new teamwork mantra?"
In my opinion CS majors have always been the philosopher kind who like to nit-pick every angle of development. Product development leadership requires someone more practical as an engineer.
as if the schools these guys went to makes a difference? their skills are learned from experience working in the industry and their value is in using their judgement based on that experience to make the best choices.
Computer science, is a ... science. It's concerned with algorithms, factorials, LISP, Turing machines, and all sorts of other crazy awesome shit. Software engineering is concerned with Ruby on Rails and Wordpress.
If CS were called engineering, SE would be called mechanics.
Computer science is a branch of mathematics; software engineering is a collection of methods for applying that math in the "real world." Software engineering is not about state machines, compilers, programming languages, parallel algorithms, etc.; it is about how to use write "concrete" implementations of such things in a way that makes sense for real-world computation.
Palm trees and 8
It feels like we just discussed this a week ago - oh, wait, we did!
http://ask.slashdot.org/story/12/11/10/2038211/ask-slashdot-developer-or-software-engineer-can-it-influence-your-work
Another gem from timothy, right-supreme glorious editor for life.
To me Computer Science speaks of people who might want to design a new integrated circuit or otherwise do some kind of hard hacking, whereas software engineering refers to people who like to make said hardware do new tricks.
If Microsoft is sticking to the operating system department, I would figure the software engineer might be better qualified.
I'd say computer science would come into play when it comes to designing the surface tablet, except Microsoft isn't in the business of designing the bits and pieces, just the overall form factor. The bits and pieces come from the likes of intel, samsung, etc.
Careful with names containing L slashdot.org/~AiphaWolf_HK slashdot.org/~AlphaWoif_HK slashdot.org/~AiphaWoif_HK
I don't know about America, but in India, when I graduated in in '98, Computer Science/Engineering meant learning both hardware (chip designs, architecture, programming for 8086, 286, 386 and other peripheral chips, studying hardware designs of computers and motherboards, right from AND, OR and NOT gates) and software (designing languages, operating systems, programming in C, C++, VB etc.)
An engineer uses his tools and techniques to solve problems.
A scientist invents new tools and techniques.
If you're just using your knowledge to build things for people, you're an engineer. Unless you're exploring the limits of knowledge, coming up with and testing new ideas, you're not a scientist. And publishing has nothing to do with it, it's a mindset.
Knuth is a scientist - by laying out algorithms and describing their merits and deficiencies, he's essentially publishing a box of tools that others can use. Bill Gates is an engineer - he implemented known algorithms and solutions into a unified package (nothing new there).
Computer scientists understand what P=NP means and software engineers try to make people think they are smart by talking/acting as if they know means.
CS is mainly theoretical science, software engineering is one part of CS - how to analyze, design and build software. Usually SE is taught as a part of the CS curriculum, but perhaps some places have a separate program on it.
Having recruited plenty of people here in Finland, I can safely say, that the education means very little in the work life.
It's good to have _a_ degree, as it shows your employer two things:
1) You are able to learn new things.
2) You are abel to finish something that you started.
The curriculum never touches the latest topics in industry, you will learn more _relevant_ things in your first workplace during the first half year than you did over your 5 year education. Maybe some useful theory is in the back of your head, but you really don't make use of it actively, it has just opened the right paths of thought for you to be able to learn new things in the field.
Those guys are 50 something. The difference between Computer Science and Software Engineering does not matter 30 years after you graduated. Whether you kept up with progress and what kind of experiences you acquired during that time is what matters. Old guy did not left because of the school he was in and the new guy was not hired because of the school he was. They left / have been hired because of what they did last 7 years.
What you learned in school is irrelevant at that level.
Compare what is emphasized in each curriculum. Whoever is contemplating this needs to seriously RTFM. The terms have very long and precise histories. The question may as well be "what is the difference between physics and structural engineering?" and the response would still be "why don't you use an encyclopedia?"
...Or we could get down to the actual question that the submitter was insinuating, which is "It is most likely that Sinofsky and his replacement will have different mentalities about how the Windows department at MS should be run. But will having a software engineer replace a computer scientist yield results that are better or worse for the company's bottom line?"
Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
Engineering, as it's practiced in other fields, is applying existing models (often created by scientists) to make something new or modify something old. Bridge building applies a lot of science but doesn't do any science.
Scientists postulate new theorems, perform and evaluate studies, publish papers on those studies.
The vast majority of CS grads go into jobs where they use existing languages, algorithms, APIs and libraries to create something new or modify something old. Thus Engineers, not scientists. How many CS grads have even submitted papers to peer review?
Yes, there are the CS people doing actual science, performing studies, creating the new stuff for all the future SE's to use, but they're the vast minority. If you want to see more than 2 in the same room go to SIGGRAPH.
Computer Science is about the science of computation.
Software Engineering is about the engineering of software.
Wow, that was simple.
Where I'm finishing up my CS degree, there isn't a software engineering program at all, but rather you can take 3 electives in it. A lot of our CS electives are way more practical than our core classes, too. It's a pretty nice mix when you can skip the theoretical nonsense, I just don't know how well that holds up compared to other universities
Software Engineering, in the sense of the Seattle University program, is the attempt to reduce the production of software to a set of reproducible steps that any monkey (code monkey) could accomplish. You know, you start with your requirements, you proceed to a high-level design using object oriented design techniques, then you make a low level design, and finally, almost as an afterthought, you write code. As anyone who has been on a software project which attempts to follow this particular discipline knows, it doesn't work. It does, however, succeed in its secondary goal of turning an interesting job into a horrible grind.
I suspect working on Windows is already a horrible grind, so it probably won't make much difference.
Neither one is their job.
She's at the top of the managerial pyramid, she doesn't need to know much about either.
Her job is to keep tabs on the progress of each of the projects managed by people one level below her, then kick some of them up the arse if their projects are not coming along properly. If the kicks don't work, then assign someone external to the project to find out the real problems and either re-evaluate the scope or replace the manager.
The idea of someone managing hundreds of projects doing any engineering or computer science is mad.
That's where you cover that, & you do it as early as an AAS degree in CSC, in NY State @ least, by your 2nd year/Senior Year in the "SUNY" System... & the BEST COURSE during that, imo @ least? DataStructures!
* So this "masters in software engineering" doesn't HAVE that? I wonder if the "masters in CSC" does. IF they don't?? They ought to... it makes you *THINK*, not even like any other math out there imo.
(I thought it was hard too personally).
APK
P.S.=> I've got their undergrad degree (B.S., Business Admin + MIS concentration/minor) & am currently 90/120 credits built toward the B.S. in CSC (However - I don't have a masters in CSC or SE)...
Why?
Well, for example/instance: I've seen the coursework MBA's do for the Masters in Business is why - it's TOO "10,000 ft. view" & NOT DETAILED ENOUGH!
(Helped my brother during studies for his MBA & he was like "You did this stuff 20++ yrs. ago & STILL remember it?" & I was like "Well, yea - how can you USE it, IF you didn't COMMIT it?").
Hence, why I went for the 2nd degree in STRAIGHT CSC instead (more detail, & I took more languages than it required for the AAS work (60 cr. hrs.)), so I had more "detail"... & learned more (to me, that IS the TRUE BOTTOM-LINE on any degree)...
... apk
The leader of a program is not important. What matters is the service to the machien. What matters is that the professionals who do the job feel productive and that no lamers stand in their way. Microsoft has ements of an anti-software professional culture. They hate open standards. They rarely talk coding. Developers have a low status. Microsoft fails to inspire their developers. They are not treated with dignity.
The nominal difference is application vs. theory.
An engineer is concerned with making things work in a given situation.
A scientist is concerned with understanding how things work.
The actual difference boils down to the individual person and that individual's background. I can have a degree in software engineering from a heavy-engineering-emphasis school, but if my mind is more concerned with theory than application, at my heart I'm a scientist, not an engineer. Likewise, if I went to a heavy-science school and got a degree in computer science but my heart is on making well-built software, then I'm a software engineer.
There are of course other "kinds" of programmers. If a computer scientist is comparable to someone who studies building design and an engineer is comparable to an architect, a master coder is roughly equivalent to a master builder. The architect may not know the exact best grade of steel to use in a particular situation or the exact best local supplier of that steel, but a master builder will either know or know how to find out. Likewise, a good software engineer may not know the exact best library or function call for a given situation, but a master coder who is working in his area of expertise will.
At the low- and medium-ends of construction, you have less-than-master-level tradesmen. Some of these tradesmen may have small areas of extreme-zen-guru expertise, but their overall experience and expertise isn't nearly that of a master tradesman and they generally lack the high-level understanding of an architect and the theoretical understanding of someone who has made his life's work studying building design.
Likewise, in computer programming circles you have people who are relatively inexperienced and who have relatively little "big picture" or "deep theory" knowledge, but who - if their boss is very lucky - are zen masters in their own small domain. Over time, these people tend to realize "hey, if I want a job and I'm not both good at selling myself and lucky, I'll need a degree" and within a few years they have a 4-year technical degree of some type. Many adopt a mind-set of engineer or computer scientist, but some find that their calling is that of a zen-master programmer who happens to have some engineering or CS training.
Software engineer, computer programmer, or something else? It's time to look beyond the labels.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Both obviously involve software, however, CS formally focuses on the study of capabilities and refinement of digital circuitry and the software written on top of it whereas SE formally focuses on the study of the process of writing software.
A Computer Scientist doesn't need to know about a Software Engineer's design patterns, even if it might improve the quality of the software. Likewise a Software Engineer doesn't really need to know the computational differences between various sort algorithms so long as one of them fits within his functional and technical specs and can be written in a well-documented, easily maintainable, easily testable, and easily replaceable manner. One might say that the best programmers for the workplace are going to be those that study both disciplines, and to be sure most school's definitely take steps to have a significant portion of shared curriculum between the two even if the lion's share is otherwise not directly related. On the whole, I'd lean towards most businesses preferring an SE skillset over a CS skillset.
I don't think academics and/or achievements are priority qualifications for "leaders" of western institutions for a long time now.
Ballmer, Carly Fiorina, Meg Whitman, Marissa Mayer, Steven Sinofsky, Julie Larson-Green, Obama, GW Bush, Bill Clinton...
Nuff said.
I for one don't understand why mechanical engineers have to pass dynamics, thermodynamics, and differential equations just to draw gears and hinges all day (which, admit it, is what most mechanical engineers do).
Dynamics is very important for mechanical engineers, especially once those gears start moving, and even more so if fluids are part of the design, such as in some automobile brakes.
As for thermodynamics, my guess is that there are enough employers out there who have jobs that require both thermodynamics and a mechanical engineer that it makes sense to keep it as part of the curriculum, even if the vast majority of graduates will never use it again once they leave school.
As for Differential Equations, it can give another way of looking at the math behind the engineering besides "lower" math like calculus or trigonometry. Having more than one way to look at a problem usually increases the likelihood of understanding it.
Oh, and then there's the cynical reason why most 4-year degree programs have classes that students will never use after graduation: It puts a "you have to be THIS smart and work THIS hard to graduate with a FOUR-YEAR-DEGREE from OUR-SCHOOL. And oh by the way you also had to be THIS-RICH or THIS-HARD-WORKING-IN-YOUR-PART-TIME-JOB to afford tuition or THIS-MUCH-SMARTER or PLAY-SPORTS-VERY-WELL to get a scholarship."
The less cynical reason is that a 4-year degree is more than just a trade school. A bachelor's degree really is meant as a general education of 4 years beyond high school with a concentration in a particular area of study sufficient to prepare the student for graduate school in that area of study.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
But,
I think the difference should be similar to a physicist and a engineer. When the engineer specializes in practical application of the science, and the physicist researches the science.
A computer scientist researches and develops sorting algorithms. A software engineer knows which one to use when.
"Her degrees are from "fluff" schools which you go to after failing to get into at least University of Washington." - by Anonymous Coward on Saturday November 17, @04:04PM (#42014447)
Could be, but... I felt (since I have the B.S. in Business Administration with MIS concentration/minor + AAS CSC gone long by, & into 90/120 credit hours of B.S. CSC currently in the NY State SUNY system here) school is what YOU MAKE IT, per my subject-line above.
I saw folks there "just for the paper" - most 'dropped out' in their 1st-2nd yr. of the major if they weren't "into it" & "living it" (true nerds/geeks - who have it right by the by, doing that. It's how you excel & have the drive to keep @ it + learn more).
No - along with your schooling studies, you should be an "auto-didact" & learn on your OWN also! Makes you, stronger/better!
---
"Take it from someone who worked there for almost a decade: Larson Green will drive Windows (further) into the ground." - by Anonymous Coward on Saturday November 17, @04:04PM (#42014447)
That's what I am worried about. For instance - I've heard tell she is an "interface expert"? WTF is that?? It's not 'interfaces' in the classic sense, as in programmatic classes &/or units-modules to hook into a library, but rather, GUI fronts... personally?? I don't consider that "heavy duty", & anyone with 1/2 a braincell can do THAT much!
---
"For all intents and purposes Julie has no engineering experience at all. She's never been an engineer. She's never even worked closely with engineers." - by Anonymous Coward on Saturday November 17, @04:04PM (#42014447)
THAT IS NOT GOOD! To lead men, ESPECIALLY MEN, you had to have "walked a mile in their shoes"... just to earn their RESPECT & TRUST!
I mean - personally, I always had a difficult time taking orders from an "alleged 'superior'", if they truly were NOT my superior & never did the job!
That happened a LOT over my time in the computer sciences... guys who had never done the job "hands-on, in the trenches" running coders, abounded by the truckload & were leading actual programmer-analysts (none of us respected them).
Give me the RIGHT leader, one whom I know KNOWS what he's talking about? I'd follow him into the gates of hell, since I know he'll get me back OUT again... since he HAS BEEN THERE/DONE THAT!
---
"Her most recent (and only, as far as I can tell) accomplishment is taking someone else's idea for the Ribbon and passing it off as her own. " - by Anonymous Coward on Saturday November 17, @04:04PM (#42014447)
THAT IS WHAT SCARES ME, along with the STUPID FOR A PC DESKTOP "metro" interface...
---
"Now she's being put in charge of an org well over 5000 people strong." - by Anonymous Coward on Saturday November 17, @04:04PM (#42014447)
That she can probably manage well enough by "delegating authority" & passing it down thru the chain-of-command, IF she hired well for her immediate subordinates...
---
"She's way out of her dept, both organizationally and knowledge-wise. You can't run an organization (let alone an organization of this size and complexity) if you can't see whether people are BS-ing you. And she can't." - by Anonymous Coward on Saturday November 17, @04:04PM (#42014447)
Oh, I absolutely AGREE, 110%, per my statements above!
APK
P.S.=> If you answer back - how was working @ MS? Yes, I am assuming you are being truthful (since you post as ac, many would doubt you, but I will take your words @ face value + accept them as truth for now @ least)...
... apk
In America in the late 1990s some accredited (4-year degree from a reputable institution) CS-only and Software-engineering-only programs did very little hardware design unless you took those courses as elective. You probably got to play with AND, OR, and NOT gates but it wasn't geared to teaching you how to design circuits beyond a minimal level of complexity.
Other CS and SE programs were really computer-engineering or computer-science-engineering programs under a different name and they got the hardware elements you mentioned.
I haven't kept up with the times, so I don't know what the current program requirements are at reputable, degree-granting institutions today.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Take your own advice (since you enjoy "the flavor" (lol)), troll...
* LMAO, @ U...
APK
. Unless you're exploring the limits of knowledge, coming up with and testing new ideas, you're not a scientist.
So the lawyer at Apple who came up with a new way to patent page-turning is a legal scientist? Who knew?
--
--
--
Yeah, I know "Unless A then not B" doesn't mean "if A then B," but we are talking about a guy who is a proven expert at twisting meanings around.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Yes, computer scientists understand all unsolved problems but can't prove them :P
Now she's being put in charge of an org well over 5000 people strong.
How many of them have the initials "A. C."?
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Disregard this comment, it is not the real APK. This (http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014641) is the real APK.
CS is not helpdesk / system admin / desktop.
Pretty much this, and they make the same money - sometimes less because they sense of algorithmic philosophics prevent them from delivering on time/in budget/on target. If you have a CS background and are in software development ur doing it wrong (overpaid for your education).
While not a perfect match to the above, I think the story of the king's toaster is a good example of the difference between an "engineer" and a "scientist". I originally saw this on USENET in the 1990s, so the technology is a little dated:
If you are a manager with good tech skills, it's easier to detect technical BS and to ask the tough questions that will get you the information you want quickly.
If you don't have the right skills, you need someone you trust who does at your side to fill this role.
Now, at the 5000-person level, you do have a point. If she trusts everyone who reports directly to her not to BS her OR she has someone at her side who can ferret out BS, then she doesn't need a technical background. But if she isn't that lucky, she does.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Computer Science is Physics
Software Engineering is Mechanical Engineer/Eletrical Engineering.
Julie Larson-Green will be promoted to lead all Windows software and hardware engineering. Tami Reller retains her roles as chief financial officer and chief marketing officer and will assume responsibility for the business of Windows.
Isn't the more important story here the rise of two women to senior positions in management and engineering at Microsoft?
The software and semiconductor sectors have the lowest percentages of women among the five highest-paid executives in a company, with 4.4 percent and 2.7 percent
Where Are the Women Executives in Silicon Valley?
Julie Larson-Green is no slouch when it comes to logging the years and time at Microsoft. She joined the company 19 years ago as a program manager for Visual C++ and has worked her way up through the ranks.
Larson-Green worked hand-in-hand with Sinofsky on Microsoft Office. Before that she worked on Microsoft SharePoint and Internet Explorer. She actually led one of the most dramatic redesigns at the company when she worked on the so-called ribbon interface in Office.
The Woman Behind Windows
''I don't even know how to explain how amazing and exciting that is to every woman who works in tech right now and probably in business across the board,'' said Michele Weisblatt, executive vice president for Women in Technology International.
''It"s not just about (the company) putting them over a division, it's about them leading the flagship product --- the money-making, revenue piece for Microsoft. It's just phenomenal.''
Women hold just a quarter of computing and mathematical jobs in the U.S., according to a 2008 report on women in technology from Catalyst, a nonprofit research organization.
''Microsoft's move is important because of its visibility as a technology and corporate giant, so girls in school who see women like Larson-Green and Reller move into such high-profile roles will carry that with them for a lifetime,''said Jenny Slade, a spokeswoman for the National Center for Women & Information Technology.
Women rising in the ranks at tech companies
CS theory is not "nonsense" by any stretch of the imagination, even if you are only interested in doing "real world" work. The point of theory for professional programmers is to think about software in unusual ways; this broadens your ability to solve problems. The trend in programming languages over the past few decades has been towards the use of concepts that are common in theoretical CS; if that trend continues (and I suspect it will), theoretical courses will be more relevant as time goes on.
Even C++ now has lambda expressions. Introspection was once a theoretical topic (e.g. Turing machines that can read their own description). Type theoretic concepts (type constructors, dependent types, etc.) are probably going to become more mainstream in the near future.
Palm trees and 8
engineers take responsibility for the work they do (and cop the flak when it goes wrong)
scientists just make shit up and if it goes wrong... well its all in the name of science
Computer Scientists create things like linux.
Software Engineers create things like Windows 8.
Not trolling, This is a complete fact. Far more high level CS degrees are working on linux and OSS than Windows 8.
Do not look at laser with remaining good eye.
Side note: I'm mystified at how someone with a Bachelor's degree in business can earn an MS in Software Engineering. Yes, management skills have an important role in an SE curriculum, but not to the exclusion of the technical skills.
No, computer scientists create things like the internet, LISP, and object-oriented programming.
Software engineers create products like Linux and Windows 8.
".KPA laer eht si )]gro.todhsals[ 14641024=dic&5028523=dis?lp.stnemmoc/gro.todhsals.srepoleved//:ptth( sihT .KPA laer eht ton si ti ,tnemmoc siht dragersiD" - by Anonymous Coward ANOTHER "ne'er-do-well" /. OFF-TOPIC TROLL on Saturday November 17, @04:40PM (#42014707)
"???"
Uhm... Could we get a translation of that off-topic "troll-speak/trolllanguage" of yours, please?
---
* And, you're an off-topic troll - no questions asked...SEE MY SUBJECT LINE ABOVE!
APK
P.S.=> Yes, it must have just have been another off-topic done nothing of significance with his life troll spewing his off-topic b.s. again & not contributing to the ongoing conversations. Oh well - No biggie!
("ReVeRsE-PsYcHoLoGy", for trolls - Courtesy of this code by "yours truly" in less than 1 second flat):
---
#TrollTalkComReversePsychologyKiller.py (Ver #2 by APK)
def reverse(s):
try:
trollstring = ""
for apksays in s:
trollstring = apksays + trollstring
except:
print("error/abend in reverse function")
return trollstring
s = ""
print reverse(s)
try:
s = "Insert whatever 'trollspeak/trolllanguage' gibberish occurs here..."
s = reverse(s)
print(s)
except Exception as e:
print(e)
---
... apk
It's the same thing, probably. My degree was in Computer Science with Information Engineering. Unless you knew every module I did you'd be none the wiser. My first job title was Junior Programmer. Just words.
Pro Coffee Drinker
You know, one of these "guys" that you refer to doesn't even have a penis. Do you know why? Well, it's because Julie Larson-Green is a woman.
A software engineer will complain about the structure of a comment, how you name varibles and functions. A computer science major just programs.
#define SUCK void
#include <stdio.h>
#define MY main()
#define DICK {
#define DUMB printf("fuck you);
#define BITCH }
#define FUCK SUCK MY DICK
#define YOU DUMB BITCH
FUCK YOU
Over paid for your education is doing it right.
signature is pants
In my experience, comments make sweeping generalizations while the articles promote cognitive dissonance.
The problem Microsoft has is neither with computer science nor with software engineering; their problem is with design, usability, and functionality.
That won't even compile (much less run), troll... lmao!
* Poor little off-topic troll... #defines & an #include won't cut it by themselves, see subject-line above!
(Try a strrev function instead, fool - it'll @ least do what I did in Python, albeit for YOU, in C!)
APK
P.S.=> You really, Really, REALLY need to get your CSC degree...
... apk
Computer Science is the overarching term for everything to do with computers. This includes computer science theory, hardware engineering, software engineering, networking, etc. A good Computer Science program covers the theory required to build a computer from scratch (circuitry, microchips, firmware, software, etc). A good Software Engineering program provides practical skills to develop applications, games, etc.
There are circumstances where only an engineer will do. An engineer's signature is necessary on designs where public safety is an issue.
thoughts aquire speed
lips aquire stains
stains become a warning
sorry about that copyright violation - I could not stop
"Software Engineering" implies a more practical focus, with emphasis on using real teams to create working systems with real-world applicability. "Computer Science" implies a more theoretical approach, perhaps a bit removed from practical application. Both have their place, and there's huge overlap (one institution's Comp Sci program may even be more "practical" than another's Software Engineering program), so it is hard to make snap judgements.
But in general, putting someone with the Software Engineering degree in charge sounds like a good idea to me, as long as their are competent Comp Sci people working under her.
THE TOASTER
Once upon a time, in a kingdom not far from here, a king summoned two of his advisors for a test. He showed them both a shiny metal box with two slots in the top, a control knob, and a lever. "What do you think this is?"
One advisor, an engineer, answered first. "It is a toaster," he said. The king asked, "How would you design an embedded computer for it?" The engineer replied, "Using a four-bit microcontroller, I would write a simple program that reads the darkness knob and quantizes its position to one of 16 shades of darkness, from snow white to coal black. The program would use that darkness level as the index to a 16-element table of initial timer values. Then it would turn on the heating elements and start the timer with the initial value selected from the table. At the end of the time delay, it would turn off the heat and pop up the toast. Come back next week, and I'll show you a working prototype."
The second advisor, a computer scientist, immediately recognized the danger of such short-sighted thinking. He said, "Toasters don't just turn bread into toast, they are also used to warm frozen waffles. What you see before you is really a breakfast food cooker. As the subjects of your kingdom become more sophisticated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete. If we don't look to the future, we will have to completely redesign the toaster in just a few years."
"With this in mind, we can formulate a more intelligent solution to the problem. First, create a class of breakfast foods. Specialize this class into subclasses: grains, pork, and poultry. The specialization process should be repeated with grains divided into toast, muffins, pancakes, and waffles; pork divided into sausage, links, and bacon; and poultry divided into scrambled eggs, hard-boiled eggs, poached eggs, fried eggs, and various omelet classes."
"The ham and cheese omelet class is worth special attention because it must inherit characteristics from the pork, dairy, and poultry classes. Thus, we see that the problem cannot be properly solved without multiple inheritance. At run time, the program must create the proper object and send a message to the object that says, 'Cook yourself.' The semantics of this message depend, of course, on the kind of object, so they have a different meaning to a piece of toast than to scrambled eggs."
"Reviewing the process so far, we see that the analysis phase has revealed that the primary requirement is to cook any kind of breakfast food. In the design phase, we have discovered some derived requirements. Specifically, we need an object-oriented language with multiple inheritance. Of course, users don't want the eggs to get cold while the bacon is frying, so concurrent processing is required, too."
"We must not forget the user interface. The lever that lowers the food lacks versatility, and the darkness knob is confusing. Users won't buy the product unless it has a user-friendly, graphical interface. When the breakfast cooker is plugged in, users should see a cowboy boot on the screen. Users click on it, and the message 'Booting UNIX v. 8.3' appears on the screen. (UNIX 8.3 should be out by the time the product gets to the market.) Users can pull down a menu and click on the foods they want to cook."
"Having made the wise decision of specifying the software first in the design phase, all that remains is to pick an adequate hardware platform for the implementation phase. An Intel 80386 with 8MB of memory, a 30MB hard disk, and a VGA monitor should be sufficient. If you select a multitasking, object oriented language that supports multiple inheritance and has a built-in GUI, writing the program will be a snap. (Imagine the difficulty we would have had if we had foolishly allowed a hardware-first design strategy to lock us into a four-bit microcontroller!)."
The king had the computer scientist thrown in the moat, and they all lived happily ever after.
"For every complex problem there is an answer that is clear, simple, and wrong."
-H. L. Mencken
Computer scientists understand what P=NP means and software engineers try to make people think they are smart by talking/acting as if they know means.
yeah! because the average programmer deals with P=NP problems every day! (not)
My personal experience would be that computer engineer is a better place to start a career and then start sprinkling computer science more and more. The CS majors (the worst being the graduate ones) blah blah all the time about big O yet somehow never master the career basics such as SQL or Linux administration. I find that they get bogged down with Big O and other analysis on problems where O^8 will still take nearly zero time and O just doesn't matter.
Yet on the other end I find that many computer software engineers tend to master something like Java and then just wail away at every problem with their one mastered skill set. Then after a while they get a second skill set such as SQL and as time goes by they end up with a sort of vertical integration of skills. But where they don't usually progress is when you do have to look at a problem as a system and start doing discrete math, working out the nodes, connections, and so on. This is where computer software engineers will implement a cryptographic library but do it really badly leaving elephant sized holes.
So I would say CS is often too pedantic, CE is too much like a plumber, but a CE with strong math and a good dose of CS can generate art. Sort of like Escher; he could draw quite well and had a good understanding of math, he combined the two into something incredible.
Frankly, I find it confusing when the word 'biographies' is shortened to 'bios' - especially when dealing with a CS subject.
If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
No.
".efiw sih dekcuf I elihw em mir KPA dah ecno I :yrots eurT" - by Anonymous Coward ANOTHER "ne'er-do-well" /. OFF-TOPIC TROLL on Saturday November 17, @07:24PM (#42015861)
"???"
Uhm... Could we get a translation of that off-topic "troll-speak/trolllanguage" of yours, please?
---
* And, you're an off-topic troll - no questions asked...& your "StRaNgE-PhaNtaSiEs"? Please... give us a break!
APK
P.S.=> Yes, it must have just have been another off-topic done nothing of significance with his life troll spewing his off-topic b.s. again & not contributing to the ongoing conversations. Oh well - No biggie!
("ReVeRsE-PsYcHoLoGy", for trolls - Courtesy of this code by "yours truly" in less than 1 second flat):
---
#TrollTalkComReversePsychologyKiller.py (Ver #2 by APK)
def reverse(s):
try:
trollstring = ""
for apksays in s:
trollstring = apksays + trollstring
except:
print("error/abend in reverse function")
return trollstring
s = ""
print reverse(s)
try:
s = "Insert whatever 'trollspeak/trolllanguage' gibberish occurs here..."
s = reverse(s)
print(s)
except Exception as e:
print(e)
---
... apk
hahahaha you still haven't fixed that bug on line 5... can you at least indent it so you don't look like a total douchebag rather than pasting the same bug-ridden formatting in every one of these posts
hahahaha you still haven't fixed that bug on line 5... can you at least indent it so you don't look like a total douchebag rather than pasting the same bug-ridden formatting in every one of these posts
APK is too stupid to see the bug in his own code as posted everywhere, and even when pointed out to him previously he still hasn't fixed it lol.
also, his beloved code that he spouts on about can be replaced by this much more efficient code:
s = 'abc'
s = s[::-1]
print s
more entertaining APK commentary may be found here:
http://slashdot.org/comments.pl?sid=3058625&cid=41142547
You're using a prebuilt function I'm well aware of. I did mine by hand... more fun that way, & looks cooler too imo!
Lastly - See subject-line above, & "argue with success...". The code works enough to dig you "outta the woodwork" as yet another trolling roach, lol!
APK
P.S.=> My PyThon code just works, what can I say? You must be (lol) "CrUtChy" lmao - the infamous troll who 'stalks' me here, periodically, based on your link signed off as 'CrUtChy' (lol, look yourself) - Same b.s. as usual!
"CrUtChy" - listen: If Jesus Christ himself came into a room, based on your critique of working code not precanned/prebuilt stuff? You'd have told HIM to get a haircut I bet... lol!
...apk
"Rinse, Lather, & Repeat"there (lol) 'CruTcHy' -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016363
* You KNOW there's "evil in the air", lmao, when ole 'CruTcHy' comes "shambling outta the /. walls" like the trolling roach he truly proves himself to be, rotflmao!
APK
P.S.=> By the way, in case you hadn't noticed? Working Code != Buggy... not even a nice try!
... apk
Answer this: Is code that works 'buggy'? Hasn't bugged out on me yet... lol! Does work to squash trolling BUGS like you though, lol, everytime... you surface, thus, that question.
* See - I ask since I question your sanity..., lol!
Especially since that code's worked for me vs. trolls, for... oh, I don't know - around a year or more here maybe, every single time, giving trolls what They NEED...
(Cuz that's all I'm really, all about since I'm such a nice guy, & all that of course, & that was what?)
A dose of "ReVeRsE-PsyChoLoGy", that's all... lol!
APK
P.S.=> "Onwards & Upwards" as trolls like (lol) 'CruTcHy' come crawling outta the woodwork, lmao (chuckle/snicker)...
... apk
eom
So you've got Seattle on one hand, and Massachusetts on the other. Massachusetts has a reputation of being more theoretical about engineering, as opposed to cheap and practical like west-coast people. Massachusetts-made thinks like DEC's VAX were big, expensive, heavy, tough, and polished. Seattle has...well ...MSDOS. Quick, dirty, gets the job done, ultimately Microsoft flourished and DEC withered and died. BUT concepts live on, as NT was done by ex-DEC people. West Coast is more hack, East Coast is more engineering. Personally, I am from Massachusetts and would like to think the Yankee 'craftsman' approach is better than the west-coast hippie 'hack', but the truth is, that the distinction isn't always easily made, and that elegant design needs some pragmatism as well. But, I think it's an interesting intellectual exercise when think of East Coast CS craftsmen vs. West Coast CE hackers.
hahahahaha so the "great" APK still can't see the bug in his posted code.... now that's funny right there :)
That's a very harsh indictment of software engineers.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Computer scientists can't write code, and they really shouldn't.
It's a poor "scientist" that only thinks and never experiments.
Real computer scientists need to also be adept programmers, because it turned out The Last One really wasn't and there is still code between thought and program.
Also if your field of interest was computer languages it would be foolish indeed to try and design language features without understanding the pitfalls and benefits of said features in whatever languages they have appeared in.
A computer "scientist" who does not program well is about as useful as a brick without mortar. All you can really accomplish is breaking other peoples structures while building nothing of your own.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
People keep getting it wrong. Both are math heavy and all that jazz, but what differentiates the two is that Computer Science is about THEORY. It is learning, understanding, and developing new theoretical approaches to development. Engineering is the application of theories into reality. Both have their uses, but for some reason Computer Science has been made into this "catch-all" degree that is interchangeable with Software Engineering. They're not interchangeable because the minds that have been properly taught those degrees should approach the same problem totally different.
Seems like we have this argument every couple of weeks now.
No sooner do I get over one, then you put a better one right next to me. Bastards.
This. Neither has anything to do with this role at Microsoft, which is a management position.
With a Ph.D in the "system" side of Computer science (versus the more "theory"-oriented directions), and now working as a software engineer in a "system" company (think Cisco), I would say they don't actually differ that much. It's all about building systems and making them work.
CS system research focuses more on proving certain novel scheme indeed works and understanding why it works, while SE emphasizes on building rock-solid systems that don't fail even if you modify all the inputs in all sorts of random ways. But again, you usually need novel schemes to build a truly competitive product, and you need to care about reliability and manageability even if you are just building a "research" system.
There isn't a clear line between them, and your skill sets can certainly be carried over.
Works just fine here, 'CruTcHy' (lol) -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
* :)
APK
P.S.=> See any "bugs" there, 'CruTcHy'? I don't - the output's just fine for my purposes, & those are?
Well, like I said - just giving trolls, LIKE YOU, just what they needed:
A dose of "ReVeRsE-PsyChoLoGy', lol...
... apk
Works just fine here, 'CruTcHy' (lol) -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
(Yet again for a 2nd time here...)
* :)
APK
P.S.=> See any "bugs" there, 'CruTcHy'? I don't - the output's just fine for my purposes, & those are?
Well, like I said - just giving trolls, LIKE YOU, just what they needed:
A dose of "ReVeRsE-PsyChoLoGy', lol...
... apk
My PyThon script code works just fine here, 'CruTcHy' (lol) -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
(For the 3rd time in this thread too, vs. trolls JUST LIKE YOU! Probably are you posting as ac replies since you came outta the woodwork "suddenly"... lol, loved your "C Program" (lol, not)).
* :)
APK
P.S.=> See any "bugs" there, 'CruTcHy'? I don't - the output's just fine for my purposes, & those are?
Well, like I said - just giving trolls, LIKE YOU, just what they needed:
A dose of "ReVeRsE-PsyChoLoGy', lol...
... apk
My PyThon script code works just fine here, 'CruTcHy' (lol) -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
(For the 5th time in this thread too & hundreds of others, vs. trolls JUST LIKE YOU! Probably are you posting as ac replies since you came outta the woodwork "suddenly"... lol, loved your "C Program" (lol, not)).
* :)
APK
P.S.=> See any "bugs" there, 'CruTcHy'? I don't - the output's just fine for my purposes, & those are?
Well, like I said - just giving trolls, LIKE YOU, just what they needed:
A dose of "ReVeRsE-PsyChoLoGy', lol...
... apk
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42017741
* :)
APK
P.S.=> Ahem (again for the 6th time now): My python script code worked JUST FINE here in this thread alone 5x (and 100's of others in the past year here too, not "bugging out" even ONCE in that timeframe)!
Just for giving trolls like you JUST what they needed - which is, of course, just a dose of "ReVeRsE-PsyChoLoGy'... lol!
... apk
When I did my CS degree computer science was part of the science stream, was expected to be primarily a tool for the advancement of science and to have lots of scope for development in its application.
It was only later people realised the scope of computer use is a whole lot wider and that the main problem is dealing with the complexity of the systems. So it became less about the micro of clever algorithms and code and more about the macro of trying to get the product of large numbers of people to work cheaply and reliably.
In practice I suspect there's little difference beyond the name and self image. I'd expect CS people to understand the issues of large scale software development (as much as you can in a Uni). I'd expect SE people to understand the materials they work with and why software isn't reliably reproducible like stuff made from bolts and girders.
you are a fucking idiot. if you actually read what i posted, i have never been talking about the code that you actually run in your python interpreter.... i'm talking about the code that you post on slashdot
not that you'll understand that either, being as thick as you are
The problem here lies that it is no more traditional engineer than it is traditional architecture but instead just a title to mean doing something specific with software. It's not the other way around and doing something specific with engineering.
People seem to like the false impression of a software engineer being a professional engineer that does something with software, but that's as much of a mistake as expecting a Doctor of Religeous Studies to take a medical approach to their work.
Anyway, I doubt there is any difference in mindset due to the studies since one course would be a few electives away from being identical with the other.
hahaha i'd love to know what "c program" you're talking about now (particularly since i don't program c)... got a bit punchy with the paste button there i see
...and you are a fucking idiot. if you actually read what i posted, i have never been talking about the code that you actually run in your python interpreter.... i'm talking about the code that you post on slashdot
not that you'll understand that either, being as thick as you are
hahaha i'd love to know what "c program" you're talking about now (particularly since i don't program c)... got a bit punchy with the paste button there i see
...and you are a fucking idiot. if you actually read what i posted, i have never been talking about the code that you actually run in your python interpreter.... i'm talking about the code that you post on slashdot
not that you'll understand that either, being as thick as you are
Julie Larson-Green will be able to bullshit her superiors about the advancement of the projects she supervises like no other !
you should think about it.
Simple example: Two choices for a clustering algorithm. One clusters on different scales (edges, triangles, etc. between data centers), one just clusters using edges, then searches for cliques of edges to find for example triangles.
you would assume the second one is faster, because it does less clustering. But the clique-problem is np-complete.
Two people in the world are needed to determine which approach is faster, and one of those is just error-checking the results of the other.
Software engineers can then use that knowledge to build working software.
Computer scientists don't make the best programmers. (Physicists do).
Computer scientists don't make the best programmers. (Physicists do).
Sorry, but this is complete BS. I've had a dozen or so physicists work for me and they all write GOTO code with not an inkling of architecture or design.
Yes, they can think straight, as do mathematicians, but they lack the principles of good software design.
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
* So much for this "tidbit" from you, eh (lol) 'CruTcHy':
"forget about what you actually run in your python interpreter. just have a look at your posted code" - by Anonymous Coward on Sunday November 18, @04:21AM (#42017839)
No, lol, I think it's funny how well it runs then!
(No bugs 5x above, & 100's of times before it the past year or so here)
Yes... Considering its outputs are PERFECT above - because it puts out such NICE work translating "off-topic illogical 'trollspeak/trollanguage'", giving trolls JUST WHAT THEY NEED (since I am such a nice guy & all that):
And what's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
APK
P.S.=> Yea - I absolutely LOVE to get 'CruTcHy' to "dance" for us on this one, lol... Hey - he NEEDS the exercise, the man's on crutches (keeps him from atrophying)...
... apk
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
* So much for this "tidbit" from you, eh (lol) 'CruTcHy':
"i have never been talking about the code that you actually run in your python interpreter" - by crutchy (1949900) on Sunday November 18, @04:05AM (#42017807)
Clue/New NEWS/NewsFlash: That's the code providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... lmao!
No, lol, I think it's funny how well it runs then!
(No bugs 5x above, & 100's of times before it the past year or so here)
Yes... Considering its outputs are PERFECT above - because it puts out such NICE work translating "off-topic illogical 'trollspeak/trollanguage'", giving trolls JUST WHAT THEY NEED (since I am such a nice guy & all that):
And what's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
APK
P.S.=> Yea - I absolutely LOVE to get 'CruTcHy' to "dance" for us on this one, lol... Hey - he NEEDS the exercise, the man's on crutches (keeps him from atrophying)...
... apk
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
* So much for this "tidbit" from you, eh (lol) 'CruTcHy':
"i have never been talking about the code that you actually run in your python interpreter" - by crutchy (1949900) on Sunday November 18, @04:04AM (#42017803)
Clue/New NEWS/NewsFlash: That's the code providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... lmao!
No, lol, I think it's funny how well it runs then!
(No bugs 5x above, & 100's of times before it the past year or so here)
Yes... Considering its outputs are PERFECT above - because it puts out such NICE work translating "off-topic illogical 'trollspeak/trollanguage'", giving trolls JUST WHAT THEY NEED (since I am such a nice guy & all that):
And what's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
APK
P.S.=> Yea - I absolutely LOVE to get 'CruTcHy' to "dance" for us on this one, lol... Hey - he NEEDS the exercise, the man's on crutches (keeps him from atrophying)...
... apk
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
* So much for this "tidbit" from you, eh (lol) 'CruTcHy':
"i have never been talking about the code that you actually run in your python interpreter" - by crutchy (1949900) on Sunday November 18, @04:00AM (#42017793)
Clue/New NEWS/NewsFlash: That's the code providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... lmao!
No, lol, I think it's funny how well it runs then!
(No bugs 5x above, & 100's of times before it the past year or so here)
Yes... Considering its outputs are PERFECT above - because it puts out such NICE work translating "off-topic illogical 'trollspeak/trollanguage'", giving trolls JUST WHAT THEY NEED (since I am such a nice guy & all that):
And what's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
APK
P.S.=> Yea - I absolutely LOVE to get 'CruTcHy' to "dance" for us on this one, lol... Hey - he NEEDS the exercise, the man's on crutches (keeps him from atrophying)...
... apk
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
* So much for this "tidbit" from you, eh (lol) 'CruTcHy':
"i have never been talking about the code that you actually run in your python interpreter"by crutchy (1949900) on Sunday November 18, @04:03AM (#42017801)
Clue/New NEWS/NewsFlash: That's the code providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... lmao!
No, lol, I think it's funny how well it runs then!
(No bugs 5x above, & 100's of times before it the past year or so, too, here on /.!)
Yes... Considering its outputs are PERFECT above - because it puts out such NICE work translating "off-topic illogical 'trollspeak/trollanguage'", giving trolls JUST WHAT THEY NEED (since I am such a nice guy & all that):
And what's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
APK
P.S.=> Yea - I absolutely LOVE to get 'CruTcHy' to "dance" for us on this one, lol... Hey - he NEEDS the exercise, the man's on crutches (keeps him from atrophying)...
"hahaha i'd love to know what "c program" you're talking about now (particularly since i don't program c)" - by crutchy (1949900) on Sunday November 18, @04:03AM (#42017801)
Yes... I could tell (lmao) as far as the "C Program", look to your ac posts here:
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015023
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015039
lol!
... apk
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
* So much for this "tidbit" from you, eh (lol) 'CruTcHy':
---
"i have never been talking about the code that you actually run in your python interpreter" - by crutchy (1949900) on Sunday November 18, @04:02AM (#42017797)
Clue/New NEWS/NewsFlash: That's the code providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... lmao!
No, lol, I think it's funny how well it runs then!
---
(No bugs 5x above, & 100's of times before it the past year or so here too vs. trolls like yourself, in just "giving them what they need", lmao...)
---
Yes... Considering its outputs are PERFECT above - because it puts out such NICE work translating "off-topic illogical 'trollspeak/trollanguage'", giving trolls JUST WHAT THEY NEED (since I am such a nice guy & all that):
And what's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
APK
P.S.=> Yea - I absolutely LOVE to get 'CruTcHy' to "dance" for us on this one, lol... Hey - he NEEDS the exercise, the man's on crutches (keeps him from atrophying)...
"hahaha i'd love to know what "c program" you're talking about now (particularly since i don't program c)" - by crutchy (1949900) on Sunday November 18, @04:03AM (#42017801)
Yes... I could tell (lmao & SO COULD OTHERS) as far as the "C Program", look to your ac posts here:
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015023
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015039
lol!
... apk
I see it as the difference between science and engineering. Science – let your interests motivate you to make new discoveries. Engineering – Build the systems that your customers want.
As a web-dev... I work day in day out with CS grads. As an engineering major, what my observation is, they are pretty bad at seeing the "big picture", and more often, very bad team players.
I attended a top-8 Australian university. In the engineering major, the mantra from day one is "be a team player, look at the big picture, plan ahead and well in advance". In my undergrad years, I have done many group assignment, presentations. These kind of activities will train undergrads to horn their communication and planning skills.
As far as my understanding, if you fail to communicate well, be a team player and plan projects well ahead i.e. see the big picture; you are pretty much doomed when you have to work in professional environments and have to handle big projects.
I get the impression that this article was intended to be a grenade in a crowd.
Congrats.
Disclaimer: I am a software engineer, and this information will be useful to prospective college students. I believe a debate about engineering vs science is not necessary here and will not be of use to prospective students.
CS degree: Is a branch (some would say spinoff) of Mathematics, mixing discrete mathematics, algorithms, computability ("new" 20th century topic), and practical programming (also "new" topic). Some would say Computer Science is not a true science. My physics professor would say, "Mathematics and Computer Science had a divorce and Computer Science got all the children."
Software engineering: A career path that applies computer science in the design and implementation of software systems. A software engineer is typically aware of different processes for software development and knows how to work in a team.
Important:
Why do I call software engineering a career path? For two reasons. One, you will find very few accredited Software Engineering *Bachelor's* programs. You will find many accredited Software Engineering *Master's* programs.
Two, to become a software engineer, you typically graduate with a Computer Science degree and then join a company that is doing software product development. This likely accounts for a vast percentage of today's young "software engineers", like me. Note this may change as time goes on.
To become a computer scientist, you can say you graduated with a CS degree. However, a true CS "job" would likely be in a research setting where you apply the full breadth of theoretical knowledge which is more often than not, not required for a software engineering job. You might be working at a research center with supercomputers, where your job is to do basic or applied research. Hence something like Physics vs Applied Physics is similar to Computer Science vs Software Engineering.
Computer Scientists leave writing the actual code to CS students, who don't earn big salaries. Guess where all that Open Source software originally came from.
M.C. Escher was an illustrator who mastered lithography and other graphic art forms, famous for his meticulous precision. He started drawing mediterranean landscapes and still lives, and later produced mostly abstract art. The latter was a favourite of maths teachers, but he lacked formal training in mathematics.
re: Computer scientists don't make the best programmers. (Physicists do). I believe it is mathematicians who make the best programs (which are nothing but applied algorithm).
SWE is light wrt. when it comes to how much advanced mathematics is required.
Developers developers developers!!!!...
Degree in CS or SE makes a good paper to wipe your bum with unless you have the experience to back it up or were lucky enough to gain a graduate placement.
No one will employ you without some experience so any graduate who graduated and never worked even part time in the industry they want to work in will find it hard to compete with all the other graduates who did part time work even if that was callcentre desktop support.
The name of the degree doesnt matter as all graduates would be lucky to be part of a development team straight after uni. Most end up in shitty jobs like desktop support callcentres to 'build up experience' for 2 years or so they can have the necessary experience to be part of a roper team.
Others end up maintaining code and fixing bugs. After few years they might get on the development team and by then the stuff they learned at uni is only general knowledge considering how quicky technology moves so they would likely be specialist in the stuff their company does but if they lost that job they would be once again behind the tech curve and would need to keep up.
At the end its all about what uni does what and how they approach and name things. The CS ones are ones with stronger ARTS framework and you end up doing alot of general stuff like Philosophy and Logic, alot of Electronics and hardware and heavy Statistics classes coupled with some crazy math you will rarely use as a programmer and if you had to use it likely it was already automated in someone elses library of functions or yo9u just google the formula and copy paste. :)
the SE unis are the ones with more industry contacts that do specific programming courses to get you ready for the job, they will likely have an internship with said 'sponsors' and you wont have to suffer through a 2 year help desk job to build up your experience.
if all else fails CS students should not be discouraged, they can come work with me in the warehouse as a labourer and load/unload containers all day. they 'good' computer skill will come handy with clerical paperwork and they will be a clerk for the rest of their carreer :) shit pay but at least you get undisturbed access to Slashdot :) :)
Writing software != Selling software
Both need mutually exclusive skills
Casteism
computer sciens you can devolpe hardware sutch as mainbords en cards IC's end processors etc. etc. software engeniering is write in this case microsoft software end is goes farther then applications sutch as C++ whit assably code in it for kernal end services etc. etc. microsoft always says thats verry dangerous because you know then to mutch of the system
Both degrees require you to solve problems using programming languages and techniques; both are adequate in preparing you for solving real world software problems. I prefer the CS curriculum because having intrinsic knowledge of how systems work from the CPU register, memory access and beyond shapes the way you look at and understand systems as a whole. This is the kind of insight you may never gain from working on the job. Otherwise computes and compilers will be always some mystical black box that you can't quite comprehend.
Think about it - 1st, since my code runs fine (no disputing that)?
I paste in my code, verbatim, into a /. post - showing it's doing its job 5x here alone shown in links below, & perfectly... THAT is your "clue"!
---
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
---
* So much for this "tidbit" from you, eh (lol) 'CruTcHy':
---
"i have never been talking about the code that you actually run in your python interpreter" - by crutchy (1949900) on Sunday November 18, @04:02AM (#42017797)
Clue/New NEWS/NewsFlash: That's the code providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... lmao!
No, lol, I think it's funny how well it runs then!
---
(No bugs 5x above, & 100's of times before it the past year or so here too vs. trolls like yourself, in just "giving them what they need", lmao...)
---
* Can't you SEE what the "issue" is here? It's not my code (it runs perfectly, shown 5x above, & 100's of times this past year or more vs. trolls like you too - where it merely "gives trolls what they NEED"!)...
What's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
---
THIS was "classic funny" from you too:
"hahaha i'd love to know what "c program" you're talking about now (particularly since i don't program c)" - by crutchy (1949900) on Sunday November 18, @04:03AM (#42017801)
Yes... I could tell (lmao & SO COULD OTHERS) as far as the "C Program", look to your ac posts here:
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015023
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015039
lol!
APK
P.S.=> Heck - I might as well just "give it away" @ this point... The REAL QUESTION here, is:
Are you "too thick" as you put it, to identify the issue (with working code no less) you're having?
Apparently so!
I think it's FUNNY... lol!
... apk
Are you on topic? Have you been on topic ever here once?? No.
Are you on topic? Have you been on topic here even once?? No. The code works and was shown to do so 5 times in this exchange already.
Are you on topic? Have you been on topic here even once?? No. The code works and is shown to do so 5 times in this exchange already.
Have you been on topic? No. Go away troll.
Your code lacks error trapping. Not even a nice try.
Have you been on topic? No. The code works (5 times in this exchange that's been shown clearly). Your "code" (using prebuilt functions != coding, it is noobie level use of others' code) lacked error trapping, noobie.
Have you been on topic? No. The code works (5 times in this exchange that's been shown clearly). Your "code" (using prebuilt functions != coding, it is noobie level use of others' code) lacked error trapping, noobie. We saw your C Program too, and we knew you couldn't program in C.
Have you been on topic? No. The code works (5 times in this exchange that's been shown clearly). Your "code" (using prebuilt functions != coding, it is noobie level use of others' code) lacked error trapping, noobie. We saw your C Program too, and we knew you couldn't program in C!
Computer Scientists create things like linux.
Software Engineers create things like Windows 8.
Not trolling, This is a complete fact. Far more high level CS degrees are working on linux and OSS than Windows 8.
Nice made up assumption. You have no sources to back any of this do you?
"error trapping" won't make syntactically buggy code interpret... moron
DULL BRAIN of yours
if i can find a bug in your posted code that you can't see (even when its spelled out to you here http://slashdot.org/comments.pl?sid=3258205&cid=42017839 and you think my brain is dull, how dull then must your brain be?
poor apk, the wannabe programmer noob
No, YOUR "CODE" lacked error trapping here -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016197 (if you call using prebuilt functions coding, that is - more like a kid using legos, lol!)...
---
Additionally - Didn't YOU say THIS also, in regards to
coding:
"...cos we all try to write code that "looks cool" and you know, writing code that functions and easy to debug is all of secondary importance" - by crutchy (1949900) on Sunday November 18, @02:55AM (#42017605)
FROM -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42017605
"?
QUESTION - Where's YOUR code that functions AND is easy to debug?
---
It isn't - LMAO: You write code like a NOOB does, completely omitting error trapping... and the proof's right in that 1st link above!
APK
P.S.=> Lastly/Again - Funny my code ran 5x perfectly here too, eh?
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
(As well as 100's of times the past 1.5-2 yrs. now using it vs. trolls like yourself... perfect, every single time!)
* Care to EXPLAIN those PERFECT OUTPUTS, (lol) 'CruTcHy'?
So much for this "tidbit" from you, eh (lol) 'CruTcHy':
---
"i have never been talking about the code that you actually run in your python interpreter" - by crutchy (1949900) on Sunday November 18, @04:02AM (#42017797)
Man - First of all - You can't even write ENGLISH properly - sentences begin with capital letters
Perhaps it's MY FAULT here, lol (not)... How on EARTH could I expect you to write maintainable code WITH error trapping?
Clue/New NEWS/NewsFlash: That's the code of MINE'S providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... lmao!
What's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
... apk
YOUR "CODE" lacked error trapping here -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016197 (if you call using prebuilt functions coding, that is - more like a kid using legos, lol!)...
---
Additionally - Didn't YOU say THIS also, in regards to coding:
"...cos we all try to write code that "looks cool" and you know, writing code that functions and easy to debug is all of secondary importance" - by crutchy (1949900) on Sunday November 18, @02:55AM (#42017605)
FROM -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42017605
"?"
QUESTION - Where's YOUR code that functions AND is easy to debug?
---
It isn't - LMAO:
* You write code like a NOOB does, completely omitting error trapping... and the proof's right in that 1st link above!
APK
P.S.=> Lastly/Again - Funny my code ran 5x perfectly here too, eh?
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
(As well as 100's of times the past 1.5-2 yrs. now using it vs. trolls like yourself... perfect, every single time!)
* Care to EXPLAIN those PERFECT OUTPUTS, (lol) 'CruTcHy'?
So much for this "tidbit" from you, eh (lol) 'CruTcHy':
---
"i have never been talking about the code that you actually run in your python interpreter" - by crutchy (1949900) on Sunday November 18, @04:02AM (#42017797)
Man - First of all - You can't even write ENGLISH properly - sentences begin with capital letters!
Perhaps it's MY FAULT here, lol (not)... How on EARTH could I expect you to write maintainable code WITH error trapping?
Clue/New NEWS/NewsFlash: That's the code of MINE'S providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... lmao!
What's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
... apk
YOUR "CODE" lacked error trapping here -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016197 (if you call using prebuilt functions coding, that is - more like a kid using legos, lol!)...
---
Additionally - Didn't YOU say THIS also, in regards to coding:
"...cos we all try to write code that "looks cool" and you know, writing code that functions and easy to debug is all of secondary importance" - by crutchy (1949900) on Sunday November 18, @02:55AM (#42017605)
FROM -> http://developers.slashdot.org/comments.pl?sid=3258205&cid=42017605
"?"
QUESTION - Where's YOUR code that functions AND is easy to debug?
---
It isn't - LMAO:
* You write code like a NOOB does, completely omitting error trapping... and the proof's right in that 1st link above!
APK
P.S.=> Lastly/Again - Funny my code ran 5x perfectly here too, eh?
---
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014943
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42016015
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42014957
http://developers.slashdot.org/comments.pl?sid=3258205&cid=42015649
---
(As well as 100's of times the past 1.5-2 yrs. now using it vs. trolls like yourself... perfect, every single time!)
* Care to EXPLAIN those PERFECT OUTPUTS, (lol) 'CruTcHy'?
So much for this "tidbit" from you, eh (lol) 'CruTcHy':
---
"i have never been talking about the code that you actually run in your python interpreter" - by crutchy (1949900) on Sunday November 18, @04:02AM (#42017797)
Man - First of all - You can't even write ENGLISH properly - sentences begin with capital letters!
Perhaps it's MY FAULT here, lol (not)... How on EARTH could I expect you to write maintainable code WITH error trapping?
Clue/New NEWS/NewsFlash: That's the code of MINE'S providing WHAT YOU NEED shown in the links above (& for others like you, as trolls, probably you posting again as ac)... rotflmao!
What's THAT kids? Oh, yes - that's right: You GUESSED IT - A dose of "ReVeRsE-PsyChoLoGy"... lmao!
... apk
[citation needed]
Stop responding to him. He doesn't care about any "bug." He's just having a laugh at your expense. Trust me, there is no "winning" with APK. Any response results in more trolling.
Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7