Kodi Arfer / Wisterwood

PMS University: Programming

Topic List
#001 | mimir227 |
It appears that of the many PMS University classes that were proposed months ago, none materialized, or at least, none were carried through to completion. Nevertheless, I'm considering (emphasis on "considering") running one of my own this summer, the subject being computer programming. I could teach other subjects; I just think I'd find programming most amusing. The purpose of this topic is to see if a programming class would amuse anybody else. Specifically, I'd like to know how many PMSians would consider taking the class and what language they'd prefer I teach.

I'm willing to teach any of the following languages: Perl, Python, Haskell, and C. I could try teaching C++, but even though I know it pretty well, I have little real experience with it, and I really don't like object-oriented programming anyway. If you want to know more about one of these languages, so you can better decide, just ask. I'll tell you this much now:
- If you're entirely new to programming, I recommend Python. It's among the most learnable programming languages known the man, and it's powerful and fun to write in besides. If you're used to clunky, wordy languages like Java and C++, Python will be a breath of fresh air.
- If you like math, chances are you'll like Haskell. It's quite complex and quite powerful. Its semantics are so peculiar that you'll probably learn it easier if you've never programmed before than if you've had experience with any other language.
- Perl deserves much more credit than it gets from your average geek. Most so-called Perl programmers only scratch its surface, supposing it to be best for quick-n'-dirty run-once read-only scripts. In fact, it goes surprisingly deep, and has a correspondingly steep learning curve. It's not my favorite language— that dubious honor goes to Haskell— but it's very close to my heart, and it's the language I speak best bar English.
- C, on the other hand, gets far more credit than it deserves. There's so much wrong with it; the most I can say for it is that many of the alternatives (like C++) are even worse. Pick C if your idea of a good time is reinventing the wheel, or rather, inventing a wheel that segfaults at random.

You may well wonder how, precisely, I'd conduct the class. The truth is that it depends largely on the language and the students. Rather than write up a textbook's worth of lectures, I'd prefer to use an online tutorial as our textbook, and some of these languages have better online tutorials than others. And if, for example, all of my students have at least a little programming experience, I won't have to spend any time on the very basics. But my basic idea is this: the class will be a sort of guided study of the text in question. I'll assign readings and problems, supplement the text with my own explanations and extensions as I see fit, and analyze your programs for style and correctness. (I won't grade your work, unless you really want me to, for some perverse reason.) I'll also answer any questions or provide any help you want— including re-explaining something in my own words if a part of the text just isn't working for you. And, of course, if you're new to programming, chances are you don't have appropriate software for it, so I'll help you set things up. (No, none of the software will cost money.)

I'll assign programming problems and readings on a, say, weekly basis. I won't kill you if you fall behind a little, but if you clearly aren't putting into the class what you need to in order to learn something, I'll kick you out.

There's no minimum class size: I'd enjoy tutoring a single student perhaps more than a whole class. I set no maximum, either, since I'm sure I can handle more people than will be willing to enroll.
#002 | mimir227 |
So! If all this appeals to you, post here, saying:

a) How likely you'd participate if I actually did this, and under what conditions you'd participate, if any special conditions apply.
b) Which language or languages you'd prefer to learn.
c) If you've programmed before, which languages you know and how well you know them. If you haven't, how skilled you are at using computers in general. And in either case, it wouldn't hurt if you gave an idea of how much math you know.
d) What operating system you're running.
e) If there's anything you'd particularly like to learn how to do with the language in question, like harvest Web pages for data, or write applications with graphical user interfaces, or even, I dunno, make games. No promises…

---
WARNING: This post may or may not (but probably does) contain very tasteless humor.
It's not Mimi, it's not Mirmir, it's Mimir!
#003 | HeyDude |
a) I'd most likely participate.
b) I'd like to learn Python.
c) I know math fairly well and what I don't remember from high school I can be easily taught. I know HTML fairly well and a little spatter of DOS, just enough to write VERY simple batch files.
d) Windows Vista Ultimate 64-Bit Edition
e) Write scripts that work on certain conditions and can query, among other things, WMI
#004 | TheLoneRebel |
a) I'm very likely to participate.
b) Python or Haskell( I would like to but I'm afraid that since I'm used to Pbasic, C++ and visual basic I'd have trouble).
c) Visual basic, Pbasic(I'm currently doing a course that uses BS2 stamps), and C++.
d) windows vista(not sure which version I'll have to go look at my box to find out, but it's fully updated so there shouldn't be a problem).
e)write programs for graphical user interfaces, or make games.


I've learned enough languages to know the basic model of programming but I never plunge deeply into it(My high school changes the programming language for its courses every year, and I had to miss the grade 12 programming, opted to take the more impressive robotics course)
---
" There's going to be a Coup"~My friend
"Is it really necessary to revolt against a 5'3 seventeen year old girl?"~me
#005 | mimir227 |
Alex, may I ask what you mean by "work on certain conditions"?

Rebel, don't take my comments about Haskell the wrong way— Haskell is counterintuitive to the experienced programmer, but very few people have the good (or bad, depending on your perspective) fortune to learn it as their first language. In fact, I think learning Haskell is worthwhile just for the unique perspective it gives one on programming and algorithms in general, entirely besides the fact that it's the bestest language ever. Also, you needn't check your version of Vista. All I really wanted to know for question (d) was whether you were running Windows Vista, Windows XP, or Mac OS X.

---
WARNING: This post may or may not (but probably does) contain very tasteless humor.
It's not Mimi, it's not Mirmir, it's Mimir!
#006 | HeyDude |
I mean, conditional statements within the script.
#007 | mimir227 |
Oh, fair enough.

---
WARNING: This post may or may not (but probably does) contain very tasteless humor.
It's not Mimi, it's not Mirmir, it's Mimir!
#008 | TheLoneRebel |
That's what I thought, which is why i didn't through out the idea of learning it right away I like the idea of learning a powerful programing language and expanding my knowledge of general programing.

In fact I would prefer to learn Haskell; since the others sound like they are similar enough to my own experience that I could easily learn them on my own.
---
" There's going to be a Coup"~My friend
"Is it really necessary to revolt against a 5'3 seventeen year old girl?"~me