tag:blogger.com,1999:blog-9102955.post2270039231511819709..comments2023-02-27T07:01:30.457-08:00Comments on Scott's blog: Software Development is not Computer ScienceScott Stonehousehttp://www.blogger.com/profile/16932311399052299693noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-9102955.post-70538369785033896022007-11-15T20:41:00.000-08:002007-11-15T20:41:00.000-08:00Apologies if I'm prolonging this past its "best-be...Apologies if I'm prolonging this past its "best-before" date...<BR/><BR/>" don't disagree that these are important things to learn. But I think it's the domain of a professional governing body like with the P.Eng."<BR/><BR/>No, it's not - otherwise, why are these practices even being considered at all in CS/SE curriculums?<BR/><BR/>Almost every school I reviewed in Canada had some proper software development/life cycle management requirement for graduation -- even if they were what I thought to be "worst" practices.<BR/><BR/>And they applied for both CS and SE streams - with the latter having additional specialization requirements. <BR/><BR/>Clearly, schools are valuing having graduates who have some professional skills to prepare them for the real world - it's just unfortunate that most aren't getting anything useful and that employers and students are having to make up the deficiency a-posteriori.<BR/><BR/>I can only speak from experience: I've worked with a lot of interns, many of them CS, many of them SE. The commonality they shared was that neither group had practical skills to work on code, at least beyond the level of "code-and-fix" - and it's not because they're unable or unwilling: They just had no exposure.<BR/><BR/>Anyhow, I'll conclude my comments here - we obviously have very different ideas about how best to approach the matter.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-9102955.post-67798827804259668362007-11-14T08:44:00.000-08:002007-11-14T08:44:00.000-08:00I did learn LISP and the "Turing" language back in...I did learn LISP and the "Turing" language back in 1988. They are old languages. But CompSci also offered C and Unix shell programming. It also had Mac's Macromedia for UI course. So that was a progressive curriculum.<BR/><BR/>I'm assuming by now they would include Java and (gasp) Ajax.Rudyhttps://www.blogger.com/profile/12638843189851649987noreply@blogger.comtag:blogger.com,1999:blog-9102955.post-29165642985674431662007-11-13T22:00:00.000-08:002007-11-13T22:00:00.000-08:00I read and interesting essay by Edsger Dijkstra (n...I read and interesting essay by Edsger Dijkstra (not sure which one) where he states that what is taught in computer science has not changed in 30 years (or so). Now this essay was written, I believe, in the late 1990', but I believe it is still true today. Now I'm not sure if this is good or bad thing...does computer sci teach the 'fundamentals' or are they out of touch?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-9102955.post-6823408194250604642007-11-13T19:37:00.000-08:002007-11-13T19:37:00.000-08:00Hi Chris,I don't disagree that these are important...Hi Chris,<BR/><BR/>I don't disagree that these are important things to learn. But I think it's the domain of a professional governing body like with the P.Eng.<BR/><BR/>The problem is that we don't have such an organization yet.<BR/><BR/>Exposure to some of these ideas would make a great course, and definitely should replace the typcial waterfall course. But these things are definitely not the focus of a Computer Science program.Scott Stonehousehttps://www.blogger.com/profile/16932311399052299693noreply@blogger.comtag:blogger.com,1999:blog-9102955.post-70011527996880564642007-11-12T10:45:00.000-08:002007-11-12T10:45:00.000-08:00Hi Scott;Thanks for your comments - I've been in t...Hi Scott;<BR/><BR/>Thanks for your comments - I've been in the middle of writing some other posts and just noticed your article.<BR/><BR/>Re: "What Chris doesn't seem to understand is that computer science is not the study of software development. Computer science is theoretical, not applied science."<BR/><BR/>I've encountered this reaction to my articles quite a bit, and it comes from both CompSci and SoftEng majors, each somehow believing it's "the other guy's" responsibility to know best practices.<BR/><BR/>I call "shenanigans" on this attitude: Irrespective of whether you're following a path toward AI/neural nets or architecting the next big platform, code is code, unit tests are unit tests, refactoring is the improvement of the design of existing code and BDUF/waterfall projects fail 99.99999% of the time.<BR/><BR/>So, to respond directly: I'm fully aware that there are "differences" in the way post-secondary IT instruction is delivered today. I just find when it comes to better practices, students and our industry will be better served knowing them, whether they are CompSci or SoftEng.<BR/><BR/>In any event, the distinctions tend to be way overblown, IMHO.<BR/><BR/>Cheers!<BR/><BR/>Chris R. ChapmanAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-9102955.post-69442080720451466612007-10-29T12:52:00.000-07:002007-10-29T12:52:00.000-07:00I have a bachelor of science degree in CompSci fro...I have a bachelor of science degree in CompSci from U of Toronto. I agree that CompSci has taught me mostly theoretical stuff, mostly a lot of mathematics (and those things called "semaphores"). But, those kinds of thinking prepared me mentally, set me up on a different (higher?) perspective. Will it make me a better programmer? Probably. If we can do abstract thinking, we can easily do the practical ones (not the other way around).Rudyhttps://www.blogger.com/profile/12638843189851649987noreply@blogger.com