Motivation and Goal - Why study?
Computer science educators are currently faced with problems of students failing or withdrawing from the beginning programming courses because of their inability to assimilate basic concepts taught at the early stage.
New empirical studies will reveal some of the problems with current programming issues, why they have these difficulties, and explores possible solutions. Study of novice programmers will improve both productivity and quality of programming and the educational techniques used for the training of programmers
Learning programming environments have contributed to the effective teaching and learning of programming. Due to its accessibility and variation of choices (customized experiences), the use of web has facilitated the learning of programming.
What is a Plan?
A plan is an abstraction of a concept, requirement, programming code, object, and other sub-plans. A plan has a goal or purpose within a particular time and context and can be integrated with other plans to build a larger plan.
Origin of Plans
The idea of plan used in programming builds on the concept of script and plans used for structured knowledge representation in natural language processing
Programming Plan
Plans are template-like solutions used in problem solving. A Plan is represented in programming as a set of
code segments that together perform a task in solving a problem. Plans may be a single statement
(e.g. Increment Plan), or may be more complex, consisting of several sub-plans e.g. Sort Plan [Ebrahimi, 92].
Programming knowledge can be represented by five cognitive levels: lexical, syntactic, semantic, schematic,
and conceptual. The schematic level refers to groups of statements which together form a programming plan.
The relationship between these plans is represented in a hierarchical format.
The major problem for students appears to be making the leap from understanding individual program statements to
the tasks accomplished by groups of statements. [Liffick, 96]
Plan and Plan Composition Errors
Novices may not detect negative interactions between sections of code that are locally correct, but globally incorrect.
Plan composition understanding is crucial for novice programmers to correctly put together the pieces of a program to solve a given problem.
Plan Integration Modes (Plan Spatial Relationships)
A programming problem (a plan) is divided into several plans (sub-plans) that at each time two plans can be combined according to the following methods: appended, embedded, interleaved, and branched.
Plan integration tests and reinforces learners understanding of the relationship between plans such as to how the plans are put together, spatial relationships, and order.
Assesses Novices at an Early Stage and Provides Feedback
Since most novice programming errors arise from mismanagement of the plans - incorrect plan composition, novice programmers will be assessed based on their ability to correctly implement the plans and integrate them with each other. Problems will be resolved at an early stage, rather than at the completion of the program. Profiles will include information about plan mismanagement which will be an indicator of student comprehension and performance.
Today, it makes more sense to identify a system by its functions, rather than by users
IT in SUMMATION
****Systems analysts need a combination of technical and business knowledge, analytical ability, and communication ****