A Diagnosis on the Teaching of Software Design in a Sample of Undergraduate Courses in Computer Science in Brazil

The training of a professional in the area of computing involves understanding the process of building software. In the Computer Science course curricular guidelines, this training is a requirement for graduating from the course. For the construction of the Pedagogical Project of the Course (PPC), the In-stitutions observe reference documents for the development of the project according to the local/regional specificity. Dealing with computing courses, the National Curricular Guidelines (DCN) for Computing courses, the training references of the Brazil-ian Computing Society (SBC) and the Guide to the Software Engineering Body of Knowledge (SWEBOK), are key elements to support the construction of the PPC. In Computer Science courses, software engineering is presented as a central element in technological training for students. Software engineering defines stages for the construction of quality software, which begins with the requirements conception, analysis, design and ends with the construction of the solution. The scope of this article will deal with the software design area, which is responsible for defining an implementable structure for a software product, which meets the specified requirements, that is, makes the communication interface between the requirements and the construction of the software. In the specialized literature, the area of Software Design (SD) is presented as important and emerging topics in the training of Computing professionals. Emerging topics for teaching Software Engineering aligned with teaching Software Design were identified, such as: UX Design Practices, Current Interface Prototyping Tools and Design Patterns. One of the challenges for the area of Software Engineering is the high heterogeneity of solutions, leading to hybrid systems, with multi-paradigms, and this heterogeneity reflects on how the professional designs the solution, what is directly associated with training in Software Design. The justification for the development of this article is given by the need to understand how the curricula of Computer Science courses are contemplating the Software Design stage and the alignment of contents to the SWEBOK guide. Given this context, the objective of this work is to identify the panorama of Software Design teaching in the Computer Science course in Higher Education Institutions in Brazil. To this end, an analysis of the disciplines of the courses selected for the research was carried out, in order to identify which SubTopics defined in the SWEBOK for the Software Design knowledge area are present in the subjects. It was observed the diversity of subjects that deal with aspects of Software Design and the dispersion of these contents throughout the student's academic path, with the highest concentration in the 2nd and 3rd year of the course. In addition, contents related to Software Design Quality are little explored in CS courses. The study enables the discussion on teaching software design in the computer science course, seeking to address the gaps identified in this study, with the objective of making improvements in Project Pedagogical of the courses from the perspective of teaching software design.