1 Introduction

The old traditional way of teaching emphasizes on teacher-centered, one direction pass on knowledge to their students. However, after the end of the class, students usually forget what they had learnt and find difficulty to continue with another related subject which requires previous information. Because most of students only memorize those subject contents to use in examination.

In addition, there is one method of teaching which is called Problem-based learning (PBL), both direction communications for learning. This is about learning process and communication between teacher and student. Apparently, students who take PBL subjects are empowered to take a responsible role in learning. Lecturers also become a facilitator for supporting and guiding [1].

Students from a school of Information Technology (IT) had to implement one project per one subject in the past. The first year students from IT, software engineering (SE), computer science (CS) and multimedia technology and animation (MTA) major had to enroll two subjects in the first semester which are Computer Programming and IT Concept. Both subjects were supposed to be associated but they were not. As the traditional way of lecture discourages students to think and apply knowledge for solving real problem [2].

In this study, PBL concept was applied to teach the first year students of Computer Programming and IT Concept subject, School of IT, Mae Fah Luang University.

2 Related Work

Traditional ways of teaching are held by the lecturers [3, 4]. Lecturer or teacher is a main role of controlling a class room’s environment, teaching and assigning work (teacher-centered).

As mentioned earlier, PBL is both direction communications for learning between lecturer and student. This focuses on propositions or problems that encourage students to understand and encounter the required concepts for solving them [5, 6]. PBL technique helps students to improve critical thinking and problem-solving skill [7]. Furthermore, this also develops student’s collaborative skills as they can practice by solving the group work’s conflict [8]. In addition, there are opportunities for interacting among classmates or teammates and sharing knowledge in a PBL course [9].

For junior developer skill, students should have technical and soft skills. As the old way of teaching, lecturers can teach only basic programming and give some examples of code. Thus, junior developers do not have other skills such as Domain knowledge, Communication skills, Problem-solving skills and Self-directed learning skills which require guidance from experts or experiment by themselves.

Those mentioned skills are required aspects for junior software developer. This research focuses on using PBL technique to teach basic programming for junior software developers by using project-based.

3 Empirical Study and Methodology

For School of IT, there are first year students from four majors who have to enroll in Computer Programming subject in their first semester; IT, SE, CS and MTA major. Students from IT and SE major are in the PBL project while the rest are not. This PBL project combines three subjects together as a teaching package, consist of Computer Programming, IT Concept and Workshop. In this package, students have to implement only one project and integrate contents for all mentioned subjects. Students do not need to implement single project in each subject as the traditional way of teaching does. Therefore, they can focus on only one project in learning and implementing.

There are four main steps for implementing new teaching method in the PBL framework as depicted in Fig. 1; PBL Framework Design, Empirical Plan, Teaching Method, and Data Gathering and Analyzing.

Fig. 1
figure 1

Four main steps for implementing new teaching method in the PBL framework

3.1 PBL Framework Design

The PBL framework design is separated into two parts. Assumption describes the expected skills of PBL students and other related issues as the first part. Then, the second part explains about teaching and learning process in the PBL framework of this research.

3.1.1 Assumption

As mentioned earlier, PBL students are the first year students from two majors. We expected that PBL students should have self and team learning skills which are significant factors for beginner or junior software developer. As the discussion with staff from software industry companies who are the PBL project’s partners with Mae Fah Luang University, self and team learning skills are important factor for working. In case of being a good programming beginner, the contents learnt in class are not intense enough for developing software. Students also have to study, learn and practice by themselves for more understanding and programming experience.

3.1.2 Teaching and Learning Process in PBL Framework

This had been implemented by focusing on the project based; only one group project covered significant contents of three mentioned subjects.

Figure 2 illustrates an overview of PBL framework in teaching and learning process for Junior Software Developer. The input of this framework is a proposition from IT Concept subject. There are two main themes as the alternative for choosing in implementing the project; Sales system and Booking system. Besides, technical skills (programming skill) and soft skills (self and team learning skills) for junior programmer are the expected output presented in this framework.

Fig. 2
figure 2

An overview of PBL framework for junior software developer

In part of process in this PBL framework, there are three main steps as shown in Fig. 3. The first step requires understanding the proposition which is selected from provided themes in IT Concept subject. Each group have to understand this selected proposition or theme and define a list of problems as a project’s background. Secondly, each group have to find the solutions by brainstorming and then determining a project’s score. After that, making a plan is the next step for work contribution. The last process is solving the problems by developing their software project applied appropriate concepts and suggestions.

Fig. 3
figure 3

PBL framework in part of process

The plan of evaluating technical and soft skills discusses in the next step (empirical plan).

3.2 Empirical Plan

There are two parts in this session. The first part describes a target group of this research. The second part is an assessment and evaluation plan.

3.2.1 Target Group

The target group of this research in applying this PBL framework is the first year student who enrolled in three mentioned subjects from IT and SE major. The total number of PBL students from both majors is 148 people.

Moreover, there are 252 students who enrolled Computer Programming subject. Students are separated into two main groups (PBL: 148 students from IT and SE major, and Non-PBL: 104 students from CS and MTA major). Therefore, the different outputs of learning at the end of this semester explain further in the part of result.

3.2.2 Assessment and Evaluation Plan

This research focuses on two main parts for assessment and evaluation of PBL framework; process and product.

For the process perspective, this is about considering and evaluating student’s soft skills (self and team learning skills) from studying and implementing project. This perspective was divided into two sub aspects as self-assessment and peer evaluation. For the self-assessment, this can be evaluated since the beginning of class. Criteria for this type of assessment were listed as follows:

  1. 1.

    Motivation in Learning (ML)

  2. 2.

    Self-Directed Learning Skill (SDL)

  3. 3.

    Collaborative Learning Skill (COL)

  4. 4.

    Communication Skill Level (COM)

Furthermore, there are soft skills that can be evaluated in a period of developing project. These soft skills refer the way students work as a group. Therefore, some of these soft skills were selected to be peer evaluation’s criteria as follows:

  1. 1.

    Research and gather information

  2. 2.

    Participate and share information

  3. 3.

    Support teamwork

  4. 4.

    Organization and coordination

  5. 5.

    Team contribution

  6. 6.

    Cooperation

For the product perspective, this is about considering and evaluating student’s technical skills (programming skills). For this research, the grade of Computer Programming subject and project implemented by each group of students were resources for evaluating programming skills.

3.3 Teaching Method

Recently, the PBL technique was applied as new teaching method for only students of IT and SE major as shown in Fig. 4. There are three subjects for PBL teaching package as stated earlier. Students have to enroll these two mentioned subjects and Workshop subject which is a new subject created as a time period of implementing the project. Students still have to learn technical contents in a classroom and practise in a lab for these two mentioned subjects. The main contents of IT Concept subject are basic concepts of IT, analysis and system design. The main content of Computer Programming subject is basic programming concept. Besides, lab hours of both subjects are not only practising time but this also is a facilitated time for individual and group work (project). In Workshop subject, these students were encouraged to learn and work on their project by themselves and facilitated by lecturers and staff from software industry companies in term of guidance, programming skills and soft skills.

Fig. 4
figure 4

The teaching method applied PBL technique

3.4 Data Gathering and Analyzing

This session explains how to gather required data from PBL students in assessment and its criterion for analyzing these data.

3.4.1 Data Gathering

For this sub section, observation and question were selected as the method for gathering data.

Lecturers and others give some suggestions belonging to their problems and questions during the implementation. At that time, lecturers observe how students manage their work and develop in Computer Programming and Workshop class or lecturer’s office hours. At the end of semester, this is another observation period. PBL students have to present their work with all lecturers from three subjects and staff from software industry companies at the same time.

In part of using question as a tool for gathering data, all students (PBL and Non-PBL) from Computer Programming subject have to do the Pre-test and Post-test for evaluating their programming background and improvement. In addition, PBL students have to answer a self-assessment and peer- evaluation questionnaires at the end of the semester. The self-assessment questionnaire consists of four open-ended questions and 25 close-ended questions. Besides, the peer evaluation questionnaire is a close-ended question asked for each team member’s skill.

3.4.2 Data Analyzing

After data gathering by the above questionnaire, there are five ordered response levels of each question in self-assessment; Strongly agree, Agree, Neutral, Disagree and Strongly disagree. Table 1 illustrates a list of the mentioned response levels of self-assessment questionnaire and its score range which shows minimum and maximum score. For example, the score range of response level: “Strongly agree” is between 4.51 and 5.

Table 1 A list of response levels of self-assessment questionnaire and its score range

Furthermore, a list of response levels of peer evaluation questionnaire and its score is shown as Table 2. There are four ordered response levels which are Unsatisfactory, Ordinary, Satisfactory and Excellent. The maximum score is 4 (level: “Excellent”). Conversely, the minimum score is 1 (level: “Unsatisfactory”).

Table 2 A list of response levels of peer evaluation questionnaire and its score

4 Result and Analysis

This session explains the result of assessment and evaluation in term of process and product.

For the process perspective, the result of self-assessment is shown as Table 3. As stated previously, this research’s target group is the first year students from IT and SE major participated in the PBL project. From this table, the IT student’s average score of SDL and COM are higher than the average scores of SE students. Conversely, the IT student’s average score of ML and COL are lower than the average scores of SE student. Furthermore, the academic plan of IT students focuses on basic concepts of IT along with management skills such as communication skill. On the other hand, the academic plan of SE students emphasizes the processes of developing software which encourages them for working as a group. This implies that knowledge which these students had been learnt from Workshop and other subjects from an academic plan have an influence on student’s characteristic of each major.

Table 3 The result of self-assessment (Soft skill)

The data from Table 3 are used for plotting a chart as depicted in Fig. 5. This line chart compares the self-assessment results between PBL students from IT and SE major in four aspects. This represents a quite similar overall trend of both lines. The average score of SDL and COL are slightly different. The rest are not obviously different value.

Fig. 5
figure 5

A comparison chart of self-assessment results between students from IT and SE major in the PBL project

In term of peer evaluation, the result of this evaluation is shown as Table 4. From this table, the IT student’s average score of researching and gathering information, and supporting teamwork are higher than the average score of SE students. On the other hand, the IT student’s average score of participating and sharing information, and organization, coordination and team contribution are lower than the average score of SE students. Moreover, the average scores of cooperation aspect from both majors are equivalent. This mentioned result can be referred to the self-assessment’s result. Both results are quite coherent. For example, SDL aspect from self-assessment has an influence in behavior of researching and gathering information. Therefore, the IT student’s average score of this behavior is higher than the average score of SE students. Communication skills from self-assessment and cooperation aspect from peer evaluation are associated aspect. Students have to communicate with a teammate for cooperating and completing the project.

Table 4 The result of peer evaluation (Soft skill)

A line chart is created from the data of Table 4 as illustrated in Fig. 6. This chart compares the peer evaluation results between PBL students from IT and SE major in six aspects. The blue line (IT student’s average score) displays that the value of each aspect are clearly different and divided in two ranges which are Ordinary and Satisfactory level. Besides, the red dash line (SE student’s average score) shows that the values of each aspect are slightly different and in range of 3.00–3.30 score which refers to Satisfactory level.

Fig. 6
figure 6

A comparison chart of peer evaluation results between students from IT and SE major in the PBL project

Table 5 shows a list of grades and the number of students who got that grade from Computer Programming subject. Given grades are A, B+, B, C+, C, D+, D and F. As mentioned previously, the total number of all students who enrolled in this subject is 252 people. From this table, the number of students from IT, CS, SE and MTA major including other cases are 69, 31, 79 and 73 respectively. There are two columns displayed PBL student’s data (IT and SE students); the total number of PBL students (column: “PBL”) and the total number of PBL student in percentage belonging to each grade (column: “Percentage number of PBL students”). Furthermore, there are two more columns represented Non-PBL student’s data (CS and MTA students); the total number of Non-PBL students (column: “Non-PBL”) and the total number of Non-PBL students in percentage belonging to each grade (column: “Percentage number of Non-PBL students”).

Table 5 A list of grades and its number of students from Computer Programming subject

The data from the Table above is used for plotting a bar chart in comparing the number of students who got grade in percentage between PBL and Non-PBL students as shown in Fig. 7. There are three significant issues from this chart. Firstly, the percentage number of PBL students who got A grade are noticeably higher than Non-PBL students. Secondly, the percentage number of Non-PBL students who got C+ grade is obviously higher than PBL students. Finally, the percentage number of PBL students who got D / F grade is lower than Non-PBL students.

Fig. 7
figure 7

A comparison chart of each grade between the percentage numbers of PBL and Non-PBL students

5 Discussion and Conclusion

Due to this PBL Framework, implementing project from the real proposition, consulting with staff from software industry companies and learning contents from the class are important supported issues, which improve both basic technical and soft skills for student to achieve junior software developer. Only content’s learning is proved inadequate for proper software implementation. Junior software developers require all mentioned three issues to complete the project by getting suitable ideas or suggestions and applying necessary contents from three subjects (PBL subject package). From the result of assessment and evaluation, this represents that the PBL technique encourages the junior software developers to think and learn more by themselves along with supporting from facilitators. Moreover, the junior software developers are willing to share the knowledge with their teammate for studying and completing the project.

From researcher’s observation and evaluation, this can be concluded that the chance that students learned and worked with their teammate, especially staff from software industry companies have influence on student’s behavior in learning and improving their skills in several aspects.

In addition, researcher found that one unexpected aspect from PBL students is leadership skill during the project implementation. Once student had problem with their teammate, there was at least one person who played the role of leader who justify this situation and maintain the cooperation.

Next year, researcher’s team would like to evaluate deeper content understanding of PBL students about basic programming which they learned in this semester. Student’s deep content understanding is not only memorization, but refers to apply knowledge. Therefore, these students can work as the teaching assistant of Computer Programming subject or implement other projects.