Anatta.Anatta
— ModuleAnatta
Anatta: Understanding Nature in terms of processes instead of things.
This is the central switchboard for the Anatta project, which will gradually build up into a full course in using Julia to understand the world in terms of non-self (anatta).
To get started, simply install and load the Anatta library, then enter: Anatta.go()
Author: Niall Palfreyman, 01/01/2023
Anatta.Activity
— TypeActivity
A single activity to be performed and responded to by the learner. An Activity is the basic unit of learning in Anatta. It contains ...
Fields
prompt
: Text prompting an activity by the learner.hint
: Text suggesting to the learner how to respond to the prompt.success
: Boolean function that defines the criteria for a successful learner response.
Examples
julia> act = Anatta.Activity( "What is 2+3?", "Add the numbers together", x -> x==5)
Anatta.Activity("What is 2+3?", "Add the numbers together", var"#5#6"())
julia> act.success(5)
true
Anatta.Session
— TypeSession
Current state of a laboratory of learning activities.
A Session maintains the current state of a learning laboratory experience. It contains ...
Fields
anatta_home :: String
: Path of the Anatta packageanatta_config :: String
: Contains registration file of the session learnerhome_dir :: String
: Home folder of the session learnerlearner :: String
: Name of session learnerlab_num :: Int
: Number of the session laboratoryis_pluto :: Bool
: Is the session laboratory a Pluto workshop?current_act :: Int
: Number of the session activity in the laboratoryactivities :: Vector{Activity}
: Complete list of activities in this laboratory
Notes
- None
Examples
julia> sesh = Session()
Anatta.act
— Methodact()
Display the current activity number to the learner.
Anatta.ani
— Methodani()
Ask Ani to display a friendly menu of Anatta commands.
Anatta.askme
— Methodaskme()
Display the current activity to the learner. If this activity exists, display it; otherwise move to next laboratory.
Anatta.commiserate
— Methodcommiserate( act::Activity)
Provide supportive feedback to an unsuccessful learner response.
Anatta.congratulate
— Methodcongratulate()
Provide uplifting feedback to a successful learner response.
Anatta.evaluate
— Methodevaluate( act::Activity, response)
Apply the success criterion of the activity to the given response from a learner.
Anatta.go
— MethodAnatta.go()
Initiate a new Anatta session. First, establish the name of the learner, then look up whether Ani already possesses persistent registry information on that learner. If not, create a new registry entry for the learner. In either case, decide which laboratory, current Activity and Anatta home directory this learner requires, and initialise the session accordingly.
Examples
julia> Anatta.go()
Welcome to Anatta: A julian guide to ...
Anatta.hint
— Functionhint( act::Activity=session.activity[session.current_act])
Display a hint for the current activity
Anatta.home!
— Functionhome!( dir::String=pwd())
Set the learner's home directory.
Anatta.home
— Methodhome()
Move to the learner's home directory.
Anatta.install!
— Methodinstall!(session)
First-time installation and check of the Anatta environment, installing any missing files.
Anatta.lab
— Methodlab()
Display the current laboratory number to the learner.
Anatta.labfile
— Methodlabfile( session_path::String, labnum::Int)
Construct a valid labfile name from the given path and laboratory number.
Anatta.nextact
— Functionnextact( act::Int = 0)
Move to the next activity. If act is provided, move to that number activity, otherwise move to the next activity in this lab. If that takes you beyond the end of this lab, move to the beginning of the next lab.
Anatta.nextlab
— Functionnextlab( lab_num::Int = -1, current_act::Int = 1)
Move to the beginning of the next lab. If lab_num is specified, move to that number lab, otherwise move to the next lab. If that takes you beyond the end of the available labs, stay where you are and inform the learner.
Anatta.pose
— Methodpose( act::Activity)
Present the prompting text of the given Activity to the learner.
Anatta.reply
— Functionreply( response=nothing)
Learner replies to the current activity with the given response. If this response fulfills the current activity's success criterion, move on to the next activity; otherwise check with learner whether s/he wants to move on or to stay with the current activity.
Anatta.save
— Methodsave()
Save the status of the current session to the learner's registry file. Write labfile and currentact to the usr file.
Anatta.setup
— Methodsetup( library::String; force=false)
Set up the named library within the learner's home directory, forcing overwrite if requested.
Anatta.setup
— Methodsetup()
Set up the Tools and Scripts in the home directory.