shell learning