Programming by Numbers: A Programming Method for Novices

  title={Programming by Numbers: A Programming Method for Novices},
  author={Hugh Glaser and Pieter H. Hartel and Paul W. Garratt},
  journal={Comput. J.},
Students often have difficulty with the minutiae of program construction. We introduce the idea of `Programming by Numbers', which breaks some of the programming process down into smaller steps, giving such students a way into the process of Programming in the Small. Programming by Numbers does not add intellectual difficulty to learning programming, as it does not require the student to learn additional tools or theory. In fact it can be done with pencil and paper or the normal editor, and… 

The Functional “C” experience

This paper summarises the essence of the approach, which is based on program transformation, and presents the experience teaching functional C at the Universities of Southampton and Bristol.

The TeachScheme! Project: Computing and Programming for Every Student

The TeachScheme! Project aims to reform three aspects of introductory programming courses in secondary schools. First, we use a design method that asks students to develop programs in a stepwise

Toward a Framework of Programming

  • F. Lau
  • Computer Science, Education
  • 2009
The term “programming pedagogy” refers to any instructional methods and strategies which are used to teach students introductory programming, and is focused on approaches of teaching computer programing.

Toward a Framework of Programming Pedagogy

The term “programming pedagogy” here refers to any instructional methods and strategies which are used to teach students introductory programming, and is focused on approaches of teaching computer programing.

A process for novice programming using goals and plans

This work presents a simple notation for designing programs in terms of data flow networks of goals and plans, and defines a detailed process that uses this notation, and that ultimately results in a program in a visual programming language (BYOB).

Teaching novice programming using goals and plans in a visual notation

A new approach for teaching novice programming, which is both easy to introduce and effective in improving novice learning, is developed using a visual programming language and a detailed process for using existing plans and building new plans in the VPE is described.

Four approaches to teaching programming

It is asserted that competency in programming cannot be achieved without mastering each of the approaches, at least to some extent, and use of the approach in combination could provide novice programmers with the opportunities to acquire a full range of knowledge, understanding, and skills.

Softening the Complexity of Intelligent Systems Programming

An alternative which provides a suite of programming tools designed to aid students' progress with practical symbolic computation and demonstrates their efficacy in simplifying practical aspects of IS programming is described.

Avoiding Knotty Structures in Design: Schematic Functional Programming

It is concluded that the marriage between a functional language and its graphical representation overcomes most of the original criticisms of graphical programming and makes a viable and expressive tool for industrial scale applications.

Teaching in Visual Programming Environments

The recent use of visual programming environments in classrooms and its effectiveness are examined, predicting that with a trend towards user friendliness, there will be a gradual shift from concept-textual pedagogy to concept-visual pedagogue, which is realised through visual programming.



Functional C

Functional C provides a deep understanding of the differences between functional and imperative programming problem solving techniques used throughout with a wealth of examples and exercises.

Use of Program Schemata in Lisp Programming: an Evaluation of its Impact on Learning

The approach and experience with teaching fundamentals of functional programming by program schemata construction and explanation is described and experiments are reported that allow to judge quite favourably the approach to teaching functional (Lisp) programming when the student learns a set of program Schemata and how to apply them.

A declarative laboratory approach for discrete structures, logic, and computability

The lab component is created for a year long sophomore course in discrete structures, logic, and computability for students majoring in computer science or computer engineering and consists of experiments in declarative programming environments.

Java as a first language: an evaluation

This note outlines some issues raised in considering the use of the programming language JavaTM to support a first course in software development, and enumerates some aspects of the Java language that attracted interest.

Introduction to Programming Using Java: An Object-Oriented Approach, Java 2 Update, JavaPlace Edition

Object-oriented concepts from the very beginning--classes, objects, and messages are all introduced in Chapter 1--and develops them throughout, applying a consistent class design procedure, usable by beginners.

Programming pedagogy—a psychological overview

A brief overview of some of the more important results concerning computer programming and how they can affect course design is given.

Report on the programming language Haskell: a non-strict, purely functional language version 1.2

"Some half dozen persons have written technically on combinatory logic, and most of these, including ourselves, have published something erroneous"; this is regarded as evidence that the subject is refractory.

Elements of ML programming

A perspective on ML and SML/NJ and how to program with Datatypes and Solutions to Selected Exercises are presented.

ZTC: A Type Checker for Z User's Guide

This document is intended to serve as both a user's guide and a reference manual of ZTC, a type checker for the Z speciication language.