Reading: Ten-statement spiral BASIC : from calculator to computer
Book 1) BAM Programming
Introduction
About Computer Programming
https://en.wikipedia.org/wiki/Computer_programming
First, What is a Computer (better yet, what is a computing platform)
https://en.wikipedia.org/wiki/Computer
https://en.wikipedia.org/wiki/Classes_of_computers
https://en.wikipedia.org/wiki/Computing_platform
https://en.wikipedia.org/wiki/Software_engine
https://en.wikipedia.org/wiki/Mobile_device
https://en.wikipedia.org/wiki/Single-board_computer
https://en.wikipedia.org/wiki/Embedded_system
https://en.wikipedia.org/wiki/Fantasy_video_game_console
Programming in BASIC (Chapter 3, the basics of computation)
What is Programming
https://en.wikipedia.org/wiki/Outline_of_computer_programming
https://en.wikipedia.org/wiki/Version_control
https://en.wikipedia.org/wiki/Software_testing
https://en.wikipedia.org/wiki/Software_deployment
https://en.wikipedia.org/wiki/Execution_(computing)
https://en.wikipedia.org/wiki/Software_development_process
https://en.wikipedia.org/wiki/Change_management_(engineering)
https://en.wikipedia.org/wiki/Requirements_management
https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf
https://www3.cs.stonybrook.edu/~pfodor/courses/CSE260/_L01_Introduction_Programming_Languages.pdf
What is a Program
https://en.wikipedia.org/wiki/Computer_program
Applied BASIC programming (p35)
Fundamentals of programming in BASIC : a structured approach (p.11)
What is a Programming Language
https://en.wikipedia.org/wiki/General-purpose_programming_language
https://en.wikipedia.org/wiki/Programming_paradigm
https://en.wikipedia.org/wiki/Execution_(computing)
https://en.wikipedia.org/wiki/Integrated_development_environment
Example Programming Languages
https://en.m.wikipedia.org/wiki/Comparison_of_programming_languages
https://www.kdnuggets.com/2021/05/top-programming-languages.html
https://www.futurelearn.com/info/blog/what-are-different-programming-languages-used-for
Common Elements/Fundamentals in Programming Languages
https://en.m.wikipedia.org/wiki/Category:Programming_constructs
https://en.m.wikipedia.org/wiki/Category:Programming_language_concepts
https://en.m.wikipedia.org/wiki/Category:Programming_language_topics
Syntax
https://en.wikipedia.org/wiki/Syntax_(programming_languages)
https://en.wikipedia.org/wiki/Comparison_of_programming_languages_(syntax)
Data Types and Values
Typing System (strong vs weak/loose)
Data Type Sigils
Literals
Numbers
Integers
Floating-Point Numbers
Strings
Type Conversion
Constants
Variables
Arrays
Records (aka Types, Structs, Structures)
Delimiters
Identifiers
Naming conventions
https://en.wikipedia.org/wiki/Naming_convention_(programming)
Labels
Punctuation and Symbols (BASIC 2 Plus Reference)
Types of instructions
Statements
statement separators
statement terminators
line continuation
Declarations Comments
Input and Output
Operators and Expressions
Bitwise Operators
Boolean Expressions
Relational, aka Comparison, Operators (=, >, <, <>, >=, <=)
Conditional aka Logical Operators (AND, NOT, OR, XOR)
Assignment
Arithmetic
String Concatenation
Order of Operations
Control Flow / Structures
Sequence
Branching
Conditionals (DecisionStructures)
Loops
Functions
User-Defined Functions
Subroutines
Parameters
Defaults
Keywords
Reserved Words
Algorithms
Block Programming
Language Constructs
Libraries and Include Directives
About BASIC
History of BASIC
Hello World !
SQUART
Entering BASIC
Classic Elements/Fundamentals of BASIC
Line Identifiers
Spacing
Character Set
Line Length
Constants and Variables
Arithmetic and Relational Operators
Types of Programming Statements
Remark Statements
Value Assignment Statements
Input Statements
Processing and computation statements
Output Statements
Control Statements
Functions
Numbers and Strings
E Notation
Expressions
Programming Paradigms
Non-Structured
Structured
Object-Oriented
Overview of BASIC and BASIC-like Dialects
About BASIC Anywhere Machine
Inception
wwwBASIC
TiddlyWiki
REM, INPUT, _PROMPT, PRINT, END, LET
Hello World !
Hello You !
SQUART
Elements/Fundamentals of BASIC Anywhere Machine
Programming Paradigms
Non-Structured
Structured
Metaprogramming
References
Learning BASIC programming essentials
True BASIC : the original from the inventors of BASIC : Bronze edition guide for Windows and MasOS (Chapters 1 and 2)
True BASIC--a complete manual (Chapter 1)
Waterloo BASIC : a structured programming approach (Chapter 1)
A program consists of a set of instructions which define actions to be performed by the computer. These instructions must be expressed in a language which the computer can recognize and understand. BASIC is a language which is designed to be a straightforward means of expressing instructions to the computer. A BASIC program is composed of statements: a statement which instructs the computer to perform an action is termed executable; one which defines characteristics of the program is termed declarative; and one which provides descriptive information to a person examining the program is termed a comment. Typically, each BASIC statement appears on a separate line. The order of lines in the program is determined by a line number which appears on the left side of each line.
Rules About Programs
Line Numbers Use of Spaces
keywords Comments
blank lines multiple statements per line
END statement multiple-line statements
Data Fundamentals and Essential Elements I
Data, Data Value Storage and Data Operations
Definitions
Data and Data Types
Strings
STRING
Numbers
BYTE SHORT LONG aka INTEGER
SINGLE DOUBLE
Literals
ASCII Character Set
Operations and Expressions
Strings
Numbers
Order of Operations
Program Data
Named Value Storage
Identifiers and Naming Conventions
Variables Constants
System Data
DATE$, NOW$, TIME$ TIMER
Declaring Data Value Storage
Variables
VAR or DIM
LET
Block Declarations
DEFSTR
DEFINT DEFLNG
DEFSNG DEFDBL
Constants
CONST
SHARED
Initialisation
Storing, Retrieving, and Using Values
Operations and Expressions
Manipulation
Value Assignment
SWAP
Input/Output
_PROMPT INPUT INPUT$ CONFIRM
PRINT WRITE INKEY$ ALERT
Embedded Data
DATA
Quotation marks, commas
READ
References
QuickBASIC in plain English (chapter 5)
Functions
Definitions
About Functions
STRING Functions
Number Functions
Conversion Functions
String Functions
ASC, CHR$
ASCII Character Set 2
INSTR, LEN
LCASE$, UCASE$
LEFT$, MID$ RIGHT$
LTRIM$, RTRIM$, REPLACE$
SPACE$, SPC, STRING$, TAB
Number Functions
Arithmetic
ABS, EXP, LOG, SQR
Trigonometric
_ATAN2, ATN, COS, SIN, TAN
_PI
Other
LOG, RND
Conversion Functions
VAL, STR$
HEX$, OCT$, _BIN$
CINT, INT, FIX
_D2R, _R2D
References
Let's program it ... in True BASIC (chapter 5)
Control Flow and Control Structures
Primitives
Labels (line identifiers)
Sequence
Goto (unconditional transfer of control
Gosub (subroutines)
Comparing and Decision-Making
IF THEN ELSE
SELECT CASE
Logical Operations and Expressions
Nesting
Branching
GOTO
ON GOTO
IF THEN/GOTO SHORTHAND
Programming for Repetition (Loops)
Count-Controlled Loops
FOR NEXT
STEP
Condition-Controlled Loops
WHILE WEND, DO WHILE WEND, DO WHILE LOOP
DO LOOP WHILE
DO LOOP UNTIL
Infinite Loops
GOTO
DO LOOP
Nested Loops
Early Exit From Loops
https://en.wikipedia.org/wiki/Control_flow
Data Fundamentals and Essential Elements II
Data Structures
Variables are normally quite independent, but you can organise them into two types of larger structures: arrays and composite types. Arrays are used for grouping variables which are all of the same type: a block of strings, or a block of integers, etc. Composite types are used for grouping related variables which may be of different types: a person's name, age, address and income, for instance. - BASIC 2 Plus Reference
Arrays
Definitions
Single-Dimensional Arrays
Two-Dimensional Arrays
Three-Dimensional Arrays
Multi-Dimensional Arrays
Variable Arrays and Constant Arrays
Declaring Arrays
Variables
DIM or VAR
Constants
CONST
OPTION BASE
SHARED
Initialisation
Using Arrays
Operations and Expressions
Manipulation
Value Assignment
SWAP
REDIM
Input/Output of Array Data
Composite Type
Global Key-Value Pairs
READ, DATA, RESTORE 2
READ
DATA
Quotation marks, commas
RESTORE
line identifiers Program Structure Elements
End of Data Markers
More Input and Output
Input and Output 2
Clipboard
screen
CLS, INKEY
Positioning Text on the screen
Input and Output 3
Clipboard
Write etc.
Formatted Output
CHARACTER SET
SCREEN
_newimage
WIDTH
CLS
LOCATE
COLOR
PRINT
PRINT USING
Modular Programming I
User-Defined Functions
DEF FN
DEFDV
FUNCTION
Subroutines
GOSUB-RETURN
ON GOSUB-RETURN Decision-Making
SUB
The Good Programmer and Good Programming
Program Structure and Style
Program Structure Elements
Single Line, Multiple Statements
Line Continuation
Indentation
Blank Lines
Spaces
Line Identifiers
Comments
Single entry and single exit points
Fundamentals of programming in BASIC : a structured approach (p.180)
Meaningful Identifiers Line Numbers of same length DATA statements after main program
Brackets in complex expressions Indentation GOTO
Avoid too many levels of nesting Remarks
Properties of Good Programs
https://en.wikipedia.org/wiki/Computer_programming#Modern_programming
Reliability, Robustness, Usability, Portability, Maintainability, Efficiency/Performance
Programming in BASIC : problem solving with structure and style (Chapter 6)
Testing, Debugging, and Error Messages
Errors Debugging
Error Detection and Correction
Error Routines and Logic Tests?
Book 2) Graphics, Animation and Sound
Text Graphics
ASCII Character Set 3
References
Programming in BASIC : problem solving with structure and style (Chapter 12)
Topics
Screen Graphics Coordinates and Pixels
Plotting Individual Points
Drawing a Line
Sketching a Figure
Animation
Detecting Collisions
Pixel Graphics
SCREEN
Screen Modes
_NEWIMAGE
COLOR
CLS
PSET, PRESET (or PLOT UNPLOT)
LINE
DRAW
References
Structured basic programming-- with style! (Chapter 14)
Using BASIC : an introduction to computer programming (Chapter 30)
Book 3) BAM IDE and User Guide Book 4) MetaProgramming Book 5) BAM + TiddlyWiki Integrations
Where should these go???
SLEEP, _DELAY, STOP