Beginner Tutorials

R

Rik

Hi, I've developed a website for beginners to Python. I'd appreciate any comments or criticism. It's still under development, and should be finished in the next few months. Oh, and it's free to use.

www.usingpython.com
 
V

Virgil Stokes

Hi, I've developed a website for beginners to Python. I'd appreciate any comments or criticism. It's still under development, and should be finished in the next few months. Oh, and it's free to use.

www.usingpython.com
You have done well Rik. I like your approach to passwords for solutions and
your selection of topics is quite good for a "jump start" with Python. However,
I suggest that in your menu you change several of your items to lower case (for
consistency with the Python language): For -> for, While -> while, if-Else ->
if-else, Elif -> elif.

I am curious --- what software did you use to create your nice web pages for
this tutorial?

In summary --- good work Rik :)

--V
 
M

marco.kretz

Am Freitag, 18. Januar 2013 15:47:52 UTC+1 schrieb Rik:
Hi, I've developed a website for beginners to Python. I'd appreciate any comments or criticism. It's still under development, and should be finished in the next few months. Oh, and it's free to use.



www.usingpython.com

Very nice and clean structure, I like it!

But I would recommend to place the menu right below the header ;)
 
I

Ian Foote

Hi, I've developed a website for beginners to Python. I'd appreciate any comments or criticism. It's still under development, and should be finished in the next few months. Oh, and it's free to use.

www.usingpython.com

Is there a particular reason you disable right-click with javascript?

Regards,
Ian F
 
I

Ian Foote

Hi, I've developed a website for beginners to Python. I'd appreciate any comments or criticism. It's still under development, and should be finished in the next few months. Oh, and it's free to use.

www.usingpython.com

Your example code on http://usingpython.com/variables/ is missing a space:

#Whatever the user enters is stored in a variable called ‘name’.
name = input("What is your name? ")
# Remember how we can use + to ‘add’ strings together?
print("Hello" + name + "!")

Here's my output:
HelloIan!

Your final print should be:

print("Hello " + name + "!")

Regards,
Ian F
 
R

Rik

Thanks for the comments. I have changed the headings to lower case as you suggested.
The site was created in wordpress using a standard theme, and linked pages rather than posts. i'd recommend using it to quickly set up a site; i started developing my own site but wanted to focus on site content and not HTML!
 
R

Rik

Thanks for the comments. I have changed the headings to lower case as you suggested.
The site was created in wordpress using a standard theme, and linked pages rather than posts. i'd recommend using it to quickly set up a site; i started developing my own site but wanted to focus on site content and not HTML!
 
R

Rik

The reason for disabling right-click has nothing to do with protecting content, and everything to do with stopping my students from taking the lazy way out.

Given the chance, they'll copy/paste the code and download the designs and edit them slightly. They'd get through the tutorials in about 25 minutes and have learnt next to nothing.

In talking to students about existing resources, they said that blindly copying code didn't really help them get a deep understanding of algorithms and how to apply them to other problems.

In the password-protected solutions i will provide downloads to source code, etc, and any student smart enough to get around my protection probably understands python basics :)

Thanks for the comments.
 
R

Rik

The reason for disabling right-click has nothing to do with protecting content, and everything to do with stopping my students from taking the lazy way out.

Given the chance, they'll copy/paste the code and download the designs and edit them slightly. They'd get through the tutorials in about 25 minutes and have learnt next to nothing.

In talking to students about existing resources, they said that blindly copying code didn't really help them get a deep understanding of algorithms and how to apply them to other problems.

In the password-protected solutions i will provide downloads to source code, etc, and any student smart enough to get around my protection probably understands python basics :)

Thanks for the comments.
 
J

Joel Goldstick

The reason for disabling right-click has nothing to do with protecting
content, and everything to do with stopping my students from taking the
lazy way out.

Given the chance, they'll copy/paste the code and download the designs and
edit them slightly. They'd get through the tutorials in about 25 minutes
and have learnt next to nothing.

Ha Ha! that is hilarious. I haven't been a student for a while. I guess I
am naive to think that young people would be interested, and take pleasure
in becoming proficient rather than just a quick way to get a better grade.
 
R

Ritchie Flick

Still a student myself and even if you really want to become good at what
you're doing, some days one just feels lazy and in the mood for
copy/pasting to get the job done quickly xD
I like the site, will check it out ;)
 
R

rh

The reason for disabling right-click has nothing to do with
protecting content, and everything to do with stopping my students
from taking the lazy way out.

Given the chance, they'll copy/paste the code and download the
designs and edit them slightly. They'd get through the tutorials in
about 25 minutes and have learnt next to nothing.

None of the good teachers I ever had blamed the students for not learning.
The teacher's challenge is to figure out how to get all those minds to learn.
It ain't easy.
In talking to students about existing resources, they said that
blindly copying code didn't really help them get a deep understanding
of algorithms and how to apply them to other problems.

In the password-protected solutions i will provide downloads to
source code, etc, and any student smart enough to get around my
protection probably understands python basics :)

Right, that's a better assignment to give them.
Thanks for the comments.


--
 
K

Kwpolska

The reason for disabling right-click has nothing to do with protecting content, and everything to do with stopping my students from taking the lazy way out.
http://lmgtfy.com/?q=don't+disable+right+click

Given the chance, they'll copy/paste the code and download the designs and edit them slightly. They'd get through the tutorials in about 25 minutes and have learnt next to nothing.

Ways to overcome it:
(a) curl/python -c 'import requests; requests.get('/wget
http://usingpython.com/; (a nice textarea with the code
(b) browser development tools, view source keyboard shortcuts etc.;
(c) OCR;
(d) disabling JavaScript;
(e) writing it by hand, because it is relatively short.
In talking to students about existing resources, they said that blindly copying code didn't really help them get a deep understanding of algorithms and how to apply them to other problems.

Can’t you fail them (or whatnot) if they don’t learn that? That
sounds like the best solution to such problems.
In the password-protected solutions i will provide downloads to source code, etc, and any student smart enough to get around my protection probably understands python basics :)

WordPress ≠ Python, unless your password is a code used to generate
the 01189998819991197253 number out of prime factorization or
something like that.
 
R

Rick Johnson

The reason for disabling right-click has nothing to do
with protecting content, and everything to do with
stopping my students from taking the lazy way out.

Given the chance, they'll copy/paste the code and download
the designs and edit them slightly. They'd get through the
tutorials in about 25 minutes and have learnt next to
nothing.

In talking to students about existing resources, they said
that blindly copying code didn't really help them get a
deep understanding of algorithms and how to apply them to
other problems.

Well anyone who is just blindly copying code to get through a CS course is obviously not a "natural" problem solver ,and thus, /incapable/ of becominga proficient programmer anyhow. Programming *IS* problem solving. If you don't get any thrill from the hunt, you might as well go home and watch Monty python until your eyes bleed or the next welfare check arrives.

But don't paint with too wide a brush on the copy-paste subject matter either because i have /no/ hesitation to copy paste when the code is mostly boilerplate required by some asinine interface, like oh I dunno, WINDOWS GUI PROGRAMMING!!! ಠ_ಠ. I am not about to invest one second /learning/ much less trying to /comprehend/ why someone would create and release such a gawd awful monstrosity.

Natural problem solvers always love a challenge and they always like to peek under the hood and see what makes this or that "tick". You need no more than to present these people with a problem and they *WILL* discover the answer (given enough time of course).

"The only limit to an individuals imagination is his lifespan" --rr
 
R

Rick Johnson

The reason for disabling right-click has nothing to do
with protecting content, and everything to do with
stopping my students from taking the lazy way out.

Given the chance, they'll copy/paste the code and download
the designs and edit them slightly. They'd get through the
tutorials in about 25 minutes and have learnt next to
nothing.

In talking to students about existing resources, they said
that blindly copying code didn't really help them get a
deep understanding of algorithms and how to apply them to
other problems.

Well anyone who is just blindly copying code to get through a CS course is obviously not a "natural" problem solver ,and thus, /incapable/ of becominga proficient programmer anyhow. Programming *IS* problem solving. If you don't get any thrill from the hunt, you might as well go home and watch Monty python until your eyes bleed or the next welfare check arrives.

But don't paint with too wide a brush on the copy-paste subject matter either because i have /no/ hesitation to copy paste when the code is mostly boilerplate required by some asinine interface, like oh I dunno, WINDOWS GUI PROGRAMMING!!! ಠ_ಠ. I am not about to invest one second /learning/ much less trying to /comprehend/ why someone would create and release such a gawd awful monstrosity.

Natural problem solvers always love a challenge and they always like to peek under the hood and see what makes this or that "tick". You need no more than to present these people with a problem and they *WILL* discover the answer (given enough time of course).

"The only limit to an individuals imagination is his lifespan" --rr
 
E

Evan Driscoll

Well anyone who is just blindly copying code to get through a CS
course is obviously not a "natural" problem solver ,and thus,
/incapable/ of becoming a proficient programmer anyhow. Programming
*IS* problem solving. If you don't get any thrill from the hunt,
you might as well go home and watch Monty python until your eyes
bleed or the next welfare check arrives.

I have only skimmed this thread and so am unsure exactly what is being
protected against casual copy/paste, but at least on its face I would
*vehemently* disagree with your statement.

There are at least two significant problems with it. First you ignore
short-term pressures. It sounds like the tutorial in question is being
used in some kind of course? If so, perhaps an assignment or two are
badly timed with other life events (projects from other classes,
external pressures, etc.) and, even though a person WOULD enjoy and be
competent at solving the problem, those constraints pressure them to
take the short-term "out" in the programming course, which also leads to
them learning so much.

But the bigger problem is that -- while you are right that programming
is problem solving -- doing problem solving is probably not why most
people got into it. At least personally, I got into it because I liked
making stuff. If someone is attracted to the field because they go "oh
hey I can program the next video game!" that doesn't automatically mean
that they won't be good at it, but it may be that the problem-solving
aspect of it is an acquired taste.

As an analogy, I've been rock climbing for several years. There are
several types of climbing; two of them are top roping, which is roped
climbing and what you see most people in a climbing gym doing, and
bouldering, which is climbing routes low to the ground (usually under 3
meters or so) without a rope. When I started, I basically exclusively
did top roping. Bouldering seemed... dumb to me, like it was missing the
point: "the reason you go climbing is to *climb*, and bouldering gives
you very little of that." :) But after I was going for a while, getting
high above the ground became less of why I did it and the challenge of
figuring out the right movements and such to complete the route started
being my primary motivation for liking it. And those are things that
bouldering has in fine measures; in some respects, it does that *better*
than roped climbing*.

(* Arguing about roped climbing vs bouldering might be that community's
version of "Emacs is better than Vi". :))

In other words, why I started climbing is very different from why I
continued it. And I feel that the same could be said of programming.
Just because you don't enjoy parts of programming when you're starting
out doesn't mean that you're a lost cause by ANY means.

Evan
 
R

Rick Johnson

I have only skimmed this thread and so am unsure exactly what is being
protected against casual copy/paste, but at least on its face I would
*vehemently* disagree with your statement.

Well if you skim just a wee bit more you will see how i took a view from both sides of the argument :)
There are at least two significant problems with it. First you ignore
short-term pressures.

I think we can all understand short term pressures (especially those among us who actually work for a living) however, cheating not only harms the cheater, but also degrades the value of the education that the fellow studentsworked honestly to achieve -- that's my real beef.
But the bigger problem is that -- while you are right that programming
is problem solving -- doing problem solving is probably not why most
people got into it. At least personally, I got into it because I liked
making stuff.

Is not "making stuff" a form of problem solving? You may not enjoy writing code because it solves a real world tangible problem (like a calculator forsolving math equations or a spreadsheet for organizing data, or flight control software... wait, don't use python for the last one!) but the "act" ofcreating anything involves solving problems, yes?

* What am i making?
* What language provides the tools i need?
* How will it interface with the world?
* What will it do? (Even if only to not throw an exception) :)
* Will it be automated or require input control?
* GUI or command line?
* What dependencies will it require?
* etc...

And that's just the initial draft design phase. These handful of problems have deeply nested sub-problems hidden below.

But maybe you are referring to the satisfaction you get when witnessing your "creation" in action. Ah, yes. This is a great feeling! Especially when you've worked for hours tracking some subtle bug because of a bad language feature or poor interface and you almost threw in the towel twenty times, but /something/ kept you coming back. What was it? Was it the fact that you would not allow yourself to be defeated? Was it the addiction to the satisfaction you get from creating a program that runs without error and actually does something useful? These are the monkeys on the back of every good programmer.
If someone is attracted to the field because they go "oh
hey I can program the next video game!" that doesn't automatically mean
that they won't be good at it, but it may be that the problem-solving
aspect of it is an acquired taste.

Like these people you mention, my initial interest was very specific. I needed to create a few tools for myself, and i thought that would be the extent of my programming. But after writing a few apps i was hooked! And as i progressed writing more and more code, i became more and more addicted. Coding actually transformed the way i interpret the world. I am constantly looking for consistency, logic, intuitiveness in every interface around me. Thatcould be my car, my toaster, whatever. But most importantly, programming has honed my problem solving skills to razor perfection! Especially OOP. Which can be transformed into many problem domains.

I think a lot of energetic and naive people get attracted to writing code from games, however, once they start up the steep learning curve without an ability to problem-solve (or a good starter language like python), they getfrustrated and quit. These people cannot problem-solve themselves out of awet paper bag!

And i think a good programmer, along with being a great problem solver, is a bit of a risk taker. I mean, how else are you going to learn without taking risks. An infinite recursion here, a segfault there... accidentally usedrmdir on your porn folder, oops! It's all part of cutting teeth.

Another trait of the programmer, an innate sense of curiosity. A good litmus test is to offer a complicated software application to a group of people of which none have used before and all are unfamiliar with.

Then, see who becomes proficient with the interface. That's the subgroup who will make great programmers! While the dummies start out reading the manual, the natural problem solvers will jump head first into the interface andattempt to intuit every command.

When, after exhausting all there comprehensive abilities, they don't understand a certain feature, then and *only* then do they consult the docs. And sometimes, the doc are just insufficient anyways.

But the point is, the true problem solver discovers his own weaknesses, takes mental note of them, and then methodically *DESTROYS* them. Divide and conquer.

This is the method by which intelligent beings solve problems.
As an analogy, I've been rock climbing for several years. There are
several types of climbing; two of them are top roping, which is roped
climbing and what you see most people in a climbing gym doing, and
bouldering, which is climbing routes low to the ground (usually under 3
meters or so) without a rope. When I started, I basically exclusively
did top roping. Bouldering seemed... dumb to me, like it was missing the
point: "the reason you go climbing is to *climb*, and bouldering gives
you very little of that." :) But after I was going for a while, getting
high above the ground became less of why I did it and the challenge of
figuring out the right movements and such to complete the route started
being my primary motivation for liking it. And those are things that
bouldering has in fine measures; in some respects, it does that *better*
than roped climbing*.

(* Arguing about roped climbing vs bouldering might be that community's
version of "Emacs is better than Vi". :))

That was a great analogy!
In other words, why I started climbing is very different from why I
continued it. And I feel that the same could be said of programming.
Just because you don't enjoy parts of programming when you're starting
out doesn't mean that you're a lost cause by ANY means.

I agree completely. However, my condemnation was mainly against cheating.
 
K

Kwpolska

Who thought that not setting the “Reply replies to the ML†option was
a good idea?

---------- Forwarded message ----------
From: Rik <[email protected]>
Date: Fri, Jan 18, 2013 at 8:31 PM
Subject: Re: Beginner Tutorials
To: (e-mail address removed)

Ways to overcome it:
(a) curl/python -c 'import requests; requests.get('/wget
http://usingpython.com/; (a nice textarea with the code
(b) browser development tools, view source keyboard shortcuts etc.;
(c) OCR;
(d) disabling JavaScript;
(e) writing it by hand, because it is relatively short.


Can’t you fail them (or whatnot) if they don’t learn that? That
sounds like the best solution to such problems.


Yeah I could, and maybe for larger problems i'll maybe not block the
code, I just find that students copy/paste the examples and *think*
they understand what's going on, and then aren't able to be
independent in solving similar problems. This way they are sort of
'forced' to actually understand the examples to a level that i'm happy
will hep them solve other problems. It's my job to guide their
learning in that way.
WordPress ≠ Python, unless your password is a code used to generate
the 01189998819991197253 number out of prime factorization or
something like that.


Now that'd make a nice problem :)
 

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,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top