Spelling suggestions: "subject:"8oftware engineering educationization"" "subject:"8oftware engineering education.action""
1 |
Information Technology Architect Capabilities: Which are important and can they be improved?Frampton, Keith MacKenzie, keith_frampton@bigpond.com January 2008 (has links)
Information Technology (IT) systems have become essential components of our society. These IT systems have an internal structure called the system's architecture. This architecture directly affects the system's performance and ability to meet business objectives. The people who design this structure are called IT Architects. Investigating the capabilities that distinguish highly-skilled IT Architects contributes to IT knowledge and practice and supports improving the design of systems' architectures as well as the selection and development of IT Architects. This thesis examines some of the capabilities that distinguish highly-skilled IT Architects and applies the resulting understanding to the education of post-graduate IT students. By investigating selected capabilities of highly-skilled IT Architects, how this group of IT Architects differ from their colleagues with respect to highly-valued capabilities and how these capabilities could be taught, we clarify both a professional and an educational basis for improvement. The research has a three stage, multi-method design. The initial stage, undertaken in 2004, consists of interview-based qualitative research with fourteen practicing IT Architects to understand the characteristics of highly-skilled IT Architects. The interviewees were chosen through personal relationships and subsequent snowball sampling and through the interviews and subsequent analysis, we identify eight capabilities, four personality traits and a range of experience that is valuable for highly-skilled IT Architects. These results support prior research that identified the importance of communications and business knowledge while extending the range of valuable characteristics for the IT Architect role. The next quantitative stage surveys 82 practicing IT Architects and 97 other IT professionals using four psychological measures; the Cognitive Style Inventory (CSI), the Problem Solving Inventory (PSI), the Vividness of Visual Imagery Questionnaire (VVIQ), and Zimbardo's Time Perspective Inventory (ZTPI). The analysis, undertaken in 2005, identifies two statistically significant differentiating capabilities that distinguish highly-skilled IT Architects from less skilled IT Architects. The first capability is that the highly-skilled IT Architects approach problems differently and generate more alternatives before attempting solutions and spend more effort evaluating outcomes than the less skilled IT Architects. The second capability is that the less skilled IT Architects have a different attitude towards time and do not always act consistently with a longer term perspective. The final stage of research investigates whether the teaching of material related to the two distinguishing capabilities improve students outcomes for these capabilities. In 2006 we measured the initial student capability level of 35 students, the level of 28 of these students at the conclusion of the subject, and again in 2007, one-year later 16 students were measured. We again use quantitative surveys with the PSI and ZTPI instruments and found that whilst we measure a change in student capability for problem solving, the two capabilities we targeted are not significantly affected through the teaching. Interviews with the participants indicate that the teaching is effective and the lack of significant differences in the targeted capabilities is because of external factors overriding what they are learning. Our research contributes to the field of Computer Science and Information Technology by providing: (i) the basis for improved identification and selection of IT Architects for industry and providing additional information to enhance their professional education through the identification of distinguishing capabilities of highly-skilled IT Architects; (ii) information for educators about IT Architect capabilities and capability development that are important for highly-skilled IT Architects and some considerations when teaching these capabilities; (iii) a foundation for research that compares and contrasts capabilities within other IT professions; and (iv) results that can be used to improve the process of architecting IT systems. More generally, the research contributes to the body of knowledge regarding IT skills and requirements for different roles. Read more
|
2 |
Towards a Collaborative Learning Platform: The Use of GitHub in Computer Science and Software Engineering CoursesFeliciano, Joseph 31 August 2015 (has links)
Technical fields such as computer science and software engineering have placed an emphasis on collaboration and teamwork, and training students entering these fields is a challenge that educators and researchers have attempted to tackle. To develop students’ skills for these technical fields, some educators have integrated learning activities where students collaborate heavily and make contributions to each other’s learning, emulating the type of work students will perform in industry. Consequently, the learning tools that instructors use for their courses need to support these collaborative and contributive activities.
GitHub is a social coding tool that has seen rapid adoption in the software development field because of the open, collaborative workflow it encourages. This thesis explores the use of GitHub as a collaborative platform for computer science and software engineering education. GitHub provides users with opportunities to contribute to each other’s work through its transparency features, supports integrated discussions, and provides support for reusing and remixing work—opportunities which may be extended to education.
In this thesis, I investigate how GitHub’s unique features, such as ‘pull requests’ and commit histories, can be used to support learning and teaching. This work also explores the benefits and challenges that emerge from using GitHub in this context from both the instructor’s and the student’s perspectives. We found that GitHub afforded instructors with opportunities to encourage student participation by contributing to the course materials through the use of ‘pull requests’ and provided instructors with ways to reuse and share their course materials. As well, students gained experience with a tool and a workflow they expected to encounter in industry, and were provided ways to further engage in their learning by giving feedback to or further developing other students’ work. However, we found that instructors and students were challenged by GitHub’s lack of educational focus, as well as the implications of using GitHub’s open workflow on the public availability of student work.
Findings from this work determine the viability of GitHub as a tool for supporting computer science and software engineering education, and contribute to our understanding of what activities and benefits GitHub provides beyond traditional learning tools. The contributions of this work include a set of recommendations for instructors wishing to use GitHub to augment their courses, utilizing GitHub’s features to support educational activities such as student contributions to course materials and providing continuous feedback to students. / Graduate / 0984 / 0710 / noelf@uvic.ca Read more
|
3 |
Software Engineering Education Improvement : An Assessment of a Software Engineering ProgrammeBondesson, Tobias January 2004 (has links)
An assessment of a software engineering program has been carried out by reviewing state-of-the-art literature pertaining to software engineering education. Six surveys have been adopted and the result implies that the balance of the curriculum should be revised, and that software engineering education ought to expand the technical oriented knowledge areas somewhat. Relevant curriculum data have been derived hereby, which also confirms other studies in the area. This data, along with a benchmark of the software engineering program to the Software Engineering Body of Knowledge (SWEBOK), is very constructive to universities as it assists educators, trainers, and software engineering practitioners in evaluating, designing, and recommending existing and proposed curricula. / This is the final revision of the thesis. Author may be contacted on +464458038. See also paper at the 18th Conference on Software Engineering Education and Training (CSEE&T), Ottawa, Canada.
|
4 |
Comparing Technologies used in the Swedish Software Industry and EducationAngelin, Kristian January 2022 (has links)
The Swedish software industry is seeing explosive growth and Swedish colleges and universities play a crucial part in supplying industry professionals with relevant education. Studies show an existing gap between what software engineering (SE) education teaches students and what the software industry needs. This study looked specifically at what technologies Swedish SE education used in its syllabuses compared to what technologies were in demand by the Swedish software industry to determine if any knowledge gaps existed. Course syllabuses and job posts were collected and compared through text analysis, highlighting keywords associated with different technologies. The result showed that the Swedish SE education overall aligned with industry demands with some minor exceptions. Conclusions were that some improvements could be made to meet the demand of technologies such as C\#, TypeScript, Kubernetes, and Docker.
|
5 |
The capstone project’s role in transitioning to industry for recently graduated software engineers – A CDIO PerspectiveSmajic, Dennis, Johansson, Filip January 2022 (has links)
The gap between software engineering education and the software engineering industry is a prevalent factor for both the students and the companies recruiting them. The gap is specified as the lack of knowledge software engineering students obtain relative to what the industry requires. This gap increases the difficulty for the students whenmoving from education to industry. This thesis aims to provide insight for what role the capstone project played for the graduate students’ transition to industry by looking at it from a CDIO perspective. The subjects for this research were graduate students who now work in the software engineering industry and who realised their studies up to three years earlier. A total of 38 people took part in this research by answering a questionnaire. They provided their opinions on how they experienced their capstone project and how they now experience their work assignments. This research used metadata to categorically separate the respondents into groups to find outliers. The results show that 94% of the respondents got to perform three or more CDIO criteria in their capstone projects. The respondents also recognize that they are able to perform their industry assignments in terms of the CDIO criteria. Read more
|
6 |
Teaching Software Engineering for the Modern EnterpriseHerold, Michael J. 17 October 2013 (has links)
No description available.
|
7 |
Investigating the Newly Graduated StudentsExperience after University / Investigating the Newly Graduated StudentsExperience after UniversityKarlson, Max, Olsson, Fredrik January 2019 (has links)
Today’s labor market is teeming with software development jobs, and employeesare needed more than ever. With this statement, one would believe it is easy fora newly graduated student to start their career. However, according to severalstudies, there are specific areas where newly graduated Software Engineeringstudents struggle when beginning their first job. Currently, there is a displace-ment about what the school should focus on when teaching their students. Thiscauses various challenges to arise for newly graduated students when they areinitially starting their career. To address this issue, this study aims to iden-tify whether or not there exists a gap between the education provided by theuniversities, and what is expected from the industry. In accordance with this,the purpose is also the point out which areas might be challenging for newlygraduated students, and highlight how the school and industry can benefit fromthe results of this study.By conducting interviews with both newly graduated student with one to threeyears working experience or personnel responsible for hiring new employees atcompanies, this study will give an insight on which common areas newly grad-uates may struggle with. Although the result specifies several areas which arechallenging to newly graduated students. The greatest challenges which thenewly graduated graduated students faced were areas revolving around softskills. This was in accordance with the opinions of the recruiters. Insinuatingthat these areas are what the school should focus more on. Other differencesbetween the newly graduated interviewee’s opinions and the recruiters are alsohighlighted in the report Several subjects in school could improve its way ofteaching. Furthermore, there are possibilities for companies to better adjusttheir on-boarding of newly graduated. By addressing the challenges which newlygraduated face they can provide their new employees with a better understand-ing of how to properly work and function in the industry today. Read more
|
8 |
Towards Improving Students' Software Testing Practices using Modified Mutation TestingMansur, Rifat Sabbir 02 April 2025 (has links)
Mutation testing (MT) is a powerful technique for evaluating the quality of software test suites by introducing small faults, called ``mutations,'' into code to assess if tests can detect them.
While MT has been extensively applied in the software industry, its use in programming courses faces both computational and pedagogical barriers.
My research investigates the successful integration of MT in a post-CS2 Data Structures and Algorithms (DSA) course with 3-4 week long programming projects.
Through a comprehensive study across multiple semesters, I investigated three key aspects: the computational demands of MT in an educational auto-grading system, the effect of MT on student test suite quality and coding practices, and the development of a framework for effectively integrating MT in programming courses.
Initially, the implementation of standard MT showed mixed results due to inadequate stock feedback.
This prompted me to develop a tailored approach that modified MT feedback, while also incorporating additional documentation and training materials.
I also observed a noticeable increase (30-50 seconds per submission) in the auto-grader's processing time and feedback turnaround time when using MT, raising concerns about potential server overload.
At the same time, the collection of changes made to the environment and requirements as part of this intervention led to an overall reduction in the number of submissions per student needed to complete the projects.
My findings suggest that students using modified MT, as a group, demonstrated higher quality test suites and wrote better solution code compared to students whose test suites were graded on code coverage.
This version of MT with modified feedback also showed positive results in student understanding and application of MT principles compared to MT with stock feedback.
Analysis of IDE activity data, code submissions, and 38 semi-structured student interviews led me to provide a framework for introducing MT as an effective intervention.
Thus, my research provides a framework for effectively integrating MT in programming courses, contributing to improved student test suite development and offering practical guidelines for instructors introducing MT in undergraduate Computer Science courses. / Doctor of Philosophy / Software plays a crucial role in our daily lives, from the apps on our smartphones to the systems that control our cars and homes.
Ensuring that software works correctly and reliably is essential to prevent potential harm or inconvenience caused by malfunctions.
One way to ensure software quality is through thorough testing, which involves writing test cases that check whether the software behaves as expected under various conditions.
One advanced testing technique used in the software industry is mutation testing (MT), which deliberately introduces small changes (or ``mutations'') into working code to see if existing tests can catch these artificial mistakes.
While this technique is powerful, its adoption in programming courses has been challenging due to technical limitations and teaching difficulties.
My research focused on successfully introducing MT in a college-level computer programming course.
I studied how MT could be effectively taught to students while managing the additional computational demands it places on the course's automated grading system.
Over multiple semesters, I developed and refined an approach that made MT more accessible and beneficial for students.
Initially, using standard MT tools proved problematic because students found the stock feedback difficult to understand.
In response, I modified a more student-friendly version with clear explanations, documentations, and training materials.
While this improved version did require more processing time from the grading system, I also applied solutions to alleviate computational overload on the course's automated grading system, such as allowing students to run MT on their own computers.
The results were encouraging: students who used modified MT wrote better tests and produced higher quality code compared to students graded using the previous test suite quality measure (code coverage).
Following interviews with students and analysis of their coding patterns, I developed a comprehensive framework for successfully introducing MT in programming courses.
Finally, my research provides practical guidelines for instructors who want to incorporate this industry-standard testing technique into their teaching, ultimately helping students become better programmers.
My research contributes to the field of Computer Science education by improving training in testing, helping students create more robust software tests, and providing instructors with insights into effectively teaching this influential yet complex topic. Read more
|
9 |
Software Internationalization: A Framework Validated Against Industry Requirements for Computer Science and Software Engineering ProgramsVũ, John Huân 01 March 2010 (has links)
View John Huân Vũ's thesis presentation at http://youtu.be/y3bzNmkTr-c.
In 2001, the ACM and IEEE Computing Curriculum stated that it was necessary to address "the need to develop implementation models that are international in scope and could be practiced in universities around the world." With increasing connectivity through the internet, the move towards a global economy and growing use of technology places software internationalization as a more important concern for developers. However, there has been a "clear shortage in terms of numbers of trained persons applying for entry-level positions" in this area. Eric Brechner, Director of Microsoft Development Training, suggested five new courses to add to the computer science curriculum due to the growing "gap between what college graduates in any field are taught and what they need to know to work in industry." He concludes that "globalization and accessibility should be part of any course of introductory programming," stating:
A course on globalization and accessibility is long overdue on college campuses. It is embarrassing to take graduates from a college with a diverse student population and have to teach them how to write software for a diverse set of customers. This should be part of introductory software development. Anything less is insulting to students, their family, and the peoples of the world.
There is very little research into how the subject of software internationalization should be taught to meet the major requirements of the industry. The research question of the thesis is thus, "Is there a framework for software internationalization that has been validated against industry requirements?" The answer is no. The framework "would promote communication between academia and industry ... that could serve as a common reference point in discussions." Since no such framework for software internationalization currently exists, one will be developed here. The contribution of this thesis includes a provisional framework to prepare graduates to internationalize software and a validation of the framework against industry requirements. The requirement of this framework is to provide a portable and standardized set of requirements for computer science and software engineering programs to teach future graduates. Read more
|
Page generated in 0.1164 seconds