A Concept Map based Teaching of Compiler Design for Undergraduate Students


  • Venkatesan Subramanian Indian Institute of Information Technology image/svg+xml
  • Kalaivany Karthikeyan Independent Researcher, Australia
  • Pallapa Venkataram Indian Institute of Science Bangalore image/svg+xml




Compiler Design, Concept Map, Computer Science education, Teaching


In undergraduate engineering, most of the subjects do not have the open visibility of the Industry and Research requirements. Students are interested mostly on subjects which are useful for Industry placement. They do not show interest in non-open visibility subjects if an instructor teaches by simply following the textbook. Considering this, we presented a concept map based teaching methodology with Research and Industry assignments and problems. The proposed methodology focus on improving the teaching quality and students’ understanding level. In this paper, we have taken the Compiler Design subject and presented the concept map. To understand the eectiveness of the proposed methodology, the students feedback was collected and evaluated using the sign-test and the students’ submitted problems and assignments were evaluated to understand their level. The analysis results show that most of students studied Compiler Design with interest as a result of proposed teaching methodology.


Vries, M.J.D. and Stroeken, J.H.M. (1996) Developing engineering students’ research and technology assess-ment abilities 6: 203–219.

Novak, J.D. and nas, A.J.C., The theory underlying concept maps and how to construct them.

Novak, J.D. (1977), A theory of education.

C. Chioua, L.T. and Lee, L. (2015) E ects on learning of multimedia animation combined with multidimensional concept maps 80: 211–223.

A. M. B. Pavani, G.P.T. and Calliari, F. (2020) Concept maps and self regulated learning: an exploratory study. In 2020 IEEE Global Engineering Education Conference (EDUCON): 1149–1158.

Liu, H. (1993) Software engineering practice in an undergraduate compiler course 36(1): 104–108.

A. Demaille, R.L. and Perrot, B. (2008) A set of tools to teach compiler construction. In 13th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE’08): 68–72.

Xu, L. and Martin, F.G. (2006) Chirp on crickets: Teaching compilers using an embedded robot controller. In 37th SIGCSE technical symposium on Computer science education, 38: 82–86.

Henry, T.R. (2005) Teaching compiler construction using a domain specific language. In 36th SIGCSE technical symposium on Computer science education, 37: 7–11.

E. White, R.S. and Stewart, N. (2005) Hide and show: Using real compiler code for teaching. In 36th SIGCSE technical symposium on Computer science education, 37: 12–16.

Vegdahl, S.R. (2000) Using visualization tools to teach compiler design. In Fourteenth Annual Consortium on Small Colleges South eastern Conference (CCSC ’00): 72–83.

Mernik, M. and ˇ Zumer, V. (2003) An educational tool for teaching compiler construction 46(1): 61–68.

Shapiro, H.D. and Mickunas, M.D. (1976) A new approach to teaching a first course in compiler construc-tion. In ACM SIGCSE-SIGCUE technical symposium on Computer science and education: 158–166.

Ruckert, M. (2007) Teaching compiler construction and language design: Making the case for unusual compiler projects with postscript as the target language. In ACM SIGCSE-SIGCUE technical symposium on Computer science and education, 39: 435–439.

Kundra, D. and Sureka, A. (2016) Application of case-based teaching and learning in compiler design course. In arXiv:1611.00271v1 [cs.PL].

Kundra, D. and Sureka, A. (2016) An experience report on teaching compiler design concepts using case-based and project-based learning approaches. In International Conference on Technology for Education (T4E 2016).

Wang, N. and Li, L. (2019) Teaching reform on compiling principal course. In The 14th International Conference on Computer Science & Education: 258–261.

Velásquez, J. (2018) bcc: A suite of tools for introducing compiler construction techniques in the classroom 16(12): 2941–2946.

K. Abe, T. Tateoka, M.S.Y.M.K.K. and Watanabe, T.(2004) An integrated laboratory for processor organiza-tion, compiler design, and computer networking 47(3): 311–320.

Velásquez, J. (2018) Automatic assessment of program-ming projects in a compiler construction course 16(12): 2904–2909.

Nolen, S.B. and Koretsky, M.D. (2018) A ordances of virtual and physical laboratory projects for instructional design: Impacts on student engagement 61(3): 226–233.

M. Frank, I.L. and Elata, D. (2003) Implementing the project-based learning approach in an academic engineering course 13: 273–288.

J. Àngel Velàzquez-Iturbide, I.H.L. and Paredes-Velasco, M. (2017) Evaluating the e ect of program visualization on student motivation 60(3): 238–245.

I. Estévez-Ayres, C. Alario-Hoyos, M.P.S.A.P.R.M.C.G.D.L.H.A.P.G. and Delgado-Kloos, C. (2015) A methodology for improving active learning engineering courses with a large number of students and teachers through feedback gathering and iterative refinement 25: 387–408.

F. Ortin, D.Z. and Cueva, J.M. (2007) Design patterns for teaching type checking in a compiler construction course 50(3): 273–283.

S. Sangal, S. Kataria, T.T.N.G.Y.K.S.A. and Chakraborty, P. (2018) Pavt: a tool to visualize and teach parsing algorithms, education and information technologies 23(6): 2737–2764.

Resler, R.D. and Deaver, D.M. (1998) Vcoco: a visualisation tool for teaching compilers. In 6th annual conference on the teaching of computing and the 3rd annual conference on Integrating technology into computer science education: Changing the delivery of computer science education, 30: 99–102.

Karkare, A. and Agrawal, N. (2016) Parseit: A tool for teaching parsing techniques. In 47th ACM Technical Symposium on Computing Science Education: 590.

Erdil, D.C. (2020) A project-based learning approach to teaching computer architecture 6(19).

Conover, W.J. (1999) The sign test : 157–176.

Worm, G. The sign test .

Subramanian, V. and Natarajan, K. (2019) Simplifica-tion of compiler design course teaching using concept maps. In 7th International Conference on Information Tech-nology in Education (ICITE 2019), 9: 91–102.

A. V. Aho, M. S. Lam, R.S. and Ullman, J.D.(2006) Compilers: Principles, techniques and tools. In 37th SIGCSE technical symposium on Computer science education.

Part i: Lexical analysis slides .

S. Biswas, D.Sengupta, R.B. and Handique, M. (2016) Text manipulation using regular expressions. In 6th International Conference on Advanced Computing: 62–67.

Jamhour, A. and Garcia, C. (2012) Automation of industrial serial processes based on finite state machines. In 20th International Congress of Chemical and Process Engineering: 186–196.

Ramirez, J. Finite-state machines: Better than flowcharts .

Schreiner, A. and Kühl, B. Object-oriented compiler construction .

Ntagwabira, L. and Kang, S.L. (2010) Use of query tokenization to detect and prevent sql injection attacks. In 3rd IEEE International Conference on Computer Science and Information Technology (ICCSIT): 438–440.

Raj, M.P.M. and Aditya, S. (2017) Predictive model for movie’s success and sentiment analysis 6: 1–7.

S. A. Crossley, K.K. and McNamara, D.S. (2017) Sen-timent analysis and social cognition engine (seance):an automatic tool for sentiment, social cognition,and social-order analysis 6: 803–821.

Z. Ren, Y.Z. and Wang, S. (2017) A hybrid framework for lung cancer classification 11(10).

S. Wang, P. Phillips, Y.S.B.L.M.Y.H.C. (2018) Classifica-tion of alzheimer’s disease based on eight-layer convo-lutional neural network with leaky rectified linear unit and max pooling 42(5).




How to Cite

V. Subramanian, K. Karthikeyan, and P. Venkataram, “A Concept Map based Teaching of Compiler Design for Undergraduate Students”, EAI Endorsed Trans e-Learn, vol. 8, no. 1, p. e4, Aug. 2022.