recommend software for self study