Teaching Microprocessors through Troubleshooting Problem-Solving at Technical High Schools

: The aim of this paper is to present an innovative teaching approach using a troubleshooting methodology in teaching and learning microprocessors by trainees at technical high schools. Moreover, this paper presents the evaluation of this methodology by electronics teachers who teach at technical high schools. In the beginning, the basic theoretical background about the troubleshooting problem-solving and a literature review about teaching microprocessors are described. Here is a detailed description of the troubleshooting methodology for teaching microprocessors to a real-world problem through a simulator. The methodology was presented in a seminar of teacher professional development for improving the quality of teaching electronic technology at technical high schools, and in the end up, a questionnaire for the evaluation of this methodology was given to the participants in order to express their opinion. The participants consider that the proposed methodology for the teaching microprocessors is appropriate for their students, and that the learner-centered approaches, in general, attract students ' interest and they have better learning outcomes


Introduction
Problem is considered a condition that is different from a desired condition or a question that motivates you to test or to answer it [18]. Problem-solving involves the construction of sequential procedures that build strategies in addition to the application of the structure [5,23].
Moreover, the problem-solving has positively results on motivation and responsiveness of students [24]; develops critical thinking skills and prepares the learners for professional work environment [10]; develops creative thinking [14]; develops metacognitive and reflective skills [8,25]; prevents the development of misconceptions [1]; fosters deep learning [2]; promotes independent learning [7]; fosters the development of communication, critical and creative thinking, collaboration, and self-directed learning skills [3,21,25]; and develops explanation skills through a problematic situation [24]; [21] argue that the emphasis on problem solving in engineering is seen as the product of the problem solving exercise, rather than the process by which the solution or solutions are determined.
Critical thinking is the ability to think clearly and rationally about what to do or what to believe [17]. Critical ability of the individual is generally associated with problematic situations and resolving these problematic situations. In resolving the problem, in addition to developing critical thinking, we develop creative thinking. This is a complex process where knowledge, motivation and emotion involved in thinking, perception, memory and imagination [12].
Diagnosing the reasons for malfunctioning equipment and machinery is an important facet in our industrial economy. Thus, it is very important for each technical school to prepare the technicians for troubleshooting problem-solving skills.
The aim of this paper is to present an innovative teaching approach using a troubleshooting methodology in learning microprocessors by trainees at technical high schools (technicians) as a minor offering in the development of didactics of electronics. Moreover, this paper presents the evaluation of this methodology by electronics teachers who teach at technical high schools.
The remainder of the paper is structured as follows: In the Section 2 a literature review about troubleshooting problem-solving and teaching microprocessors is presented. In the Section 3 the troubleshooting problem-solving methodology for teaching microprocessors is presented. In the Section 4 the evaluation of the proposed methodology by the participants is presented. In the Section 5 follows an abstract and discussion.

Literature Review About Troubleshooting and Teaching Microprocessors
The term troubleshooting problem-solving is typically associate it with repair, replace, and diagnosis. It is characterized as an ill-structured problem. We need to give the students the opportunity and experience of solving "real" problems in their technical courses. We also need to give them a systematic approach for correcting their problem. Since this systematic approach makes use of their theoretical knowledge, it reinforces their learning and builds selfconfidence. The challenge for the students is to determine what the cause of their problem is. Often, troubleshooting is associated with the repair of a mechanical or electronic device. A lack of troubleshooting skill is a result of the lack of practical experience and understanding of equipment in a technician students' educational preparation.
Troubleshooting problems require a student to comprehend the main features of a system and to diagnose a faulty, or under-performing, feature of the system or mechanism.
Troubleshooting tasks require the understanding of the logic of a causal mechanism, such as the workings of a physical system or a procedure (e.g. a computer programmer needs to find the error(s) in a program). The student solving a troubleshooting task must also understand how the device or procedure works (e.g. understand the computer program) [22]. Also, the representation is very important in troubleshooting problems because they often require the integration of verbal and pictorial information. Thus, the student must to create a representation or apply a representation. Generally, troubleshooting tasks involve diagnosing, proposing a solution, and executing the solution.
According to [15], the strategic behavior of poor troubleshooters was characterized by incomplete and inappropriate use of information, ineffective hypothesis generation and testing, and generally less strategic flexibility. [20] defined troubleshooting problem in the technological field. They agreed that troubleshooting problem-solving is a key tenet of higher-order thinking and is rooted in real-life or authentic domains.
Troubleshooting problem-solving is a higher-level cognitive process that could range from the identification, symptoms to determine, and action required to fix a problem. The knowledge and cognitive process skills needed for troubleshooting are becoming increasingly valuable. By developing problem-solving skills, technicians will become more adept at troubleshooting problems [19]. [15,22] described troubleshooting as a task that deals with problem-solving skills that are specific to a domain (e.g. computer programming) and described that the task of troubleshooting is to locate the problem or malfunction in a system that is not working properly and then to repair or replace the faulty part or component. [10] mentioned that troubleshooting problems are moderately ill-structured. There is usually a finite problem or set of problems that are causing difficulties. [10] explains that troubleshooting problems: (1) Appears ill-defined because the troubleshooter must determine what information is needed for problem diagnosis (e.g., which data about the electrical and fuel system are needed in troubleshooting a car that will not start). (2) Require deep-level understanding of the system (e.g., how do electrical, fuel, and mechanical systems interact). (3) Usually possess a single fault state, although multiple faults may occur simultaneously (e.g., faulty battery). (4) Have known solutions with easily interpreted success criteria (e.g., part replacement leads to system restart). (5) Require learners to make judgments about the nature of the problems. (6) Vary significantly in terms of system complexity (age, manufacturer, engine size, reliance on computer controls in the automobile). Moreover, [10] stated that a major criterion of troubleshooting problems is fault identification and efficiency of fault isolation.
The reasoning skills are part of the process aimed at resolving the problem. The types of reasoning skills that will be used in this work are the analytical, quantitative and inductive. In analytical we implement the principles of formal logic to determine the necessary and sufficient conditions, in quantitative we have to implement the properties and processes on concepts, and in inductive we have the problem analysis starting from the part to the whole.
Various learning strategies have been used in teaching microprocessors such as self learning, discovery learning, and cooperative learning. According to [9], the cooperative learning with jigsaw method promotes greater understanding and harmony between races and enhances their team work skills. According to [4], the cooperative learning method has successfully improves students' achievements and at the same time promotes their generic growth in terms of motivation to learn, positive dependency, leadership, decision making skill, racial tolerance, trust among students and critical thinking ability. [13] presented an interactive, convenient, and selfpaced, e-learning tool for teaching the fundamentals of the microprocessor course. [6] proposed the approach of building microprocessor courses around real-world applications which provides the opportunity of tackling problems which would not be normally encountered in traditional microprocessor courses. Some of the advantages of such an approach include: motivating the students for later classes, exposing students earlier in the curriculum to real-world engineering applications versus the simpler applications, enhancing cooperative learning which is essential for curricula, and enhancing their job opportunities.
In this paper, the suggested method of [16] for troubleshooting problem solving (diagnosing and correcting a faulty or underperforming system or mechanism) was adopted and modified in such a way to suit in teaching and learning of microprocessors. Moreover, the proposal of [6] has been taken seriously into consideration.

The Proposed Troubleshooting Problem-Solving Methodology for Teaching Microprocessors
The troubleshooting methodology for the learning of microprocessors is implemented by means of a case study in order to better understand this methodology. Some information for the structure of the troubleshooting problem solving activity is the following: Context: Community and Society. Problem type: Diagnosing and correcting a faulty system. Expertise: Technology (microprocessors). Required reasoning skills: Analytical, quantitative, and inductive.
Theme: The use of digitally controlled devices in our daily lives.
Application: Simple Temperature Control Room. There are a lot of devices we use in our everyday life for controlling the temperature by microprocessor (e.g. air conditioners, computers in the car, etc.) The expected learning outcomes are: Students after completion of the troubleshooting problem-solving activity will be able to: (1) explain the basic commands for executing a program; (2) propose and implement a program alternatives; (3) apply masking methods; (4) delay methods applied to programs; (5) explain the methods of representing a problem; (6) use problem solving methodologies to solve simple or complex technical problems; (7) recognize and apply the steps for solving a technical problem; (8) recognize the basic systems or features and their dysfunction and the requirements of the project; (9) analyze a program in basic divisions and identify their function; (10) constitute essential parts of a program into the final program; (11) evaluate a program and make decisions to improve it; (12) understand a problem before the solution; (13) create or compose new programs; (14) execute a program and reflecting upon in the event of non-completion of the purpose of further improvement; (15) control via program input and output devices; (16) create and manipulate look up tables; (17) use technical manuals for information search; (18) cooperate in groups and make decisions to solve a technical problem; (19) evaluate the outcome of the work of their group and those of their classmates; (20) use assessment to defend their position on an issue. The problem solving process is a modified proposal by [16]. It has seven stages as follows: Understand the problem: The emphasis is on understanding the program, diagrams, formulas or tabular information and drawing inferences from them.
Characterize the problem: The emphasis is on identifying the variables of the problem and the connections between them by comparing the parts of the code of program with their explanation given in a Table. So, the students identify their function.
Representation of the problem: apply a given representation of the problem solving or converted to a form of representation to another.
Solve the problem: This included making decisions (in the case of decision making) and diagnosing and proposing a solution (in the case of troubleshooting).
Reflect on the solution: This included examining solutions and looking for additional information or clarification; evaluating solutions from different perspectives in an attempt to restructure the solutions and making them more socially or technically acceptable; and justifying solutions.
Communicate the problem solution: This includes offering support to their peers or selecting appropriate media and representations to express and to communicate solutions to an outside audience.
Another perspective of the problem: The learners study a different version (more complicated) of troubleshooting problem solution and repeat all the above stages.
For this troubleshooting problem-solving activity, was used a microprocessor's simulator which controls the temperature in a room.

Description of the Problem
We have a heating element for heating a room and want to use a microprocessor-microcontroller for controlling the temperature at about 20°C using a digital thermostat and onoff control. Write a program to control the simulated device shown in the Figure 1, by turning on the heater element from the maximum significant digit (MSB) of output port 3. The heating element is controlled by a digitally controlled switch. If it accepted in the input the logical 1, then activated, and if accepted the logical 0, then turns off. The digital thermostat controls the room's temperature and gives in the least significant digit (LSB) of output port 3 the logical 0, if the temperature is less than 20°C and logical 1, if more than 20°C.

Troubleshooting Problem Solving Process
Step 1: Understand the problem The problem is given to students, who have not yet learned the appropriate instructions, to solve the problem. So they are asked to perform a defective program and modify it so that the problem can be solved. The defective program is as follows: Undertook to solve the above problem the programmer Gyro Programloose and gave us the code below. You can run it in the simulator sms32v50 to see the solution that the Programloose gave.
start: MOV AL, 80 OUT 03 control1: IN 03 AND AL, 01 JZ control1 MOV AL, 00 OUT 03 JMP start END In your opinion, does the above program, proposed by the programmer Gyro Programloose, solve the problem? If not, then you asked to solve, after correctly read of the successive control phases of the heating element in the Table 1, and use the appropriate code section for each case.
What conclusion can be drawn from the previous program? Write down what exactly is the problem you are asked to solve. What, in your opinion, should be the successive control phases and how will they be accomplished?
Step 2: Characterize the problem Compare the parts of the code of the above program with the examples of Table 1 in order to identify their function. What Information can you draw from the previous program so you can bring it in the proper form? Figure 1 shows the connections of the eight outputs of the port 03 (OUT 3). From the eight connections of the port 03, only the first (MSB) and the last (LSB) are used. In the Table 2, fill in the four possible exits you can get and convert them (all the eight values are equal to a byte) to the corresponding hexadecimal numbers.
The resulting hexadecimal numbers have nothing to do with those of the corresponding commands in the program? Record all the information you can obtain from the above program in order to bring it in a proper form.
Step 3: Representation of the problem In the Figure 2, is shown the flow chart of activationdeactivation of the heating element. Study it carefully, and then proceed to solve the problem.

AND AL, 01
Check if the last digit of the port 03 is logical 1.

J(Ν)Z controlΥ
If no, then go to the command that indicates the label controlY.  Step 4: Solve the problem Using the flow chart of the Figure 2, the data in the Table  1 and your findings from the Gyro Programloose study, fill in the Table 3 with the corresponding code to solve the problem.
Step 5: Reflect on the solution Transfer the above code in the simulator sms32v50 and see the results. If there is any difference on what were expecting and what you achieved, then find your errors and try to fix.  Step 6: Communicate the problem solution If the problem has solved your own group, then help your peers to complete their work by giving them advice. At the end, present with a power-point the solution of the problem and discus.
Step 7: Another perspective of the problem The charming young programmer Programmatidis solved in his own way the problem using a look-up table in memory. Run the following code, and see if it solves the problem using data in a look-up

Evaluation of the Troubleshooting Problem-Solving Methodology
The above troubleshooting methodology for teaching microprocessors was presented in a seminar of teacher professional development for improving the quality of teaching electronic technology by the author who, except of a visited lecturer of School of Pedagogical and Technological Education, is also a School Adviser of the Greek Ministry of Education. In the end up, a questionnaire for the evaluation of this methodology was given to the participants in order to express their opinion. The research methodology used is a case study.

Participants
In this seminar participated fifty-one (51) electronics teachers who teach at technical high schools in Attica, Greece.

Method of Collecting Data
A questionnaire was given to the participants which has five research questions. The research questions were given to the participants to express their opinion are the following: (1) Do you think that this teaching approach is appropriate for your students? (2) Do you think that the learner-centered approaches such this attract students' interest and they have better learning outcomes? (3) Do you think that the teacher-centered model is suitable for today's students of secondary technical education? (4) Do you want the learner-centered approaches be applied to all technical courses of electronic technology applications? (5) Do you think that this simulation software (sms32v50) is suitable for the students' education?

Experimental Procedure
After the presentation of the above problem-solving methodology, the participants were given an evaluation questionnaire to express their opinions on this problemsolving methodology. The questionnaire was completed by all fifty-one (51) teachers. The questionnaire used the Likerttype scale. The Likert-type scale has five categories (not at all, little, neutral, so much, and very much). The characterization "not at all" is coded to -2, the characterization "little" is coded to -1, the characterization "neutral" is coded to 0, the characterization "so much" is coded to 1, and the characterization "very much" is coded to 2.

Data Collection
The data collection was done by the evaluation questionnaire. In the Table 4, the amount and the percentage of the participants who selected one of the five options for each of the research questions have listed.

Data Analysis and Results
The answers of the participants about the questions, graded in the Likert-type scale, were grouped into two categories, as follows: "negative/neutral attitude" (not at all, little, and neutral), and "positive attitude" (so much, very much).
For the data analysis the chi-square statistic method was used. The null hypothesis (H 0 ) was that the amounts of the two categories (negative/neutral attitude, positive attitude) were equal (they have no statistically significant relationship).
In the Table 5, the results of the quantitative data analysis are presented.

Conclusions
According to the results of the Table 5, the null hypothesis, in which the amounts of the two categories (negative/neutral attitude, positive attitude) are assumed as equal, is rejected only for the cases 1 and 2 (the p values are less than 0.05), that is, the participants consider that the above proposed methodology is appropriate for their students (p=0.035<0.05), and that the learner-centered approaches, such as the proposed above, attract students' interest and they have better learning outcomes (p=0.0012<0.05). Table 5. Quantitative data analysis.
(1) Research question x2 p (2) Do you think that this teaching approach is appropriate for your students? 4.41 0.035 (3) Do you think that the learner-centred approaches such this attract students' interest and they have better learning outcomes?
10.37 0.0012 (4) Do you think that the teacher-centred model is suitable for today's students of secondary technical education? 0.96 0.32 (5) Do you want the learner-centred approaches be applied to all technical courses of electronic technology applications?
3.31 0.068 (6) Do you think that this simulation software (sms32v50) is suitable for the students' education? 0.49 0.48 In the other cases, the teacher-centered model is suitable for today's students of secondary technical education was not accepted by the participants (p=0.32>0.05), the learnercentered approaches should be applied to all technical courses of electronic technology applications was not accepted by the participants (p=0.068>0.05), and the simulation software sms32v50 is suitable for the students' education was not accepted by the participants (p=0.48>0.05).

Results and Discussion
In this paper, an innovative troubleshooting problemsolving methodology for teaching microprocessors at technical high schools is presented. In the beginning a description of the term troubleshooting is made and its advantages are reported. Here is a description of some teaching approaches from other researchers. The proposed methodology for the teaching of microprocessors is extensively described.
The methodology was presented in a seminar of teacher professional development for improving the quality of teaching electronics in technical high schools, and in the end up, a questionnaire for the evaluation of this methodology is given to the participants in order to express their views.
The participants consider that the proposed methodology for the teaching microprocessors is appropriate for their students, and that the learner-centered approaches, in general, attract students' interest and they have better learning outcomes. Also, they consider that the teacher-centered model is not suitable for today's students of secondary technical education. Moreover, they consider that the simulation software sms32v50 is not suitable for the students' education, and that the learner-centered approaches are not appropriate to all technical courses of electronic technology applications.
In the future, is planned a research on the effectiveness of this methodology.