Teaching Programming (Spamvertisement!)

Users who are viewing this thread

Lerber

So, I've been programming for a few years and my eventual goal is to earn a Ph.D and become a professor. One of the reasons, is because I enjoy teaching stuff. I find it really fun. To that end, I've started a youtube channel that's going to attempt to teach the equivalent of an intro course in Object Oriented programming.

I just published the first video, which is simple and kind of boring, but helps get people set up with what they'll need. (I know many people have difficulties getting Python set up on Windows.)

http://youtu.be/oW2cZ4agm2I

Any opinions would be appreciated.
 
Lerber said:
(I know many people have difficulties getting Python set up on Windows.)

If they can't figure it out, they probably don't have what it takes to understand even the most basic concepts of programming.
 
That's really not true. They're entirely different ideas and frames of mind. The video is meant for the absolute novice. Aka why it's a "101" course.
 
I think Python3.3 will be better than 2.7 since 3.3 can also interpret both 2.x and 3.x syntax (they added an executable(or a script, i am not sure about it) which checks shebang line of code then determines which version of syntax is used. a slide about it: http://wolfprojects.altervista.org/talks/what-s-new-in-python-3.3/ page 10)

And talking a little about structured programming on python can help to understand basics of functions, loops, if-else statements etc... (i think 1 video is enough for all of that because one or two simple example of each statement is enough :smile:

and sorry about bad English, since i haven't got enough chance to practice it around here it stays at beginner level :sad:

 
I think your english sounds fine.

The reason I'm using 2.7.x is two fold. The first is that I have more experience with 2.7.x Python and feel more confident teaching it. The other reason is with libraries. Python 3.x is still lacking many many libraries that Python 2.7.x has, or it has rewritten libraries that aren't the same. Additionally, Python 3.x has begun to add multiple ways of doing things, similar to how C++ over time has created the mess of syntax that allows you to do an operation eight different ways. 2.7.x Python remains decently uniform in how things are done, which allows a programmer to spend less time memorizing syntax and methods and more time figuring out how to program.
 
Second video is done. It's a bit meatier and a lot better edited.

http://youtu.be/iewhua1LDnU
 
Lerber said:
The reason I'm using 2.7.x is two fold. The first is that I have more experience with 2.7.x Python and feel more confident teaching it. The other reason is with libraries. Python 3.x is still lacking many many libraries that Python 2.7.x has, or it has rewritten libraries that aren't the same. Additionally, Python 3.x has begun to add multiple ways of doing things, similar to how C++ over time has created the mess of syntax that allows you to do an operation eight different ways. 2.7.x Python remains decently uniform in how things are done, which allows a programmer to spend less time memorizing syntax and methods and more time figuring out how to program.

After writing a lot of garbage in C, i love doing same thing in a million of different ways :smile: (I'm writing some kind of server client model, where "ls" commands acts like a server and "more" command acts like client. Ant both of them works multiproccess. After all the worst part is, this thing is my midterm of System Programming lecture :sad: )

And about python thing:
I think library issue won't be a problem for a new learner, but syntax could be nightmare of them (and I am just learned about "syntax mess")

After all, you're doing great job . There is not much people around here which talks about OOP part of python (actually i can't find enough video resources about OOP, but since i am O.K. with hard copies it is not a great problem for me :smile: )

Thanks for your interest, and Good Luck...
 
Finally got the third one done, it's harder than you might imagine to light a whiteboard properly...
 
I like your tuts, good work. I'm not currently learning anything from them but I do like seeing how other people go about their programming, as it is quite an art.
 
Yeah, I'm getting a new one done this week that will finish off the basics of python variables. (I'm choosing to ignore dictionaries for now, because with the dynamic awesome that is python, they only have a few uses. I'm also ignoring tuples because python rarely uses them on their own, rather in functions (like colors) and the syntax for tuples is weird because it turns out the python constructor for a tuple is  parentheses, but an open parenthesis followed by an entry, followed by a comma. Comma is needed for confusing python reasons.)

Also, forgot to actually post the link to the new one, rofl.

http://youtu.be/3Vv6x5AZ118
 
As of now, we're not learning too much coding yet. I feel its important to understand some of the underlying concepts. The next video I'm working on will kind of finish the underlying stuff. The one after is going to get in to if-statements and loops, that's when we can really start programming. My goal by the end of this series is to teach someone all the concepts of Object Oriented Programming and then shoot off in to some special area, after we learn all the good programming stuff, we'll take a look at GUI designs, some light networking, a small amount of web development using pure Python (the industry is using Django now), and a little bit in to integrating databases in to your programs.
 
Made a quick tip video, can't get motivated to make a full video.

http://youtu.be/S5RWGiUbZ_A
 
Thanks, I think I'm going to do a few more, pointers, difference between references and pointers, consts in class functions, etc.
 
New video, kind of long...

http://www.youtube.com/watch?v=9Y2tAYgWzLA
 
Thanks, just posted a new vlog up. Tell your friends, tell their friends. TELL EVERYONE.
 
Back
Top Bottom