June 14, 2015
June 14, 2015
June 17, 2015
Electrical and Computer
26.576.1 - 26.576.10
Effect of extended use of an executable flowchart for teaching C languageTeaching C language programming to students is a daunting task, especially to thosewithout any experience in computer programming. In order to improve learning outcomes,we built an executable flowchart language called CFL, which stands for “C-like FlowchartLanguage.” We thought CFL may help for several reasons. First, laying out graphicalsymbols is far easier than constructing a textual program. Second, stepwise executionenables the students to actually see the changes made in each step. The visualizationhighlights not only the variable values, but also the flow of control, input and output, andactivation record of function calls. Third, the syntax and semantics of CFL are designed inline with the C programming language, which makes it easy to transition from CFL to Clanguage. For instance, the input node uses syntactically simplified versions of scanf andgetchar. Last but not least, CFL is more fun to learn than C language. Currently it isimplemented as a Java applet. It has been shown elsewhere that CFL improves the learningspeed in a very short-term (2 hours) experiment. This time, we extended the use of CFL to4 weeks in an actual college class, and examined the effect. In order to see if CFL can really help students, we conducted an experiment asfollows. We had two classes of C programming language course for freshmen, taught bythe same instructor. The 4 credit-hour course consists of lecturing and laboratory exercises.One class - the control group - is taught by the traditional approach for the whole 16-weeksemester. The other class - the test group - learned only CFL for the first four weeks, andthen started learning C language. Topics for the first four weeks included CFL variables,assignments, conditionals, repetition, arrays, writing functions, event-driven processing,and simple graphics. Programming assignments in CFL included sorting, searching, and asimple game using graphics and a mouse. In terms of complexity, these are far moreadvanced than the assignments for the control group. In the final exam, three programming tasks where given to students in both groups. Wefound that the pass rates of the test group are significantly higher in two tasks and slightlyhigher in one task than those of the control group (Table 1). At the end of the semester,90.9% of the test group students passed the course, while only 72.4% of the control groupstudents passed. The pass rates of the course for the last 5 years ranged from 68% to 80%. Table 1. Test Results: pass rate for each task and course pass rate Task 1 Task 2 Task 3 course pass rate Test group 59.1% 68.2% 45.5% 90.9% Control group 58.6% 41.4% 27.6% 72.4%From the results of the experiment, we conclude that learning programming in CFL beforelearning C language not only makes up for the time spent, but also has a measurableoverall benefit to the students. Next year, we plan to conduct similar experiment, extendingthe CFL programming to 6 weeks.100.0% 90.0% 80.0% 70.0% 60.0% 50.0% Test group 40.0% Control group 30.0% 20.0% 10.0% 0.0% Task 1 Task 2 Task 3 course pass rate Figure 1. Bar chart equivalent of Table 1.
Sehyeong, C. (2015, June), Effect of Extended Use of an Executable Flowchart for Teaching C Language Paper presented at 2015 ASEE Annual Conference & Exposition, Seattle, Washington. 10.18260/p.23914
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2015 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015