scholarly journals Teaching Software Architecture Patterns Using ACME Language: تدريس أنماط معمارية البرمجيات باستخدام لغة أكمي

Author(s):  
Tahani Elfatih Babeker, Hany Ammar

Software Architecture is one of the most important courses, in computer science discipline. It has many branches all of them aimed to prepare students to be architects on the industry. But actually, there is a gap between what the students find on the theoretical courses and what they find on the industry. On other words, the practical experience differs from academic theory. So the question is how to prepare students to join the industry? Abstract nature of the software engineering courses as general and software architecture in a special manner, led to difficulties in understanding, this raises the second question, how to make these courses understandable? All previous studies focusing on these problems either by changing course curricula or by using software tools. This paper extension for the previous study [1] as we survey Architecture Description Languages (ADLs) and conclude that ACME is a general-purpose language and it may be suitable for use as practical part for software architecture curricula. We aimed to design a framework use, ACME language, use it as a practical part of the software architecture course and supporting on teaching, focus on architecture patterns, thus we use most common architecture patterns layer and Pipes-Filters, starting with a simple example and increase the complexity.

Author(s):  
Tahani Elfatih Babeker, Hany Ammar

  increase numbers and complexity of software development requires that learners of software engineering and software architecture or software architects who do not have sufficient practical experience must have the skills and abilities to perform their jobs. But there is a gap between academia and practical so the question why does not use one of the architecture description languages in teaching and learn software engineering and software architecture to fill this gap? The objective of this study to classification ADLs according to their domain, domain specific or general purpose languages, doing these systematic literature review flowing the steps from Ketchenham. As the result we find that most ADLs are Domain Specific ADLs (Aviation Systems, Distribution Systems, Mobile Systems, Product Lines …etc. ) none of these ADLs is used in the field of software architecture education, but most intended to deal with experts in the field, except general purpose ADLs, like ACME, which we make as start point to design Arabic ADL, so as to enrich Arabic content, also to be as helping language in teaching Software Architecture course, because most of ADLs need experience and high level of understanding to use, moreover, when student think and design with same language subject more understandable. So using software architecture description languages in educating purpose, help on understanding high level of abstraction of software architecture and software engineering courses, there are some studies that aimed to reduce the complexity of these courses using different methodologies and approaches, but none of them using architecture description languages as helping tool. So the use of architecture description languages is helpful in teaching software architecture and software engineering courses.  


Electronics ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 1181
Author(s):  
Juanan Pereira

(1) Background: final year students of computer science engineering degrees must carry out a final degree project (FDP) in order to graduate. Students’ contributions to improve open source software (OSS) through FDPs can offer multiple benefits and challenges, both for the students, the instructors and for the project itself. This work reports on a practical experience developed by four students contributing to mature OSS projects during their FDPs, detailing how they addressed the multiple challenges involved, both from the students and teachers perspective. (2) Methods: we followed the work of four students contributing to two established OSS projects for two academic years and analyzed their work on GitHub and their responses to a survey. (3) Results: we obtained a set of specific recommendations for future practitioners and detailed a list of benefits achieved by steering FDP towards OSS contributions, for students, teachers and the OSS projects. (4) Conclusion: we find out that FDPs oriented towards enhancing OSS projects can introduce students into real-world, practical examples of software engineering principles, give them a boost in their confidence about their technical and communication skills and help them build a portfolio of contributions to daily used worldwide open source applications.


Sign in / Sign up

Export Citation Format

Share Document