January/February 2018 issue of acmqueue

The January/February issue of acmqueue is out now


  Download PDF version of this article PDF

ITEM not available


Originally published in Queue vol. 12, no. 6
see this item in the ACM Digital Library



Ellen Chisa - Evolution of the Product Manager
Better education needed to develop the discipline

Jon P. Daries, Justin Reich, Jim Waldo, Elise M. Young, Jonathan Whittinghill, Daniel Thomas Seaton, Andrew Dean Ho, Isaac Chuang - Privacy, Anonymity, and Big Data in the Social Sciences
Quality social science research and the privacy of human subjects requires trust.


(newest first)

Jim Vallino | Fri, 08 Aug 2014 02:45:40 UTC

@Bob Binder: Testing and V&V are not ignored in our curriculum though they are areas that we know could be covered to a greater extent. Testing is discussed in the Intro to SE course, and acceptance tests with test plans and units tests are deliverables for the team. This is typical of the "one and only" SE course that most computing students take. The SE students cover more about V&V in a required Software System Requirements and Architecture course. Testing is additionally discussed in the context of security in a required Engineering Secure Software course. A Software Testing elective course is taken by a large majority of the SE students. Finally, comprehensive testing including continuous integration and an automated test suite is expected in every senior project. Given no constraints, the faculty would probably like to have the testing course as a required course, but the reality of zero-sum curriculum engineering makes it that we just can not fit it in as a required curriculum element.

Bob Binder | Fri, 01 Aug 2014 15:50:28 UTC

Your balance of imperatives for real-world accomplishment and thinking analytically about software systems based on sound theory (e.g., modeling, design patterns) seems about right. This point of view and its application is what distinguishes all kinds engineering from tinkering. Given the chronic and pervasive allergy of software developers and many of their managers to any kind of useful abstraction (the BDUF shibboleth is just another riff on 'I hate documentation'), I think this is commendable.

I'm concerned however that testing, verification, and validation is mentioned only a few times in the above, which suggests that it may be an afterthought in your curriculum. Properly applied, it requires the same kind ability to reason abstractly about concrete aspects of systems. And, for even well-designed and implemented systems, non-superficial (i.e., engineered) testing, verification, and validation is necessary to routinely achieve high reliability.

Leave this field empty

Post a Comment:

© 2018 ACM, Inc. All Rights Reserved.