DOC PREVIEW
UCF EEL 6883 - Software Engineering Programs Are Not Computer Science Programs

This preview shows page 1-2-21-22 out of 22 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Tim St. John Masters Computer Engineering Software Engineering TrackSoftware Engineering Programs Are Not Computer Science ProgramsSoftware EngineeringWhy do we need a New Type of Engineer?SE Are Not Just Good ProgrammersA Historical AnalogHow Does Science Education Differ From Engineering EducationEngineers and Scientists are differentWhat will Software Engineers Do?Why does the Distinction Between CS and SE Appear unclear?Differences in Curriculum PhilosophyDifferences in topic CoverageSimilarities and Differences in course contentA Sketch of a SE CurriculumSoftware CoursesCS Course that should be included in the SE CurriculumCourses Shared with most other Engineering disciplinesSE Education must focus on the FundamentalsSoftware Engineering is different from Computer ScienceOverviewMy PhilosophyAny Questions?Tim St. John Masters Computer Engineering Software Engineering TrackSoftware Engineering Programs Are Not Computer Science ProgramsBy David Lorge ParnasPresented byTimothy St. JohnSoftware Engineering•Software Engineering courses have become a source of contention in many universities.•Computer Science departments have resisted the thought of Software Engineering being a facet of Engineering.•In this presentation I will discuss the authors beliefs of a separation of the two departments.•I will also compare and contrast the two departments.•Then finally I will present some of my own beliefs on the topic Software Engineering are not Computer Science Programs.Why do we need a New Type of Engineer?•The increase importance of software.•The need for software to be able to integrated with hardware.•The need for a New type of Engineer that is able to work with other disciplines of Engineering.•Even with this new type of Engineer there is still the need for CS professionals.SE Are Not Just Good Programmers•The term “Software Engineer” is used as a euphemism for “programmer”.•An Engineer is a professional who is held responsible for producing products that are fit for use.•Software Engineers need to know many things that are not part of Computer Science.•Software is never used in isolation from other Engineering products.A Historical Analog•As an area of science becomes mature, the educational institution develop an engineering program.•One career is for those who like to design products for others to use.•The other is for those who like to study the phenomena that interests both groups and extending our knowledge in this area.•Each career path attracts a distinct type of student.How Does Science Education Differ From Engineering Education•Future Scientists, who will add to our knowledge base need to learn:1) What is true.2) How to confirm or refute models of the world.3) How to extend our knowledge of what is true in their field.•Future Engineers, who will design trustworthy products, need to learn:1) What is true and useful in their chosen specialty.2) How to apply that body of knowledge.3) The design and analysis discipline that must be followed.Engineers and Scientists are different•The differences between Science and Engineering programs make sense because:–If you are going to do specialized research, extending the science, you can afford to be narrow in your body of knowledge but not out-of-date.–If you are carrying out scientific research, you can expect your results to be checked by those who read and referee your reports and papers.–Scientists frequently work on narrow problems or in teams; licensed professional engineers often take responsibility for some complete product, which means that they require extensive knowledge outside of their engineering specialty.What will Software Engineers Do?•Analyze the intended application to determine requirements that must be satisfied.•Participate in the design of the computer system configuration.•Design the basic structure of the software.•Analyze the software structure for completeness, consistency and suitability for the application.•Implement the software as a set of well-structured and well documented programs.•Perform systematic and statistical testing of the software and integrated computer systems.Why does the Distinction Between CS and SE Appear unclear?•Many faculty in Computer Science departments believe that they are already teaching Software Engineering.•Various educational programs have included some software courses in their programs.•Computer Science departments has tried to fill the gap by including so-called “Systems” or “Applied computer Science” courses in their offerings.•It is the attempt by many CS programs to fill both roles that makes it difficult for some to see why we need a separate SE program.Differences in Curriculum Philosophy•A SE program should be designed for accreditation as an engineering program. •A SE program will be relatively rigid with few technical options.•A SE program, like many other Engineering programs, might not require students to pick their specialty within Engineering until second year.•CS programs can start presenting specialized material earlier.•The CS programs should continue to offer students a chance to be curiosity driven when choosing courses.•CS programs can spend more time discussing research areas that are not yet routine or even ready to use.Differences in topic Coverage•Some of the topics covered in CS could be:– The denotational semantics of programming languages.– Neural computation, and many parts of artificial intelligence, and some aspects of computability and automata theory.Some of the topics covered in SE could be:SE programs should understand aspects of communicational, control theory, and interface design.SE programs should stress known algorithms and applying tools and technology that were developed by others.Similarities and Differences in course contentSimilarities:•Mathematical logic is important to both SE and CS.•Courses in operating systems.Differences:•SE programs should have an emphasis on the role of logic in checking specifications.•CS programs on logic , students would learn the differences between various kinds of logics, and to discuss issues such as generalized decisions procedures and the meaning of non-denoting terms.•CS programs prepare students to continue their studies in graduate programs.•SE programs focus on preparing students to enter the workforce immediately after undergraduate


View Full Document

UCF EEL 6883 - Software Engineering Programs Are Not Computer Science Programs

Download Software Engineering Programs Are Not Computer Science Programs
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Engineering Programs Are Not Computer Science Programs and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Engineering Programs Are Not Computer Science Programs 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?