Visual Logic provides a minimal-syntax introduction to essential programming concepts including variables, input, assignment, output, conditions, loops, procedures, arrays and files. Based on research that shows students have more success when they start by focusing on concepts rather than syntax, Visual Logic allows instructors to present material in a clear and illustrated manner. Programming fundamentals are covered in an appropriate problem-solving context, empowering rather than overwhelming the student.
The Visual Logic approach is consistent with National Curriculum Models:
- IS'97 (revised as IS 2001) provides model curriculum and guidelines for undergraduate degree programs in Information Systems. IS'97 topics for the programming course (IS'97.5) includes "algorithm development; objects and event driven representations; data flow notation; programming control structures; program correctness, verification, and validation." It is interesting to note that no specific language syntax is mentioned. This is consistent with our focus that skills, not syntax, should be the focus of an introductory programming course.
- Computing Curricula 2001 (www.acm.org/sigcse/cc2001/). The CC2001 report includes a call for course designs of various types, including a minimal-syntax approach, described below:
- "By introducing students to basic algorithmic concepts and constructs apart from any particular executable language, this approach minimizes the preoccupation with syntactic detail that demands for successful program execution typically engender among students. Instead, it requires that students reason about and explain the algorithms they construct...
- "Once students have a solid grasp of the algorithmic foundations and the range of data and control structures [...], they can then move on to a more conventional language, either partway through the first course or, at the latest, the beginning of the second course. Because students have experienced a wider range of both data and control structures early, their later progress through conventional programming work can occur more rapidly and class time can be more explicitly focused on issues of effective programming practices and systematic debugging skills."