Keywords

1 Introduction

There is a growing need for skilled professionals in computer science [1]. However, Higher Education students exhibit difficulties learning computer programming, particularly transitioning from initial programming to advanced programming [2], with high rates of academic failure being common. Students’ difficulty in learning to program is particularly noticeable in the transition from entry-level programming to advanced programming [2].

The reasons include the teaching approach and the attitudes/strategies used by students in computer programming [3], including the lack of motivation and involvement in study [2, 3]. Also, most students come to the job market lacking the necessary skills to meet the expectations of employers [4], such as teamwork and cooperation skills [5].

In advanced programming courses, the level of complexity is much greater than entry-level programming courses. Differences impacting students include large code sizes, the need to work in teams of varying size with associated communication issues, and a dynamic environment where regular changes to existing code become necessary. When applying techniques to address this complexity, such as architectural styles, e.g. Model–View–Controller (MVC) [6], students have difficulties grasping the rationale of the technique and other software engineering concepts [7]. There are also other complex programming skills [8] and social skills [5].

We seek to employ in this regard the concept of Self-Regulated Learning (SRL), a key element for success in higher education, which allows students to be proactive managing their learning and developing life skills [9]. The application of SRL strategies typically predicts high academic achievement [10] and can be improved with appropriate interventions [11]. Also, it is recommended that teachers promote and contribute towards students’ development of metacognitive knowledge about academic work and task-specific strategies [12].

In computer science, students that apply SRL and metacognitive strategies have good performance [13]. However, most students are not aware of SRL and metacognitive strategies that can be used, so instilling them is important [14].

Co-Regulated Learning (CRL) also helps understand the process of regulating student learning [15]. In the context of computer programming, CRL helps students improve their programming skills [16], by providing a set of resources and skills for working with others [17].

We developed the SimProgramming approach [18,19,20,21] and applied it in the academic year 2013/2014 to the Programming Methods 4 (PM4) course, part of the third year of the bachelor programmes in Informatics Engineering (IE) and in Information & Communication Technologies (ICT) at the University of Trás-os-Montes e Alto Douro (UTAD), Portugal.

In the SimProgramming approach, the course syllabus requires students to develop a problem-based learning (PBL) assignment with a specific set of tasks based on the conceptual foundations of SimProgramming and is described further ahead in Sect. 3.

One of these tasks is filling out biweekly forms for self-reflection and co-reflection. These are handed out to each student’s team and focus on their biweekly performance developing the course assignment. We conducted thematic analysis of 37 biweekly forms seeking to identify the SRL and CRL strategies mentioned by students during the development of the assignment.

In previous studies, we described the SRL and CRL strategies used by individual students, collected via weekly forms [19] and semi-structured interviews [20, 21]. In this paper, we look at the team perspectives on co-regulation learning strategies, collected via biweekly forms.

2 Background

The cyclical model of SRL is based on the social cognitive theory proposed by Zimmerman, which has three phases for self-regulation: (1) forethought, which is the goal setting and planning before the assignment/study; (2) performance, which is when the students use various strategies, monitoring and controlling their learning; and (3) self-reflection, reflecting about the learning process after assignment/study [22,23,24].

In fact, SRL is considered a meta-process [23] in which students are proactive and have control over their cognition, behavior, emotions and motivation through the use of personal strategies to achieve their established personal goals [25].

Self-regulated learners are active participants in their learning and develop academic skills [26]. They are generally successful and have good academic performance [10], adopting various learning strategies [23] during an academic assignment, such as cognitive, behavioral and motivational strategies to improve and guide the learning process [27].

However, university students may find it difficult to regulate their learning [28], which in turn may lead them to abandon courses [29], or not finish them on time [24].

SRL provides students with opportunities for getting acquainted with effective practices/strategies for their study, such as: time management; resource management; environmental management; incorporating feedback; and management of learning objectives and results [26, 30]. Students construct their own meanings, goals, and strategies from the information available in the external environment and in their own minds [31].

SRL strategies (SRLS) are specific skills that are part of the SRL process and can be taught to students for them to apply in real contexts [22, 23], such as: goal setting and planning, organizing and transforming, seeking information, rehearsing and memorizing, environmental structuring, seeking social assistance, self-consequences, records and monitoring, reviewing records, and self-evaluation [23].

SRLS help students obtain and retain knowledge about the adoption of a methodological approach and structure their learning, affecting their results [10]. According to Wang et al. [32], the application SRLS is usually a predictor of good academic performance.

CRL is understood as a social regulation of learning, in which students temporarily regulate their cognition, behavior, motivation, and emotions in situations of temporary coordination of regulation with other people (teachers or peers) [24, 27, 33]. This interaction of the student with others allows him/her to internalize regulatory processes (ibid.).

Team regulation, social activities and learning co-regulation are important for successful collaboration, because team members contribute to building shared dynamic mental models, and awareness towards a successful decision-making process [34]. In addition, cognition and feelings can be encouraged by peers or teachers to improve and increase understanding of tasks [35]. CRL helps understand the processes of student regulation [15], when students co-regulate learning, they have the potential to improve their learning self-regulation skills [36].

In computer programming, CRL helps students improve their programming skills [16], as it provides students with a set of outwardly resources and skills (seeking social help, evaluating others’ ideas, monitoring tasks) [17].

Reflective learning helps students become more aware of the learning process and their difficulties [37]. When students make effective self-reflection, they analyze how they learned, how they understood the objectives of the learning process and what is necessary to create conditions for success [38]. It also encourages students’ critical thinking about their abilities, and reflects on improvement strategies for the learning process, making them aware of the learning advantages in the future, and helps them develop transversal skills [37]. The interaction between compromise, self-control, autonomy and students’ self-discipline allows them to regulate their own actions to achieve their learning goals [39].

On the other hand, reflective learning provides feedback to teachers, enabling them to readjust their experiences and pedagogical tools [38]. The use of a reflective diary is a technique that reinforces and stimulates reflection on the theoretical and practical component of work (ibid.).

The pedagogical context contributes towards learners’ engagement and resolve to achieve learning outcomes [40]. In higher education, it is important to prepare students for the challenges of later professional practice and provide students with opportunities to develop their self-regulation and co-regulation skills, through activities that improve collaborative and active learning [32].

In engineering education in particular, learning approaches are typically not aligned with the requirements of the labor market [41, 42], not prioritizing skills aligned with professional realities, such as active learning or integrating knowledge [43].

Role-playing pedagogical techniques stimulate students to learn about similar real-world situations, with problem-solving, and active learning, providing opportunities to learn by doing and collecting feedback for building new knowledge [44]. They also help develop professional identities [45].

3 The SimProgramming Approach

The SimProgramming approach [18,19,20,21] is based on four conceptual foundations (ibid.): (1) business-like learning environment, (2) SRL; (3) CRL, and (4) formative assessment.

The SimProgramming approach was developed through iterative application and refinement, between 2011 and 2014.

Through these conceptual foundations, teaching strategies are adopted to stimulate SRLS and CRLS. The learning activity process develops along four phases, and students have specific tasks in each phase, with specific environment, roles, and deadlines during a course-long (i.e., semester-long) assignment [18,19,20,21].

Conceptual Foundation 1: Business-Like Learning Environment

SimProgramming stipulates the simulation of a business-like environment with the goal of promoting awareness of the professional reality and teamwork expectations, through role-playing, with each participant taking on a role. Also, Problem-Based Learning (PBL) is used to promote collaborative discovery for the resolution of the problem [46].

The course lecturer plays the role of CEO or general manager, taking responsibility for the course content and monitoring.

Other teaching staff of the course (e.g., course tutors or teaching assistants – henceforth “tutors”) play the role of project managers, providing close monitoring, mentoring, and feedback to students, based on the Scrum method for project management and agile software development [47].

Students play different roles as members of development teams and divide the work according to the role played by each member. One student acts as team leader and the remaining students handle subsets of work (“work packages”). The team leader facilitates the integration of information and guides the group [5], making sure that team members keep a global view of the project context and status, integrating knowledge. Other students have a specific role each, having to master their individual packages and cooperate with the team leader.

Conceptual Foundations 2: Self-regulated Learning (SRL)

The goal of conceptual foundation 2 is to promote students’ SRLS through active participation and engagement in meaningful activities before, during, and after completion of academic work [39].

The SimProgramming approach aims to promote students’ SRL strategies through active learning and engagement in meaningful activities before, during, and after completion of academic work [32]. Each student must solve his/her individual work packages and contribute to the overall perspective of the team problem. The team leader integrates research and exploration output of all members, reporting weekly at project management meetings. He/she also ensures the information flow within the team. Biweekly, each team completes a self-reflection form about his/her own work, pondering on what to do the following week, and reflecting upon the factors that prevented him/her from achieving the team and individual objectives. Students are encouraged to develop the concept of doing their work regularly and adopting study routines. This is done by creating a context where tasks are performed continuously, alongside feedback and monitoring support for self-reflection and self-regulation.

Conceptual Foundation 3: Co-regulated Learning (CRL)

The SimProgramming approach encourages co-regulated learning (conceptual foundation 3) with the aim of supporting the functional and effective development of a learning community of practices around problem solving. Students have two kinds of team tasks: reports and presentations.

In SimProgramming, students should be encouraged to get involved in pre-existing online communities of professionals (outside academia) not just to seek help, but to help other members of those communities, contributing to problem-solving and discussing the technologies under study or used in their future profession [2]. The search for help among professional communities is a common practice in real-world labour.

Tutors (in meetings, classes, and on-line) stimulate students’ initiative when seeking social help (from peers, teachers, tutors, etc.), advising against using it as a mere least-effort approach to clarify doubts and difficulties. The tutors and the professor provide this support by advising on methods of gradual participation and involvement in communities, including suggestions of specific tasks for clarification of concepts, and advise on development of homogenous peer-based contributions and discussion, supporting community development, informal interactions, and debate, which can be promoted and monitored via a Facebook group for the course or other forms of groupware.

Conceptual Foundation 4: Formative Assessment

In real world labour it is well-known that companies conduct assessments of team performance. So, SimProgramming also employs Formative Assessment with the goal to improve self-reflection by providing management feedback (from tutors and from the Professor).

The Professor and tutors employ face-to-face and online contact to provide monitoring, meetings, and social media interactions, including motivational mentoring, coaching, and feedback on individual package status. The feedback is adopted as support for students’ self-regulation and critical thinking. Assessment in SimProgramming takes two forms: formal self-assessment of individual students and hetero-assessment by team members at the end.

SimProgramming Phases: Learning Assignment Process

In the SimProgramming approach [18,19,20,21], the learning assignment is developed along four phases and students have specific tasks in each phase (Fig. 1), based on the SimProgramming conceptual foundations presented above. During all phases, weekly meetings take place between tutors and team leaders, providing feedback for motivation, self-regulation, possible support for technical doubts, and internal team issues.

Fig. 1.
figure 1

SimProgramming phases: goals, specifics tasks and duration.

What Are the Team Biweekly Forms?

The team biweekly form is where each team self- and co-reflects upon their work (teamwork and individual work), ponder on what to do the following weeks, and reflect upon the factors that prevented him/her or the team from achieving specific goals [18]. It acts as a reflexive diary with the goal of stimulating reflection about work performance.

Each team must answer 3 questions: (1) “What have you done these two weeks for the assignment?”; (2) “What will you do in the coming weeks for the assignment?”; and (3) “Any reason(s) for not completing the tasks?”.

4 Teaching Context and Learning Assignment

4.1 Teaching Context

The course goal in PM4 is for students to develop the knowledge and skills necessary to develop web applications. Students start by working with the client-server concept of web applications and study their operation, including analysis of the HTTP protocol and the processing of its messages by web clients and servers. The syllabus for PM4 includes data formats and metadata for web applications, including the meta-languages SGML and XML, and languages specified by them. It then proceeds with the internal operation of Web clients and servers, including automation, and concludes with the study of various types of Web applications and the specific case of Web services.

In the previous year, students had experienced an early version of the SimProgramming approach in the PM3 (Programming Methods 3) course, which was focused on software architectures, and code complexity management techniques, such as concern independence, transparency, etc.

4.2 Learning Assignment in PM4

We combined proposals described in the literature about techniques of technology-enhanced learning [48] and face to face teaching techniques to support students during the assignment [19]. The tutors scheduled face-to-face meetings with team leaders, either individually or as a team, when they identified problems or difficulty fulfilling the tasks.

The Moodle LMS is used as the on-line environment for the professor and the tutors to track the development of the assignment and organize the tasks into modules over several weeks. Through the LMS, students are provided with supporting materials for development of tasks, scheduling, overall objectives of the assignment and specific objectives of each task, a forum for doubts and for contacting tutors, and other course materials (e.g. slideshows used in lectures). Also, other on-line tools are used to support students: e-mail, instant messaging (GTalk now called Google Hangouts), Facebook, and SIDE, which is a locally-developed course management system [49] for students to submit their completed tasks.

The learning assignment is based on PBL [46]. In PM4, a specific problem is assigned to each team, involving protocols, web applications, and markup languages. The goal of the problem is to lead students to develop skills on the development of web applications. Students must develop a technological solution using a web system and a given web access platform (e.g. mobile devices) and explain in detail (including code examples) how it is possible to exchange information between systems using different markup languages.

The SimProgramming approach was used throughout, along all the 4 phases, during 10 weeks of the academic semester, described ahead. In the 2013/2014 academic year, students formed 9 teams (Table 1). Most of the students participated in the previous course (PM3) and thus had prior contact with this approach.

Table 1. Nr. of the students in assignment

All teams successfully achieved the learning goals. Of the 49 students, 44 attained a final grade.

5 Methodology and Data Collection

During the 10 weeks in which the assignment took place, each team had to submit its biweekly form as a team, i.e. 5 forms in total. The fulfilment of this varied slightly throughout the phases of the SimProgramming approach (Table 2).

Table 2. Delivery of biweekly team forms by teams, per SimProgramming phases

All the 9 teams initially enrolled in the assignment completed all phases of the SimProgramming approach, performing the requested tasks.

In the first week, all teams delivered the biweekly forms. In Phase 2, Phase 3 and Phase 4, occasionally, some teams did not submit the biweekly team forms (Table 2).

The 37 biweekly team forms were subjected to thematic analysis [50] aiming to identify the strategies of self and co-regulation of the learning (SCRLS) that students mentioned during the assignment.

Content analysis matrices based on the afore mentioned research literature were constructed on the types of self and co-regulation learning strategies (SCRLS), identification of difficulties in the assignment and on the factors that the students believed that influenced their motivation (Table 3).

Table 3. The three sub-categories about SCRL strategies identified in biweekly forms

We organized content into categories, subcategories, indicators, and recording units (snippet sentences), which were restated during the process of content analysis. Then, we conducted a cyclical process of improvement, synthesis, and reflection.

The steps adopted for the data analyses were as follows:

  1. 1.

    Construction of content analysis matrices for each team, with the SCRLS (phrases/snippet sentences that students reported on the biweekly forms, explaining what they did). The content analysis matrices are composed of grid lines (each line for a strategy –the “indicators”); and columns to record in which week it was reported by team students. In the cells we entered codes identifying the team reporting that strategy that week (e.g. E.3).

  2. 2.

    Afterwards, we developed general syntheses of each team for each of the indicators.

  3. 3.

    For each subcategory of the strategies (e.g. Organizing and planning strategies) we counted the number of teams who reported each indicator (e.g. 1.1 = 113).

  4. 4.

    Finally, we did a general synthesis of the indicators in each of the phases.

In a first moment, one researcher (one of the authors of this paper) created the content analysis matrixes (with the categories, the subcategories, indicators and the recording units). After this, another researcher independently validated or suggested changes to these content analysis matrixes. When changes were proposed, they were discussed later until both researchers reached an agreement. Finally, the final version of the content analysis matrixes was validated by all the researchers.

6 Results and Discussion

In the biweekly team forms, we found that the teams mentioned “Organizing (O), Planning (P) and Transforming (T) strategies” to carry out the assignment (Table 4).

Table 4. Organizing (O), Planning (P) and Transforming (T) strategies

In the first phases (Phase 1 and Phase 2), the most mentioned strategies by teams are team meetings to define tasks (n = 24), information research (n = 15), application of knowledge related to practice (n = 14), elaboration of notes on the information found (n = 14) and also the division of tasks among the team members (n = 13). Other strategies were also mentioned by the teams.

In the Phase 3 and Phase 4, the strategies that were most mentioned by the teams are related to the transformation of the information found through notes (n = 8), and the application of the information in practical context (n = 11). Likewise, the teams had the concern to understand the research material (n = 8).

Likewise, the teams identified and expressed in the biweekly forms the difficulties they experienced carrying out the assignment, as can be seen in Table 5. The most mentioned difficulty in all phases (Phase 1, Phase 2, Phase 3, and Phase 4) was the overload of work.

Table 5. Identifying difficulties in the assignment

In the early stages (Phase 1 and Phase 2) the teams also reported difficulty meeting (n = 11). Subsequently, in the intermediate phases (end of Phase 2, and Phase 3) the teams also expressed difficulties implementing the practical component.

Regarding the co-reflection of team members on their tasks, (Table 6), the teams mentioned whether or not they had achieved their goals, and difficulties the experienced achieving the objectives of the task. In the intermediate stages (Phase 2 and Phase 3), the teams mentioned more emphatically that they were able to reach the goals but had difficulties. Throughout all phases, most teams reflected specifically on the tasks performed.

Table 6. Co-reflection

Throughout the phases of the SimProgramming approach, the teams mentioned, in the biweekly forms, the adoption of several different strategies in each of the phases.

In the first phases (Phase 1 and Phase 2), the organization and planning strategies were the most mentioned ones. In all phases, the strategies that stand out are related to the application and transformation of information, writing notes on the collected research material, the application of the practical component (programming), and the respective understanding (learning) of the research material. These strategies are skills necessary for the development of teamwork and in the context of the world of work. Students have improved their skills during the SimProgramming approach phases and are better prepared for transitioning to the professional practice world.

The teams identified difficulties in time management, namely, difficulties due to the excess of tasks and tests in the various courses throughout the semester. In the initial phase, the teams mentioned difficulties holding team meetings. Subsequently, the difficulties are related to the implementation of the practical component.

Likewise, team members were involved in a process of reflection on their learning, explaining whether the team had achieved the goals of the SimProgramming approach or not. They also identified occasional difficulties in achieving the objectives, especially in Phase 2 and Phase 3. Throughout all phases, it was verified that as a team, the students reflected in more detail on their performance.

7 Conclusions

Throughout the discussion, we argued that using biweekly team forms in PM4 (2013/2014) allowed us to verify that the adoption of this type of pedagogical task contributes to the improvement of strategies of self and co-regulation of learning, since it allowed students to be aware and reflect on essential competences to reach the learning goals, an important skill for the world of professional practice, confirming what was reported in an earlier work [19].

The students mentioned several types of learning strategies that they adopted during the assignment, namely: organization and planning strategies, identification of difficulties, and co-reflection on the assignment.

Problem solving strategies were not identified in the biweekly team forms, and neither were factors affecting motivation. In these forms, the teams focused on the detailed explanation of the work in terms of content, reinforcing the perspective of our previous experience in PM3 (2012/2013) [19]: it contributed to the development of competencies [19].

However, it was observed that in comparison to the individual weekly forms of the previous course, PM3 (2012/2013) [19], in the biweekly team forms of PM4 (2013/2014) the students (as a team) mentioned in more detail the strategies of information transformation. That is, in a team context, the students explained in greater detail the process of treatment of the collected material, and how they applied the knowledge obtained in the activity, in which the team’s concern in understanding (learning) that material.

The difficulties found in the assignment are identical. Namely, the overload of work and the implementation of the practical component. However, in the team reflections, it is also mentioned the difficulty of getting the team to meet.

The students as teams can reflect on whether they have met (or not) the goals and identified their difficulties. Likewise, as a team they make a more detailed reflection on the tasks, especially when accompanied by the manager. This confirms earlier studies that found that tutors play an important role in students’ self-assessment [30].