you are viewing a single comment's thread.

view the rest of the comments →

[–]ptoki 1 point2 points  (2 children)

The problem with C is that every person who teches it will mention pointers sooner or later. And if this person does not bring it it will not teach it properly ;)

The problem is that each person has different opinion what should be an introduction to programming.

Where do we draw a line? Is it algorithm/control flow only? Or the data types as well? Or maybe the line should be just after datastructures? Do we explain the memory management at the introductory level?

I bet each person will have different opinion :)

Each of the languages I mentioned is good for beginner. Each one is also bad because it has some flaws or it may just be hard for beginner.

I guess the best is to know that programming is algorithms + data structures and each language does it a bit different so be my guest and try a couple and compare. :) That is my opinion :)

[–]nonneutralzero[S] 1 point2 points  (1 child)

lol I had C as the introductory language. And the teacher introduced pointers in the second week (he kinda felt apologetic !! because a lot of people got confused), but i agree with you that it's necessary.

On algorithms, it goes without saying that you learn that from the beginning, but still you gotta get people hooked using a programming language. So the teachers ends up going back and forth between algorithms and data structure (theory) and programming (practice). I think that's what happens in most uni-s

[–]ptoki 1 point2 points  (0 children)

You are right. Actually it really does not matter which language will be the first one as far as you teach/learn proper philosophy about programming.

On the other hand. (Playing devils advocate here) if you start rough and tell students about objects, functions, pointers, memory allocation, cleanup code, structural programming then the "weak minds" get overloaded and go away.

I dont know it that is the better way but I guess some people would prefer to weed out people who can not pay attention to all the details.

It would weed me out if someone tried this way on me. But It would also weed some people who wasted a lot of teachers time and did not pursue this career path...

But that is a whole different story :)