[Edu-sig] The right learning environment

Jason Cunliffe Jason Cunliffe" <jasonic@nomadics.org
Tue, 19 Mar 2002 14:11:24 -0500


Greetings

> Seems to me the text editor in IDLE is no less intuitive
> than Notepad, once one realizes its function.  I can
> understand a newbie being confused about what it does and
> what it's for.  But that's where a good tutorial comes in.
> These things should simply be explained.

Yes Lesson #1 should maybe have a  clear sidebar article which walks users
through the basic idea:
1. You can use ANY text editor such as Notepad to write or read a file.
2. Launch Python
3. Open text editor and write a script .SAVE [see below about path/import
issues]
4. In Python import and run your new script
5. make changes in external text editor
6. Now same again but this time but using Python's own text editor
7. quick summary of pros/cons of both approaches


I consider I have good 'beginner' credentials..

Nothing wrong with using Notepad. Its real advantage I feel is to help one
rapidly appreciate what is better. I use variously, IDLE, PythonWin shell
[Scintilla], and these days UltraEdit32.

What's confusing to beginners? Here's my Python A-list

- The !@#$ path [where is set, how to change it, how to add to it]

- Where to save your own files.
    Imagine your write first file "hello.py" perhaps using Notepad
    You save it into a nice new folder called "studytests".
    Now import "hello.py"... oops! OK import hello ... oops!arggh!!
    Why does Python not find my folder?
    How can I tell Python to find my folder?
    How can I tell python to remember NEXT TIME where my hello.py is?
    Why do I have to type keep long path/file names?
    What is the equivalent of CD command ?
    Why are not standard navigation commands included as default [cd, ls,
pwd, dir, list.. the usual suspects]. Python is __always__ used in an
environment [OS], users should have at least the same basic access to
file+system navigation that those environments have. It makes zero sense to
exclude them  especially in CLI tool. [Yes I know there are some commands,
but try to find them.. jeezus what does have to be so obscure??]


- How to move python files and folders around on your computer and still
have them work. It relates to the point above. Don't underestimate the
importance of this. This is the most mysterious and common problems  people
have with computers, whether shell or GUI interfaces. Just watch an *nix
user [including very experienced ones] and see how much time they spend
repeatedly searching and linking files. I would guess that 75% of problems
of all users on all OS derive from problems of poor navigation or
misdirected paths and links.  Establishing basic literacy and skills for
this are essential for any real world success on computers.

- How do you FIND something in python? Where is the find command and how do
I use it?

- Trying to work in  a DOS shell [no history, awful cut'n'paste, no
completion or prompts]

- Trying to run python in DOS shell and import a "hello.py" file
    [You think this is easy? - go find a 100% total newbie and watch them..]

- Where Python is located and what the difference is between typing python
in say a DOS command shell, python.exe,  and what's what in the Python
installation folder ? python.exe, pythonw.exe, IDLE.. Please somebody draw a
little map/table for beginners who do want to know where important things
are, what the differences are, when to use them etc.



- Having to type "" and , so much [they really often seem so unnecessary -
but that's a olde language war topic. It is a basic question beginners keep
until they have their common sense dogmatically beaten out of them and
'learn' why this is correct and necessary]

- The difference between TAB and 4/8 spaces in Python, [and what to do about
that in any edit tool you use]. Within IDLE, PythonWin what about nicer ways
to visualize the indentation issues.

- NAMESPACE

- How to import and use modules you download from the Internet [where to
save them, how to load them, import and import from..]

--------
What's cool about Python  [IDLE PythonWin] for beginners?

- CLI
- indentation
- color syntax
- completion
- execution
- free
- cross-platform
- library of contributed modules [but how to use them??]

./Jason