Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Sep 15th, 2007, 12:30 PM   #1
nisim777
Newbie
 
Join Date: May 2005
Posts: 17
Rep Power: 0 nisim777 is on a distinguished road
Teaching methodology question

I am the computer science professor at a Junior College in my area. For my Applied Programming course I am teaching Python. This is my first year at the school, and I have been teaching the way I learned from books (I'm self taught). Most programming books are set up similarly: 1) Printing, 2) Types, 3) Statements, 4) Loops, 5) Tuples, Lists, etc, 6) Functions, 7) Files, 8) OOP, 9) GUI (if used in the book. That list is not a definite, but most are similar. So, in my class I have my lessons arranged similarly.

Here's my problem, I am beginning to think that teaching Python inside of the framework is much better than installing the kitchen sink with no walls put up. I am considering switching my style and teaching functions and OOP right out of the gate. I think that if done correctly the students can grasp it all quickly, and it will make it easier to see how everything works together rather than introducing a "new way" later. Using Java as an intro language seems to work for many students. I know that Java is only OO, but why not teach Python as such?

What do you all think? Any suggestions on how to implement this? Anyone know of any good Python texts that use this method? Heck, anyone know of any good Python texts for intro to programming students in the first place? I am using "How to Think Like a Computer Scientist". Like I said, I'm self taught so I'm sort of building my own curriculum with this course.
nisim777 is offline   Reply With Quote
Old Sep 15th, 2007, 9:03 PM   #2
Arevos
Programming Guru
 
Arevos's Avatar
 
Join Date: Aug 2005
Location: England
Posts: 1,499
Rep Power: 5 Arevos is on a distinguished road
Personally, I feel that the traditional way of doing thing will yield better results.

People are used to thinking procedurally. They put the key in the lock, then turn the key, then open the door, etc. More sets of instructions that are conditional require more thought, but these too have direct analogues in the real world; if it's too hot, the turn down the themostat, otherwise leave it be.

Once you start getting into loops you're pulling away from the tasks that people are used to performing, and into a more abstract realm. Functions push this bar even further, and object orientation further again. Starting at the parts that are hardest to understand seems counter-intuitive to me.

Half the problem is that many things that seem obvious to seasoned programmers, can be pretty tricky to understand for neophytes. Take variable scope, for instance. I've found that people sometimes have a hard time understanding the concept of local variables; just because an argument to a function is named "x", doesn't mean it's the same as the global variable "x". I expect most programmers take this for granted, and don't expect the student to trip up on such a "trivial" thing.

I think you need to give students a good understanding of procedural programming first, without muddying the waters with objects.
Arevos is offline   Reply With Quote
Old Sep 15th, 2007, 10:43 PM   #3
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
I disgee. The lowet common denomitor is very low, but where else can one start?
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote
Old Sep 17th, 2007, 4:07 PM   #4
Dietrich
Professional Programmer
 
Dietrich's Avatar
 
Join Date: Feb 2005
Posts: 434
Rep Power: 4 Dietrich is on a distinguished road
Talking

Quote:
Originally Posted by DaWei View Post
I disgee. The lowet common denomitor is very low, but where else can one start?
Talking about learning a language, what kind of English is this?

I would say keeping the lectures interesting is most important! Nothing wrong with throwing in some functions or classes early on, as long as they make sense.
__________________
I looked it up on the Intergnats!
Dietrich is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Virtual pet site MySQL question proudnerd PHP 6 May 13th, 2006 8:22 PM
Attitudes Oddball Coder's Corner Lounge 29 Mar 18th, 2006 10:34 PM
How to post a question nnxion C++ 10 Jun 3rd, 2005 12:53 PM
How to post a question nnxion C++ 0 Jun 3rd, 2005 9:55 AM
How to post a question nnxion C 0 Jun 3rd, 2005 9:55 AM




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 7:39 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC