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

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Internetteknologi (ITNET1) Extra Presentation Java IDE Tool Support.
SDC PUBLICATIONS © 2012 Introduction Learning Objectives: Basic Computer Aided Design and Computer Aided Engineering Terminology Development of Computer.
ArchE Presented By Samanvitha Ramayanam. TOPICS 1. Introduction 2. Theoretical assumptions 3. ArchE as an expert system 4. Overall flow of ArchE 5. Key.
Part 1: Introducing User Interface Design Chapter 1: Introduction –Why the User Interface Matters –Computers are Ubiquitous –The Importance of Good User.
Architecture Eclipse Framework with Plugin Concept JTransformer Plugin Analysis + Transformation interface: logical Program.language keeps representation.
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Reasons to study concepts of PL
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Visual Basic Prototyping Visual Basic uses both a Visual Editor and is Code Based. With several simple lines of code, Visual Basic will navigate between.
Chapter 2: Understanding and conceptualizing interaction
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
BizTalk Deployment using Visual Studio Release Management
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
By for Test Driven Development: Industry practice and teaching tool Robert Vanderwall, Ph.D. 1 WISTPC-15.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Methods of teaching programming at high schools and universities Vera Dron,
Rapid application development
PROGRAMMING LANGUAGES The Study of Programming Languages.
DEVSENSE s.r.o.. Visual Studio Industry Partner DEVSENSE s.r.o. NEXT STEPS Contact us at: In 2009, DEVSENSE was founded by four software.
ProgrammingLanguages Programming Languages Event-Driven Visual Programming Languages This lecture discusses the basic concepts of the event-driven programming.
Object Oriented Programming CEN 221. Course Description Classes, objects, inheritance, polymorphism, graphical user interfaces, event handling, exception.
Software Concepts. Software & Hardware? Computer Instructions or data, anything that can be stored electronically is Software. Hardware is one that is.
Future Directions: Building Customizable Applications using.NET Eric Schnepp TLN205 Lead Program Manager Microsoft Corporation.
Visual Basic Advanced Programming.
Platform Support for Developing Analysis and Testing Plugins Shauvik Roy Choudhary with Jeremy Duvall, Wei Jin, Dan Zhao, Alessandro Orso School of Computer.
Integrated Development Environments (IDEs) CS 21a: Introduction to Computing I First Semester,
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
CTE Literacy Support Session 3 Using Templates for Scaffolding Student Writing Feedback and evaluation of student writing.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Twelfth Edition.
1 The Instant Data Warehouse Released 15/01/ Hello and Welcome!! Today I am very pleased to announce the release of the 'Instant Data Warehouse'.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
Productivity Tools Ken Nguyen Department of Information Technology Clayton State University.
Visual Linker Prototype presentation.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
First BlueJ Day Houston, 2006 Unit Testing with BlueJ Bruce Quig Deakin University.
B065: PROGRAMMING Sub Procedures I. Starter  Identify the separate tasks to be performed in the programming task below (break it down into numbered sections).
Workpackage 3 Overall presentation 9.45 – Outline 2 Workpackage 39:45 until 11:30 -WP3 overview09.45 – Deliverable – AtGentSchool.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on “Java Development with Ant” - E. Hatcher & S.Loughran.
DrJava A lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University
Compiler Construction (CS-636)
Architecture for an Ontology and Web Service Modelling Studio Michael Felderer & Holger Lausen DERI Innsbruck Frankfurt,
Software Engineering Lecture # 1.
 Programming - the process of creating computer programs.
Modern Design Principles (MS). Hubs & spoke navigation pattern Hierarchical pattern Best for large collections of related content Content is separated.
Storage dashboard Status report A.Baranovski 12/10/07.
Programming Languages
Your name Visualization of abstract syntax trees.
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Aims: 1) Teach the applications of JavaScript 2) Wide use of examples 3) Tests and Quizzes with instant feedback 4) Advantages over a textbook 5) Aimed.
DS(M)Ls for End-Users and Domain Experts? Panel on Creating DSLs Models in Software Engineering Workshop Zurich, Switzerland June 3, 2012 Jeff Gray University.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
1 Using Rational Rose ® to construct UML diagrams.
Introduction to Computer Programming using Fortran 77.
© 2010 IBM Corporation What’s New in RSA 8.0 Beta 1 – Visual Basic modeling March, 2010.
Mind Mapping Software: Uses and Benefits for Education.
Computer Programming - Key Concepts and Terms Computer Program – A computer program is a set of instructions for computer, arranged in logical order, using.
Visual Linker ADD presentation. slide 2  Project Overview And Vision  Project System View  The System Life Cycle  Data Model and.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Assembler, Compiler, Interpreter
Assembler, Compiler, Interpreter
Agile testing for web API with Postman
CSCI 3328 Object Oriented Programming in C# Review: Exam I
Presentation transcript:

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

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

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++

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

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

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

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

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