Keywords

1 Introduction

With the rapid development of information technology, a lot of changes have taken place, affecting the lifestyles of people. In the field of education, the state has paid more and more attention on the use of information technology to promote educational reform. Supports have been given to educational information technology, both in policy and finance. After the release of “The ten-year plan of Education Information Development (2011–2020)” by the Ministry of Education, many schools (from elementary education to higher education) in different provinces have been actively exploring the use of information technology in classes, aiming to improve the quality and effectiveness of teaching. In the course of this attempt, a hybrid teaching model which combined real classroom and virtual classroom has gradually become popular. The Central China Normal University has invested a lot of money and efforts in educational information technology, and has built an integrated teaching platform which used a cloud classroom (called starC) as the main tool. It provides services for teachers and students to carry out the virtual classroom.

In recent years, the author has been engaged in teaching software engineering courses in real classroom, but the effect is not very satisfactory. Teaching problems mainly found in the following aspects:

  1. (1)

    Complex student background at varied levels

The course is compulsory for non-computer science graduate students whose major are mainly computer application technology, educational information technology, and communications engineering from the National Engineering Research Center For E-learning, School of Physics and Educational Information Technology Institute. The software engineering course is both theoretical and practical. The course content are abstract. For students who do not have much experience in engineering projects or have little background knowledge, they often feel unable to start, and thus lose the passion to learn [1].

  1. (2)

    Large gap between training objectives and teaching requirements

The teaching plan of the software engineering course is outdated, resulting in the disjoint of social needs and training. It is difficult for students to participate in the whole process of software development. They cannot apply what they have learnt into real practice [2]. The training objectives are to provide professional skills for IT workers, such as programmers who has programming experience in the development of programming and testing, designers with experience in project integration and development, and project managers with project management experience. Due to the complexity of the students’ background, it is hard to accomplish the training objectives within a semester. It has to compromise the teaching expectations.

  1. (3)

    Simplex evaluation methods

The traditional view of the quality of software engineering education is that the amount and depth of knowledge of the theory is the main evaluation criteria. But the purposes of the software engineering course are to enable students to master the basic knowledge and develop their thinking for program development, and more important, to develop their abilities to analyze and solve problem independently. In traditional learning, teaching evaluation of students is limited by time, place and means. It is hard to have effective multi-dimensional and multi-level evaluation of the students, for example, the students’ learning experience throughout the learning process, the process of group discussions, and good design ideas from case studies. Teacher cannot give comments and feedback in a timely manner in the traditional classroom because of limitations of time and place.

  1. (4)

    Shortage of teaching resource

In the traditional classroom, teachers cannot provide adequate resources for students, based on the students’ interests.

  1. (5)

    Personalized learning are confined by teaching model

In the traditional classroom learning where classes are lecture-based, students complete the assignments under the teacher’s guidance. They are basically in a passive acceptance status. Due to the learning different among the students, it is difficult to meet the expectations of the curriculum for all students. As a result, the enthusiasm of learning is low. This also limits the students’ personalized learning.

  1. (6)

    Difficulty in tracking the learning process

In traditional classroom teaching, teachers cannot record the student performance at different stages and different aspects, and hence, cannot track students’ learning process and conduct formative evaluation.

The problems mentioned above mainly due to the limitation of teaching time, space and supportive environment. To some certain extent, a virtual classroom can ease the problem of teaching time, space and supportive environment. In this paper, we propose to conduct hybrid teaching in teaching the software engineering course, using starC as a tool. It attains the benefits of real classroom and virtual classroom, where they complement each other in order to improve the teaching effectiveness.

2 Related Work

Wang Lei explored the hybrid teaching mode on blackboard from the perspectives of teaching behavior and teaching design [3]. Zheng Chunfang realized the effective combination of network resources and classroom teaching through “courseware download”, “course video”, “network test”, “resource links”, “recommended reading” and “discussion” [4]. An analysis was conducted, showing that students’ satisfaction was closely related to e-learning adaptation, perceived usefulness, timely responses from teachers, and the perceived ease of use [5]. Liu Junliang studied the application of seamless learning strategies in the hybrid learning environment, where the impact of gender, disciplinary nature and points of interest are analyzed, and proposed some suggestions for learners to knowledge building [6].

Zhao Dongmei studied the teaching practice of university computer foundation courses in hybrid learning mode, where the learning activities and evaluation were carried out on Blackboard platform [7]. Zhao Yu explored the students’ academic performance, learning interests and satisfaction in hybrid learning [8]. Jin Yi studied the design of teaching activities in hybrid learning mode for enhancing the teaching effectiveness [9]. Sun Dongdong explored the development and application of learning resources for hybrid learning, and reviewed the principles and teaching methods in the hybrid learning mode [10].

3 The Teaching Tool Model Supporting Hybrid Learning

To effectively support hybrid learning, a teaching tool or platform must provide the following functions:

  1. (1)

    Supporting multiple devices

Teachers and students can make full use of tablets, smart phones and PCs to upload materials or learn resources through the Internet.

  1. (2)

    Personal space for teacher

The platform should provide teachers with adequate storage for teaching resources. It should also support resource sharing so that teachers can produce, upload and release learning resources through various means anytime and anywhere.

  1. (3)

    Granularity of resource organization

Learning resources should satisfy the fine-granular feature as much as possible. Not only that the students can make full use of their fragmented study time to digest the learning resources, the teacher can also utilize the fine-granular resources flexibly to adapt to the individualized learning needs.

  1. (4)

    Supporting individualized assessment

Topical or comprehensive assessment can be carried out any time to test the student’s understanding. The assessment can be initiated by the students, or organized by the teachers.

  1. (5)

    Timely and active message service

The platform should provide timely and active message services, for example, notices, homework and teachers’ feedbacks.

  1. (6)

    Effective interaction

The platform should be able to support real-time interaction and asynchronous interaction. Real-time interaction makes the communication among a lot of people at the same time, such as chatting rooms. Asynchronous interaction allows teachers or students to leave a message at any time, such as forums.

  1. (7)

    Supporting group work and diversified assignments

The platform should allow a group of students to submit assignments. The teacher would give each student an individual score. For team assignments, the same score would be given to each student within the group. The platform should allow students to give comments to others. Where appropriate, teachers’ arbitration is allowed. The platform should support multimedia formats such as videos and audio images.

  1. (8)

    Procedural tracking

The platform should be able to record the students’ learning process and carry out formative assessment of students according to formative assessment gauges.

The Central China Normal University has developed an integrated platform for teaching, called starC. It is a cloud classroom with the above-mentioned functions. Figure 1 shows the conceptual model of service of starC.

Fig. 1.
figure 1

Model of service of starC

StarC can support multiple devices, including the teacher’s electronic whiteboard, tablets, smart phones, laptops and ordinary PCs. It also provides a web version. A typical screenshot of starC is shown in Fig. 2.

Fig. 2.
figure 2

Screenshot of starC

StarC provides the following functions: electronic archives of students, supervision of learning process, analysis of learning behavior, personal space, online evaluation, subject tools, stream media on demand, MOOC and forum. MOOC is mainly used as teaching activities. Teaching plan, syllabus, knowledge maps, homework, notices and chatting rooms are supported.

4 Hybrid Teaching of Software Engineering

4.1 Teaching Process Model

The teaching process of software engineering is divided into several teaching units, and each teaching unit is divided into several activity units. Each activity unit covers a topic and the teaching mode can be the traditional classroom or online.

The hybrid teaching process model of the course of software engineering is shown in Fig. 3.

Fig. 3.
figure 3

Teaching process model

The formal description of the model is shown as follows:

$$ TP{ = }\sum\limits_{i = 1}^{N} {TU}_{i} $$
(1)
$$ TU{ = }\sum\limits_{j = 1}^{M} {AU}_{j} $$
(2)
$$ AU = <{\text{topic}},{\text{mode}}>$$
(3)
$$ {\text{model}} = \left\{ {CI|OL} \right\} $$
(4)

TP represents the teaching process. TU represents the teaching unit. AU represents the activity unit. AU is defined as a two dimensional array with topic and mode. There are two kinds of mode, CI (short for classroom instruction) and OL (short for online learning).

The model of students’ participation in hybrid teaching in the course of software engineering is shown in Fig. 4.

Fig. 4.
figure 4

Model of participation of students in teaching process

It is shown that each student has its own learning process. Students’ learning process is not controlled by a teacher. They can choose the topics according to their directions and preferences. The role of a teacher changed from leader to organizer. Students are not asked to attend every class and every activity. They would decide by themselves when to come to class and when to learning online.

4.2 Teaching Practice

The starC has been used to support the hybrid teaching of software engineering course. Teacher uses starC to teach in class, set assignments, discuss or explain the concepts. Students use starC to learn, discuss, and submit assignments.

The teaching process would essentially cover resource development, assignment, discussion and evaluation.

  1. (1)

    Resource development

Software engineering curriculum is characterized by various content, broad knowledge, and strong basic knowledge. It is difficult to cover everything in the limited teaching time. The advantage is that students can choose favorite fields to study according to their interests. Therefore, resources development is very important in order to take all the students into account. In starC, these resources include cases, such as project management case, videos for difficult point, such as path coverage in white-box testing, document template, such as for software requirement specification, test use case or test plan, etc.

  1. (2)

    Assignment

There are two types of assignments: Compulsory assignments for all students are to complete as they have the ability to complete; Elective assignments for students to choose according to their own preferences and ability.

  1. (3)

    Discussion

Special topics are organized for students to discuss such as on demands analysis, user experience design, and project management. The discussion is carried out in small groups. Comments and views are submitted using BBS and chat rooms in the virtual classroom.

  1. (4)

    Evaluation

The comprehensive evaluation can be organized by teachers at the beginning of the term, during the semester and at the end of the term.

Comparing to the traditional classroom teaching, the hybrid teaching was extended in three aspects:

  1. (1)

    Teaching Time

In hybrid learning, students have longer learning time, because the time covers both online learning and classroom teaching.

  1. (2)

    Teaching Resources

With the help of starC, more teaching resources are provided as compared to traditional classroom teaching, for example, videos, pictures, e-books and other resources.

  1. (3)

    Communication

In addition to face-to-face communication in the classroom, real-time online discussion and asynchronous can be made using starC.

5 Teaching Effectiveness

This paper is mainly based on the teaching of software engineering course from 2012 to 2014. Data are collected and analyzed on the teaching effectiveness, where the traditional classroom is compared with the hybrid classroom from the students’ participation, students’ satisfaction and students’ gain.

We collected data from 53 students, 77 students and 105 students from the same course in 2012, 2013 and 2014, respectively. Traditional teaching is used in 2012 and 2013 while hybrid learning is used in 2014. The course has a total of 34 teaching hours. In the traditional teaching, there are 13 weeks of classroom teaching, and 4 weeks of project practice. In the hybrid classroom, there are 8 weeks of classroom teaching, 5 weeks of on-line learning, and 4 weeks of project practice.

  1. (1)

    Students’ participation

Class attendance is based on class-sign in and system access. Class discussion is based on BBS posts and replies and chatting room discussions. Class sign-in mainly aimed at reality classroom. The definition of class sign in is as follows:

$$ RS = TS*W $$
(5)
$$ AR = A/RS $$
(6)

RS represents number of required students. TS represents total number of students, W represents number of weeks. AR represents attendance rate, and A represents number of attendance.

The students’ participation in 3 years is shown in Table 1.

Table 1. Students’ participation

From the perspective of class attendance, there is little difference between traditional classroom and hybrid classroom in the last 3 years, both about 70 %. From the perspective of class discussion, the number of students in hybrid classroom was obviously higher than that of traditional classroom. It shows that students have more chance to interaction in hybrid classroom.

In addition, there are some activities only for the hybrid classroom, for example, discussion forums and chatting rooms. In summary, in the hybrid classroom, students have more chances to participate and get the feedback and express themselves.

  1. (2)

    Students’ satisfaction

Questionnaires are used to investigate students’ satisfaction. The questionnaire provided three options, namely, very satisfied (S+), satisfied modestly (S), and not satisfied (S−). The results are shown in Table 2. A comparison of the results of the options is shown in Fig. 5. As can be seen from Table 2, the number of students that are not satisfied is 0, showing that students are basically satisfied with the software engineering course teaching. In the traditional classroom training in 2012 and 2013, the number of students that are very satisfied is less than that of satisfied modestly. But, in the hybrid class in 2014, situation is the opposite. This suggests that students’ satisfaction in hybrid class teaching is higher than in traditional classroom teaching.

Table 2. Satisfaction survey results
Fig. 5.
figure 5

Satisfaction survey

  1. (3)

    Learning benefits

Learning benefits are investigated through questionnaires. The questionnaire provided three options, namely, gained greatly (G+), gained modestly (G), no gain (G−). The survey results are shown in Table 3, and comparison of the results of the options is shown in Fig. 6. As shown in Table 3, for hybrid learning, the proportion of students with the learning benefits increases year by year while the proportion of students with no gain declines year by year. For traditional classroom teaching, the proportion of students with learning benefits about 88 percent. These results show that the hybrid classroom can improve students’ learning effectiveness to a greater extent than traditional classroom teaching.

Table 3. Learning effectiveness survey results
Fig. 6.
figure 6

Gains survey

6 Conclusion

Hybrid teaching is useful for teaching software engineering courses. It is found that the teaching support tools are important elements for hybrid teaching. Using starC for hybrid teaching, not only breaks through the limitation of time and space, but also improves the teaching from two dimensions: one is the depth, provides more learning and interaction opportunities for students, including the channel of accessing resource and achievement exhibition, the opportunity to discuss and assessment, and so on. Another is the breadth, the course can cover more students.

The hybrid teaching based on starC improves teaching effectiveness. It is however necessary to address two issues – how to determine the relationship between teaching objectives and teaching requirements, and how to adopt the personalized learning? Two modes in the personalized learning are suggested. The first mode is that the learning style and learning process are controlled, where teaching goals and teaching requirements are consistently maintained. The second mode is that students can plan the learning process according to their preferences. In this mode, there are differences between the personalized learning goals and the teaching goals. Further study should be done on how to make hybrid teaching adaptative to personalized learning.