various programs written to learn and study