It is true that most college undergraduate programs in Computer Science include a course or two in Compiler design and it is also true that most students never think twice about compilers neither before nor after the course. I personally never even thought about a job developing compilers or studding them.
According to the article “Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler” by Saumya Debray, many subjects studied during a Compilers design course can be applied more broadly in other computational problems by generalizing some components. The text follows with two examples, “Dot: A Graph-Drawing Tool” to create a drawing from a graph and “Translating LaTeX to HTML” that allows people to change their Latex documents into HTML for sharing via web page. This two examples allows the students to visualize and apply subjects and logic that is usually reserved for compilers in other problems that exist in the real world and outside the Compilers design course which in my opinion is a great way to get students involved and to practice more of what they have learn during this course and the other courses.
After this the author gets deeper in what makes a compiler and discusses how each phase of an execution of a compiler can be useful in other problems. The phases of a compiler are:
· lexical analysis and parsing
· semantic analysis
· code generation
· code optimization.
I will not go on explaining each phase like the author of the article so kindly explained. But I will point out that the importance on understanding and being able to apply each phase in different situations is very important. I agree with the author in that approaching problems with and structuralize idea and simplifying it can make your life so much better.
I agree with this article I wish more courses would try to be less narrow on their subject and try to let students see how it can be applied more broadly on other computational problems.
Reference:
Saumya
Debray, S. Making Compiler Design Relevant for Students who will (Most
Likely) Never Design a Compiler*. Retrieved 25 August 2020, from
http://34.212.143.74/s202013/tc3048/making_compiler_design_relevant_for_students.pdf
No hay comentarios:
Publicar un comentario