Pythons & Ladders

B

Benoit

I've been teaching myself the python language over the past few months
using Mark Lutz' Learning Python, 3ed. Python is also the first
programming language I've ever taken up. I find the language easy to
learn and rather productive in relation to the introductory course on C
++ I'd begun in January for fun @ school (we're practicing dynamic
arrays using pointers... kill me now). My problem, however, is that I
found myself lacking problems with which to create solutions and so
practice what I've learned. I think I'm one of those people who
really get into something when the instructions come from without.

So I'd like to ask you resident python gurus to help me learn. Give
me something to do! Specifically, I'd like to be given tasks that
incrementally increase in difficulty, starting from simple file/text
manipulation to those harder things like built-in function overloading
(you know, where you can make the "+" operator do something different
in relation to a given object). I hope my request doesn't come off as
demanding, as perhaps we could archive these tasks for future
pedagogy.

If something like this already exists though, please point me in the
right direction. Otherwise, thanks for any and all assistance.
 
B

Benoit

I've been teaching myself the python language over the past few months
using Mark Lutz' Learning Python, 3ed. Python is also the first
programming language I've ever taken up. I find the language easy to
learn and rather productive in relation to the introductory course on C
++ I'd begun in January for fun @ school (we're practicing dynamic
arrays using pointers... kill me now). My problem, however, is that I
found myself lacking problems with which to create solutions and so
practice what I've learned. I think I'm one of those people who
really get into something when the instructions come from without.

So I'd like to ask you resident python gurus to help me learn. Give
me something to do! Specifically, I'd like to be given tasks that
incrementally increase in difficulty, starting from simple file/text
manipulation to those harder things like built-in function overloading
(you know, where you can make the "+" operator do something different
in relation to a given object). I hope my request doesn't come off as
demanding, as perhaps we could archive these tasks for future
pedagogy.

If something like this already exists though, please point me in the
right direction. Otherwise, thanks for any and all assistance.

Just some background: My main thing is XHTML/CSS, and we're on
javascript in my Web Design course. I'm ultimately interested in
dynamic website design.
 
J

Jeff Schwab

Benoit said:
I've been teaching myself the python language over the past few months
using Mark Lutz' Learning Python, 3ed. Python is also the first
programming language I've ever taken up. I find the language easy to
learn and rather productive in relation to the introductory course on C
++ I'd begun in January for fun @ school (we're practicing dynamic
arrays using pointers... kill me now).

Get a better teacher, if you can. Please do me a personal favor: Don't
hold the crappy course against C++. For the record, you should never
have to manage dynamically allocated arrays manually, nor store pointers
to them. Try the std::vector template, and post in comp.lang.c++ if
have any trouble.
My problem, however, is that I
found myself lacking problems with which to create solutions and so
practice what I've learned. I think I'm one of those people who
really get into something when the instructions come from without.

So I'd like to ask you resident python gurus to help me learn. Give
me something to do! Specifically, I'd like to be given tasks that
incrementally increase in difficulty, starting from simple file/text
manipulation to those harder things like built-in function overloading
(you know, where you can make the "+" operator do something different
in relation to a given object). I hope my request doesn't come off as
demanding, as perhaps we could archive these tasks for future
pedagogy.

If something like this already exists though, please point me in the
right direction. Otherwise, thanks for any and all assistance.

Happy hacking!
http://www.pythonchallenge.com/
 
M

Marc 'BlackJack' Rintsch

Get a better teacher, if you can. Please do me a personal favor: Don't
hold the crappy course against C++. For the record, you should never
have to manage dynamically allocated arrays manually, nor store pointers
to them. Try the std::vector template, and post in comp.lang.c++ if
have any trouble.

Hey a flame bait. I'll bite. This a bit of an overreaction unless you
know what the course was about. If the goal is to learn about the
computer and that basically everything is a number in the end, then C is a
good choice. More portable than assembler but nearly as close to the
metal.

To the OP: If you try C++, don't hold that crappy language against C#, D,
or Java. ;-)

Ciao,
Marc 'BlackJack' Rintsch
 
C

castironpi

Hey a flame bait.  I'll bite.  This a bit of an overreaction unless you
know what the course was about.  If the goal is to learn about the
computer and that basically everything is a number in the end, then C is a
good choice.  More portable than assembler but nearly as close to the
metal.

To the OP: If you try C++, don't hold that crappy language against C#, D,
or Java.  ;-)

Ciao,
        Marc 'BlackJack' Rintsch

Welcome! This is the self-proclaimed 'impossible and useless' guy.
Since you're in to TMLs, try escaping a text file with a small subset
of characters, so that it's readable with a browser. Say by replacing
all the ampersands with &amp;, the line breaks with <p>, and maybe
even a 'list' with <li>s. (That went easy, moderate, hard.) Then,
for impossible, do it without (I repeat, WITHOUT) reading the whole
file into memory, say only 32 characters at a time.

Sadly, even at teenages, specializations you make affect your
specializations later. There's no best specialization priority, and $$
$ned if I'm picking yours. Mine gets me here; that's all I can know.
Electives or bust!

Anyway, Marc is right. Python teaches you a lot about programming,
but C teaches you a lot about computers. More generally, you can
write in one line in one language what takes hundreds in another, but
in one line in that one what's impossible in the first. It's -your- -
day-; "allegretto: meter's running".
 
E

Erik Max Francis

Marc said:
Hey a flame bait. I'll bite. This a bit of an overreaction unless you
know what the course was about. If the goal is to learn about the
computer and that basically everything is a number in the end, then C is a
good choice. More portable than assembler but nearly as close to the
metal.

To the OP: If you try C++, don't hold that crappy language against C#, D,
or Java. ;-)

He was talking about C++, not C. Jeff has quite a good point; teaching
C++ as C is not terribly useful.
 
A

Alan Isaac

Benoit said:
Give
me something to do!


Help to improve one of the experimental
writers for docutils.

IIRC, the ODT writer does not yet support figures
and tables.

http://www.rexx.com/~dkuhlman/odtwriter.html

The rst2wordml writer appears to be getting its
features in place, but when I last used it,
some tinkering was required. You could work
on adding features.

http://docutils.sourceforge.net/sandbox/rst2wordml/readme.html

If you get good enough a docutils, provide an option
to have the number for the note be superscripted, like
the note reference can be.

fwiw,
Alan Isaac
 
J

Jeff Schwab

Marc said:
Hey a flame bait. I'll bite.

Excuse me? Somebody posts about an introductory course on C++ covering
"dynamic arrays using pointers" and literally says "kill me now," and
I'm the flamer for asking him not to hold the language responsible for
the bad course?

This a bit of an overreaction unless you
know what the course was about.

It's supposed to be about C++, according to the OP.

If the goal is to learn about the
computer and that basically everything is a number in the end, then C is a
good choice. More portable than assembler but nearly as close to the
metal.

And a better choice than C++ would be.

To the OP: If you try C++, don't hold that crappy language against C#, D,
or Java. ;-)

What's the relevance of C#, D, or Java to the OP's post?
 
C

castironpi

[ redirected to OP ]
Traceback (most recent call last):
Excuse me?  Somebody posts about an introductory course on C++ covering
"dynamic arrays using pointers" and literally says "kill me now," and
I'm the flamer for asking him not to hold the language responsible for
the bad course?


It's supposed to be about C++, according to the OP.


And a better choice than C++ would be.


What's the relevance of C#, D, or Java to the OP's post?

public static void synchronized flamewar() {}
virtual void flamewar() {}
def flamewar(): pass

[ castironpi has changed the newsgroup to comp.lang.flamewar ]

Programming is very hard. And on that note!
 
B

Benoit

Forgive my language concerning C++ as its turned the thread into
something I did not intend. I merely wished to point out that Python
was easier for me to learn than C++. To Schwab, its likely that Mark
Lutz is simply a better instructor than my professor.
 
M

Marc 'BlackJack' Rintsch

Excuse me? Somebody posts about an introductory course on C++ covering
"dynamic arrays using pointers" and literally says "kill me now," and
I'm the flamer for asking him not to hold the language responsible for
the bad course?



It's supposed to be about C++, according to the OP.

Yeah, sorry I've read C. Actually it's about a language called C
++ according to the OP.
What's the relevance of C#, D, or Java to the OP's post?

The same as C++ to the OP's post if he would have talked about C. :)

Ciao,
Marc 'BlackJack' Rintsch
 
P

Paul Boddie

Forgive my language concerning C++ as its turned the thread into
something I did not intend. I merely wished to point out that Python
was easier for me to learn than C++. To Schwab, its likely that Mark
Lutz is simply a better instructor than my professor.

I think the remark about C++ just hit a nerve with certain people, and
then you're likely to get all sorts of low quality remarks from
perpetual bystanders. Returning to your original enquiry, however...

Perhaps you would benefit from looking at this page:

http://wiki.python.org/moin/BeginnersGuide/Programmers

If you feel that you need more practical experience, the following
page has some suggestions, although it's rather focused on people
"mucking in" and fixing things around Python rather than pure
recreation:

http://wiki.python.org/moin/CodingProjectIdeas

And the volunteers page is possibly a bit formal for someone just
wanting to improve their skills:

http://wiki.python.org/moin/VolunteerOpportunities

Paul

P.S. There's another remark that could be made about the project ideas
page, editing practices, and an insufficiently publicised mailing
list, but I'll leave that for another time.
 
J

Jeff Schwab

Benoit said:
Forgive my language concerning C++ as its turned the thread into
something I did not intend. I merely wished to point out that Python
was easier for me to learn than C++. To Schwab, its likely that Mark
Lutz is simply a better instructor than my professor.

Sorry for hijacking your thread!

In addition to Python Challenge, check out Code Golf:

http://codegolf.com/

It's eye-opening to see how concise the solutions can be.
 
A

Asim

Sorry for hijacking your thread!

In addition to Python Challenge, check out Code Golf:

     http://codegolf.com/

It's eye-opening to see how concise the solutions can be.

You should also give Project Euler a shot:

http://projecteuler.net/index.php?section=problems

Just keep in mind two points. One, your solutions should work with
under one minute of execution time, even in Python. Secondly, the
main benefit of the site is attempting some of the simpler problems
and then diving head-first into the forums to see other peoples'
solutions to the same problem.

I guarantee you'll find some unique Python techniques from these
forums that should open new avenues of learning wrt Python for you.
Nothing enterprise level...but definitely interesting. Be warned that
some of the harder problems require undergraduate-level math.
 
C

Carl Banks

Get a better teacher, if you can. Please do me a personal favor:

Personal favor? Seriously, do you have stock in a C++ support company
or something? There's no need to take stuff like this personally.

Don't
hold the crappy course against C++.

C++ has so much badness to hold against it, there's no need to throw a
crappy course on top of it.


Carl Banks
 
Joined
Dec 5, 2007
Messages
4
Reaction score
0
And in your spare time, why not learn a bit about LISP in these MIT computer science video lecture downloads. I was skeptical at first, didn't want to learn the language at all (well it's SCHEME really) but the syntax of LISP is so easy to learn and this course will make you think about programming in a way you never thought of before. I learned so much from these lectures (watching them on my IPod on the subway!)

http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/
 

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

Forum statistics

Threads
473,781
Messages
2,569,616
Members
45,305
Latest member
KetoMeltsupplement

Latest Threads

Top