Low retention rates in higher education Information Technology (IT) studies have led to an unmet demand for IT specialists. Therefore, universities need to apply interventions to increase retention rates and provide the labor market with more IT graduates. However, students with different characteristics may need different types of interventions. The current study applies a person-oriented approach and identifies the profiles of first-year IT students in order to design group-specific support. Tintos (1975, 1993) integration model was used as a framework to analyze questionnaire data from 509 first-year IT students in Estonia. The students response profiles were distinguished through latent profile analysis, and the students were divided into four classes based on their responses to questions about academic integration, professional integration and graduation-related self-efficacy. The difference in academic integration was smaller between the classes than the difference in professional integration. Based on the results it was suggested that one class of students need extra courses to increase their academic integration. Two classes need more professional integration (e.g., work practice), which can be achieved in collaboration with IT companies. In addition, one class of IT students seems to need no additional interventions applied by the university to be retained.
Global software engineering has changed the way software is developed today. To address the new challenges, many universities have launched specially tailored courses to train young professionals to work in globally distributed projects. However, a mere acknowledgment of the geographic, temporal, and cultural differences does not necessarily lead to a deep understanding of the underlying practical implications. Therefore, many universities developed alternative teaching and learning activities, such as multi-university collaborative projects and small-scale simulations or games. In this paper, we present a small-scale exercise that uses Lego blocks to teach skills necessary for global work. We describe the many different interventions that could be implemented in the execution of the exercise, and share the results from two runs of the exercise with a group of international students. Our results suggest that the exercise can be a valuable tool to help students dealing with troublesome knowledge associated with global software engineering and a useful complement to the courses dedicated to this subject.
One of the challenges of global software engineering courses is to bring the practices and experience of large geographically distributed teams into the local and time-limited environment of a classroom. Over the last six years, an on-campus studio course for software engineering has been developed at The University of Queensland that places small teams of students on different features of a common product. This creates two layers of collaboration, as students work within their teams on individual features, and the teams must interoperate with many other teams on the common product. The class uses continuous integration practices and predominantly asynchronous communication channels (Slack and GitHub) to facilitate this collaboration. The original goal of this design was to ensure that students would authentically experience issues associated with realistically-sized software projects, and learn to apply appropriate software engineering and collaboration practices to overcome them, in a course without significant extra staffing. Data from the development logs showed that most commits take place outside synchronous class hours, and the project operates as a temporally distributed team even though the students are geographically co-located. Since 2015, a course adapted from this format has also been taught at the University of New England -- an Australian regional university that is also Australia's longest continuous provider of distance education. In this course, most students study online, and the class has to be able to work globally, because as well as students taking part from around Australia, there are also typically a small number of students taking part from overseas. Transfering the course to a smaller but predominantly online institution has allowed us to evaluate the distributed nature of the course, by considering what aspects of the course needed to change to support students who are geographically distributed, and comparing how the two cohorts behave. This has produced an overall course design, to teach professional distributed software engineering practices, that is adaptable from large classes to small, and from local to global.
The introduction of Computing to the National Curriculum in England has led to a situation where in-service teachers need to develop subject knowledge and pedagogical expertise in computer science, which presents a significant challenge. Professional learning opportunities can support this; these may be most effective when situated in the teachers' own working practices. This paper describes a project to support Computing teachers in developing pedagogical skills by carrying out classroom-based research in their schools. A group of 22 primary (Grades K-5) and secondary (Grades 6-10) teachers from schools across England planned, designed and implemented research projects either individually or in small groups, supported by a team of university colleagues. Inter and intra group progress was shared online and face-to-face within a distributed community of inquiry. Data collection included surveys, video data, and the projects completed by the teachers. The findings from the project are analysed using Clarke and Hollingsworth's Interconnected Model of Teacher Professional Growth (IMTPG), which enables an identification and exploration of teacher change. Results of the analysis demonstrate that the approach can foster ``growth networks" - the construct used within IMTPG to indicate teacher change which is likely to be sustained and fundamental to teachers' understanding. The individual nature of this change indicates that the approach supports personal change related to each teacher's specific situation. Although there is a huge literature on action research as part of teacher professional learning, we believe this to be the first time this has been carried out in the context of computer science education. We conclude by critically reflecting on the lessons that we have learned in leading this project.
In this NSF CSforALL funded research study, the authors sought to understand the extent to which an urban districts teacher instructional support network enabled or constrained access to social capital and their capacity to implement and diffuse DLCS instructional practice throughout the K-12 curriculum. Social network analysis was used to investigate informal teacher advice-seeking and advice-giving patterns of DLCS support. Network measures of cohesion and centrality were computed. Findings revealed that DLCS focused teacher support networks tend to exhibit very low density, have relatively few ties, include a high number of isolates (teachers with no connections), and centralize around a particular actor. In addition, results revealed that teacher sense self-efficacy (a belief in their own ability to implement DLCS instruction) was significantly lower than their self-efficacy related to the implementation of more general instructional practices. Overall, study findings suggest that district capacity for the implementation of K-12 digital literacy and computer science curriculum and instruction may be quite low. Authors conclude that examining and strengthening teacher access to social capital and networks of instructional support may be a crucial step for educators concerned with school improvement and the diffusion of digital literacy and computer science curricula in US schools. CCS Concepts: " Human Centered Computing Collaborative and social computing design and evaluation methods Social Network Analysis; Social and Professional Topics Computing Education Computing literacy, K-12 education
Teaching Distributed Software Development with real distributed settings is a challenging and rewarding task. Distributed courses are idiosyncratically more challenging than standard local courses. We have experienced this during our distributed course, which has now been run for 14 consecutive years. In this paper, we present and analyze the emerging diversities specific to distributed project-based courses. We base our arguments on our experience and we exploit a three-layered distributed course model, which we use to analyze several course elements throughout the 14-years lifetime of our distributed project-based course. In particular, we focus on the changes that the course underwent throughout the years, combining findings obtained from the analyzed data with our own teaching perceptions. Additionally, we propose insights on how to manage the various diversity aspects.
The purpose of this paper is to discuss the findings of a survey of nearly 300 computing professionals who are involved in the design and/or development of software across a variety of industries. We report on the surveyed professionals perceptions of the importance of a range of topics and skills, and the degree to which recent graduates felt that each topic or skill was stressed in their undergraduate experience. Our findings highlight the value of breadth and flexibility in technical skills, and the universal importance of critical thinking, problem solving, on-the-job learning, interpersonal skills, and the ability to work well in cross-disciplinary teams. However, the recent graduates we surveyed report inconsistent coverage of these most important topics in their degree experiences. We discuss implications for education and for future research.
Recursion is one of the most important and hardest topics in lower division computer science courses. As it is an advanced programming skill, the best way to learn it is through targeted practice exercises. But the best practice problems are hard to grade. As a consequence, students historically have completed only a small number of recursion programming exercises as part of their coursework. We present a new way for teaching such programming skills. Students view examples and visualizations, then practice a wide variety of automatically assessed, small-scale programming exercises that address the sub-skills required to learn recursion. The basic recursion tutorial (RecurTutor) teaches material typically encountered in CS2 courses. Experiments showed that RecurTutor supports recursion learning for CS2 level students. Students who used RecurTutor had significantly better grades on recursion exam questions than did students who used typical instruction. Students who experienced RecurTutor spent significantly more time on solving programming exercises than students who experienced typical instruction, and came out with a significantly higher confidence level.
Global Software Development (GSD) is a strong industry trend at the present time. This means that if computer science engineers are to be trained with respect to this paradigm, it is very important to include the topic in software engineering courses, attempting to ensure that students learn about GSD and become familiar with its advantages and challenges. However, software engineering curricula courses do not always consider this paradigm. It must also be recognized that it is also difficult to find a suitable method with which to teach/develop the different skills that are advisable to have in GSD, given that it is frequently the case that there is a lot of content and not a great deal of time available to deal with it all. In this paper we propose the use of a serious game called GSD-Aware, with which students can suffer some of the typical challenges of GSD by interacting with avatars and by using several means of communication to solve some given problems. The paper focuses on the empirical validation of the game, for which an experiment was conducted, the aim being to analyze whether the game helps students to be aware of GSD challenges. It was discovered that after playing the game the students gave the same degree of importance as before playing it to these factors: lack of communication, lack of experience in the use of communication tools, and language difference. On the other hand, after playing the game the students were aware of the greater influence that the following factors can have: lack of coordination, trust, cultural differences, lack of face to face and informal communication, time difference and lack of team spirit. In their final analysis, students agreed that the serious game scenario helped them to understand the importance of GSD challenges. As a result, it can be concluded that the serious game seems to be an appropriate tool to help teach GSD features, as these games are often more affordable and entertaining than other traditional methods. Data indicate that by using GSD-Aware students can in a short period of time realize the importance of different factors that influence GSD projects. This method may be a better way of explaining these factors to them than by means of explanations given from a merely theoretical point of view.