Python for Newbies

A

Alf P. Steinbach

* rm:
Here is a new tutorial that may be a good starting point for learning
Python.

http://www.themaemo.com/python-for-newbies/

Looks nice.

I have two comments: (1) what is "the N900"?, and (2) the naming convention,
using 'Num' for a variable and 'clsAddress' for a class, is opposite of the
usual Python convention where one'd write 'num' and 'Address'.

Shameless plug for my own writings, an introduction to /programming/ for
newbies, using Python -- this work is progressing slowly but steadily:

<url: http://preview.tinyurl.com/ProgrammingBookP3>

which is in Google Docs; a table of contents available as text file (it's not
complete wrt. to latest stuff I added) and also in the PDF files themselves.

Comments very welcome! :)


Cheers,

- Alf

PS: The last three or four paragraphs in ch 2 were sort of negative so I've
replaced them with one single short much more upbeat paragraph. Working...
 
M

MRAB

Alf said:
* rm:

Looks nice.

I have two comments: (1) what is "the N900"?, and (2) the naming
convention, using 'Num' for a variable and 'clsAddress' for a class, is
opposite of the usual Python convention where one'd write 'num' and
'Address'.
[snip]
(1) Nokia N900.

(2) I agree that the naming convention is nonPythonic.
 
R

rm

* rm:



Looks nice.

I have two comments: (1) what is "the N900"?, and (2) the naming convention,
using 'Num' for a variable and 'clsAddress' for a class, is opposite of the
usual Python convention where one'd write 'num' and 'Address'.

Shameless plug for my own writings, an introduction to /programming/ for
newbies, using Python  --  this work is progressing slowly but steadily:

   <url:http://preview.tinyurl.com/ProgrammingBookP3>

which is in Google Docs; a table of contents available as text file (it's not
complete wrt. to latest stuff I added) and also in the PDF files themselves.

Comments very welcome! :)

Cheers,

- Alf

PS: The last three or four paragraphs in ch 2 were sort of negative so I've
replaced them with one single short much more upbeat paragraph. Working....

The N900 is what I consider the coolest portable device ever:

http://temporaryland.wordpress.com/2009/10/09/nokian900-not-just-an-itoy/

http://www.themaemo.com/and-now-for-something-completely-different-the-n900-and-its-killer-feature/

This tutorial is also a work in progress. We welcome the help. In
fact there is a Google Wave already set up for this purpose.

I'll take a look at your writings. What license are you making them
available with.
 
R

rm

* rm:



Looks nice.

I have two comments: (1) what is "the N900"?, and (2) the naming convention,
using 'Num' for a variable and 'clsAddress' for a class, is opposite of the
usual Python convention where one'd write 'num' and 'Address'.

Shameless plug for my own writings, an introduction to /programming/ for
newbies, using Python  --  this work is progressing slowly but steadily:

   <url:http://preview.tinyurl.com/ProgrammingBookP3>

which is in Google Docs; a table of contents available as text file (it's not
complete wrt. to latest stuff I added) and also in the PDF files themselves.

Comments very welcome! :)

Cheers,

- Alf

PS: The last three or four paragraphs in ch 2 were sort of negative so I've
replaced them with one single short much more upbeat paragraph. Working....

One of the reasons I started writing this tutorial was because I found
the lot of existing tutorials lacking in their approachability by
people new to programming. Just about all of them were either not
comprehensive enough, or seemed written by geniuses for geniuses. I
hope you will allow me to quote a little excerpt from your tutorial
that makes my point quite eloquently:

"I have to use as-yet-unexplained language features in order to
present examples that do relevant things, because it would be too much
to explain the language features & concepts here. These features are
explained in later chapters, so for now you can just adopt a very
casual attitude, hey, it works!"

Don't get me wrong, your approach probably works for a certain type of
people. But there are a lot of us that find this approach very
difficult to follow. The approach of this tutorial is gradually
introduce new concepts so that the student can follow along at a
logical and pleasant pace. Yes, it has a disadvantage. The examples
can't be too elaborate. But, the purpose of tutorial, to teach the
language, is better accomplished this way. If I was teaching a group
of people the English language, I would not go about doing so with a
George Gordon Byron poem.
 
A

Alf P. Steinbach

* rm:
One of the reasons I started writing this tutorial was because I found
the lot of existing tutorials lacking in their approachability by
people new to programming. Just about all of them were either not
comprehensive enough, or seemed written by geniuses for geniuses. I
hope you will allow me to quote a little excerpt from your tutorial
that makes my point quite eloquently:

"I have to use as-yet-unexplained language features in order to
present examples that do relevant things, because it would be too much
to explain the language features & concepts here. These features are
explained in later chapters, so for now you can just adopt a very
casual attitude, hey, it works!"

Don't get me wrong, your approach probably works for a certain type of
people. But there are a lot of us that find this approach very
difficult to follow. The approach of this tutorial is gradually
introduce new concepts so that the student can follow along at a
logical and pleasant pace.

Well, we agree on that. :)

You just quoted the above a little out of context. It's about the code examples
in ch 1. Ch 1 is /not/ about programming: it's about tool usage, getting
started, and next to nothing about the language or programming is discussed.

So from my POV as author that criticism is like criticizing a bus driver for not
explaining the technical workings of the bus when he's taking potential new bus
drivers on a tour of the bus routes they may/will be driving later.

Of course if the potential new drivers expect to be educated about the bus'
technical stuff on that tour, just ignoring or not registering the up-front
information about the tour, then they may grumble about only being shown some
scenery, and what's this all about places and distances and routes?

So, I think you read that with wrong expectations.

Yes, it has a disadvantage. The examples
can't be too elaborate.

But here we disagree somewhat.

If you look at ch 2 you'll see that with Python examples can be quite impressive
without using more than just the tiniest little subset of the language.

That is, when one has room to discuss things (difficult in an web based tutorial
like yours, or like my once-upon-a-time C++ tutorial, but now I do have that
room for discussion and guidance!) then a student's first examples do not need
to be text only or dry academic. :)

But, the purpose of tutorial, to teach the
language, is better accomplished this way. If I was teaching a group
of people the English language, I would not go about doing so with a
George Gordon Byron poem.

Oh, I think you should!

Especially considering that his daughter Augusta Ada was the world's first
programmer and could be suspected of having an affair with Augustus de Morgan
(who together with George Boole invented boolean logic, they published their
works in the same week, and anyway was Augusta's private math tutor).

Or perhaps start more easy, with Augustus de Morgan's infamous recursive fleas
poem (ah, one may suspect some connection to Lord Byron there)!


Cheers,

- Alf
 
R

rm

Dunno if you intended to, but in the last link you imply that you can't run
Python on android, when you can do so either via ASE or through the
JNI.

Geremy Condra

The article you mention says:

"I realize that there is an effort in Android to make Python and other
scripting languages available to some degree, but from what I have
seen they are relegated to macro like functionality. In other words,
you wont be able to create full blown stand alone Python applications
in Android. The N900, on the other hand, will allow this. Even the GUI
side of the applications can be created with well known Python
toolkits like PyGTK and PyQt."

That impression came from this blog:

http://google-opensource.blogspot.com/2009/06/introducing-android-scripting..html

Are you saying that one can write full blown stand alone Android
applications in Python, GUI and all.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top