Subcategory:
Category:
Words:
472Pages:
2Views:
301After reading the paper Software Engineering Programs Are Not Computer Science Programs it becomes apparent that the distinction between Software Engineering and Computer Science is not as clear cut to outside observers Society often blends the two subjects together nothing that both programs are concerned only with computer science and programming language development One way to understand the differences is to examine the words primarily Engineer and Scientist when dealing with these two subjects As the paper notes Engineers are by nature taught to apply both science and mathematics when designing products Scientists on the other hand are solely taught the science and the methods needed to advance it Overall Software Engineers are put in an odd scenario where many assume that the sole responsibility is to write and continue to learn well structured code much like that of a computer scientist These assumptions get rid of the notion and actual meaning that comes with being an actual Engineer Instead many believe that just by simply knowing computer science you can technically be a Software Engineer However this isn t the case at all Software Engineering aims to focus on the fundamentals of computers to solve problems Here instead of focusing on the narrow and specific pieces of programming that arise from Computer Science Software Engineers focus instead on broad fundamental concepts that allow them to use the tools in their own arsenal to finish products
The difference lies here in that there is a finished and concrete product when dealing with Software Engineering instead of focusing primarily on the abstract which comes from Computer Science To hammer in this difference the paper recommends that the only way that Software Engineers could gain the respect of other engineering professions is only by the accreditation system To me this makes sense because the accreditation process is the only way to ensure that actual Engineering students are exposed to the important ideas necessary for Engineering and is also a good means of assuring that these students know how to use them effectively By incorporating new courses that focus on this accreditation system and by teaching in a way that is more along the lines of Engineering this goal could surely be achieved Thus if more Software Engineering programs are accredited the fine difference between Science and Engineering would be much clearer for outsiders Overall the difference between Computer Scientists and Software Engineers exists it s just that the foundational differences between the two subjects is hard to see when outside of the course material This isn t the only argument that many Software Engineers face in the paper The Art Science and Engineering of Software Development Software Engineers are often faced with the difficulty of advocating whether the subject is a form of art or an actual science Society advocates that programming can be a form of art due to the aesthetic aspects when developing software
The argument exists here where many argue that creative freedom isn t a factor when dealing with science On one hand Software development has aspects of being a form of art for a variety of reasons First the problem is never defined in a concrete precise definition which allows software designers to be flexible when dealing with the problem Secondly software is built with the notion of being user friendly which requires teams to build a type of interface which meets any unique needs of the user Software development is also a type of science where mathematical computation and data oriented theories are necessary for development Thus Software Engineering is both an art and a form of science However we should also focus on the belief that Software Development is a form of Engineering Today many consider Software Engineering to be a buzzword confusing yet again as seen in the previous paper to be only a type of Computer Science Though this isn t the case at all Software Engineers are tasked with using core practices to develop software products that have the quality assurance necessary for consumers