A study of the design and documentation skills of industry-ready CS students
An engineer in a product company is expected to design a good solution to a computing problem (Design skill) and articulate the solution well (Expression skill). We expect an industry-ready student (final year student or a fresh campus hire) as well to demonstrate both these skills when working on simple problems assigned to them. This paper reports on the results when we tested a cohort of participants (N=16) for these two skills. We created two participant groups from two different tiers of college, one from a Tier 1 college (who were taking an advanced elective course), and another from Tier 2 colleges (who had been hired for internship in a SaaS product company). We gave them a simple design problem and evaluated the quality of their design and expression. Design quality was evaluated along three design principles of Abstraction, Decomposition, and Precision (adapted from the Software Engineering Book of Knowledge). Expression quality was evaluated using criteria we developed for our study that is based on the diversity and density of the expressions used in the articulation. We found the students lacking in design and expression skills. Specifically, a) they struggled with abstraction as a design principle, b) they did not use enough modes of expressions to articulate their design, and c) they did not use enough formal notations (UML, equations, relations, etc.). We also found significant difference in the performance between the two participant groups.
READ FULL TEXT