Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++ Code Generation For High School Visual Development CPSC501 James Maxlow November 26 th, 2002.

Similar presentations


Presentation on theme: "C++ Code Generation For High School Visual Development CPSC501 James Maxlow November 26 th, 2002."— Presentation transcript:

1 C++ Code Generation For High School Visual Development CPSC501 James Maxlow November 26 th, 2002

2 Proposal Visual tools will be created to aid in code writing for high school programming students Visual tools will be created to aid in code writing for high school programming students Tools will generate C++ code for those new to C++ programming, breaking the syntax barrier Tools will generate C++ code for those new to C++ programming, breaking the syntax barrier Achieved through the development of plugins for two leading visual IDEs Achieved through the development of plugins for two leading visual IDEs

3 Reasoning C++ is often not the first language used by h.s. students due to its relative syntactic complexity C++ is often not the first language used by h.s. students due to its relative syntactic complexity C++ is often the language of advanced h.s. students, and of the industry C++ is often the language of advanced h.s. students, and of the industry Time is lost learning other languages (Fortran, Pascal, Basic variants) that could be better spent on C++ Time is lost learning other languages (Fortran, Pascal, Basic variants) that could be better spent on C++

4 Reasoning The syntax barrier can be removed through visual development tools The syntax barrier can be removed through visual development tools Students can learn core programming concepts from the start Students can learn core programming concepts from the start There will be no repetition of learning equivalent language constructs There will be no repetition of learning equivalent language constructs Students can benefit from using complex, working code without having to create it on their own Students can benefit from using complex, working code without having to create it on their own

5 Example 1: User selects construct 2: User selects all associated parameters 3: Code is generated, cursor is placed within construct

6 Code Generation = Bad Programming? Students learn universal programming concepts Students learn universal programming concepts Students are introduced to code generators Students are introduced to code generators Students learn syntax through interaction with code generator Students learn syntax through interaction with code generator Students move towards coding by hand as they become more experienced Students move towards coding by hand as they become more experienced Code Generation != Bad Programming Code Generation != Bad Programming

7 What Would I Actually Do? Choose which language structures will be generated Choose which language structures will be generated Learn plugin framework for Visual Studio Learn plugin framework for Visual Studio Write code generation plugins Write code generation plugins Test Test Learn, Write, Test for CodeWarrior Learn, Write, Test for CodeWarrior Release under GPL Release under GPL Gather feedback from usage by students Gather feedback from usage by students

8 Summary C++ is not introduced to beginning programming students yet is one of two main languages used in advanced h.s. and industry programming C++ is not introduced to beginning programming students yet is one of two main languages used in advanced h.s. and industry programming Visual code generation tools can ease beginning students into C++, focusing their h.s. experience on one language Visual code generation tools can ease beginning students into C++, focusing their h.s. experience on one language Such tools can be written and integrated into IDEs under a plugin framework Such tools can be written and integrated into IDEs under a plugin framework


Download ppt "C++ Code Generation For High School Visual Development CPSC501 James Maxlow November 26 th, 2002."

Similar presentations


Ads by Google