User Tools

Site Tools


eiffel:why:petition:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
eiffel:why:petition:start [2020/05/11 20:06]
jonathan [Learning Design by Contract in Eiffel]
eiffel:why:petition:start [2020/05/12 17:16] (current)
jonathan [Learning Design by Contract in Eiffel]
Line 168: Line 168:
 The petition also claims that "other types of software design is not explored in depth",​ but this is not so as mentioned earlier and described in Design Principles mentioned in [[http://​seldoc.eecs.yorku.ca/​doku.php/​eiffel/​why#​design_principles_covered_in_the_course|why eiffel: Fig 1]]. Many other design principles are covered in depth and applied in many design patterns (covered throughout the course in depth). ​ The petition also claims that "other types of software design is not explored in depth",​ but this is not so as mentioned earlier and described in Design Principles mentioned in [[http://​seldoc.eecs.yorku.ca/​doku.php/​eiffel/​why#​design_principles_covered_in_the_course|why eiffel: Fig 1]]. Many other design principles are covered in depth and applied in many design patterns (covered throughout the course in depth). ​
  
-Ada and Eiffel provide native language support for Design by Contract, but the principle that **specifications** are integral to design carries over to designing in any language. The Unified Modeling Language (UML) is the //de facto// modelling language in software engineering thus supports Design by Contract in the form  of OCL (Object Constraint Language). For other methods of specification,​ see [[https://​youtu.be/​-4Yp3j_jk8Q|Video:​ Thinking Above the Code]],+Ada and Eiffel provide native language support for Design by Contract, but the principle that **specifications** are integral to design carries over to designing in any language. The Unified Modeling Language (UML) is the //de facto// modelling language in software engineering thus supports Design by Contract in the form  of OCL (Object Constraint Language). For other methods of specification,​ see [[https://​youtu.be/​-4Yp3j_jk8Q|Video:​ Thinking Above the Code]] ​and [[https://​youtu.be/​GMQMzk3DZug|Specifications in Industry]] at AmazonGoogle and Facebook. ​
  
 ==== Learning Software Design in Eiffel ==== ==== Learning Software Design in Eiffel ====
Line 174: Line 174:
  
 > 6. In summary, the course does not focus on Software Design, in contradiction with its name. Instead, it focuses on gaining knowledge of the semantics of proprietary,​ obsolete tools and heavy software testing (again - with students that do not know proper test plans and testing patterns). > 6. In summary, the course does not focus on Software Design, in contradiction with its name. Instead, it focuses on gaining knowledge of the semantics of proprietary,​ obsolete tools and heavy software testing (again - with students that do not know proper test plans and testing patterns).
-What we describe above justifies that the use of the Eiffel language, method and tool which allows us to have a clear distinction between implementation and specification,​ and we are thus able to focus on design. The fact that a new language is used should not be a concern, given the amount of resource, as well as scheduled lab hours and TA/​instrutor office hours. ​ 
  
-As mentioned above, student evaluation in the past have been quite positive. ​+In summary, the course focuses on many foundational aspects of design, and a sequence of labs and a significant project allow students to exercise these various design principles. ​As mentioned above, student evaluation in the past have been relatively ​positive. ​
eiffel/why/petition/start.1589227599.txt.gz · Last modified: 2020/05/11 20:06 by jonathan