So many of us C forum old timers have answered the same basic questions so many times that even our occasional attempts to be humorous or creative with them seem to get dull. You'd think that by the end of week one that a programmer new to C would have been taught how to read a string and a number from user input. Instead I see piles of questions on linked list or binary search tree implementations, and the programmer is still hampered by faulty input handling, the use of nonstandard functions, and all too often not even knowing how to declare the program entry point: main.

And of course there are FAQs and tutorials a-plenty out there that show how to do things correctly. I even decided to take a stab at it: User Input: Strings and Numbers [C]. If for nothing else, it was because I was tired of writing the same reply over and over and over. And because I wanted to package together some of the other FAQ links and related code snippets that I'd written -- also because I was tired of continually posting the same bits of code.

But why is this so widespread? Why are those people teaching C so unaware of the week one basics that they pollute others' understanding unknowingly? Wouldn't it be great if in order to be considered a competent instructor qualified to teach C programming to others, that they would have to post sample assignments and their solutions to web forums such as these for critical review? If we could only teach the instructors better, the students would be so much better off.

And the same goes for books and web tutorials. Ah, wouldn't it have been great if the misinformation could have been corrected before it corrupted the practices of so many programmers (myself included). The cycle of learn to do it wrong, practice these bad habits and become good at them, discover the practices are bad, unlearn the bad, relearn the correct, and finally practice writing good correct code leaves much to be desired.

But should I really be complaining? I mean, this is the bread and butter of self-help forums such as this. Ah, well. I'm sure this rant will continue far into the future and be echoed by many more C programmers, either now or in the future as they are rounding the corner and heading down the practice writing good correct code phase of that fun learning cycle.

Recommended Answers

All 5 Replies

Lately, I've been hearing of some colleges using pseudo code for the intro to programming courses. So by the time they get to a real programming course, they might know what an IF statement is but they haven't actually seen one before. I know DeVry used to teach such a class but dropped it a few years ago and now teach beginners with C before moving them onto Java basics. But I know some colleges around here still demand that students take the pseudo code class first before taking other courses such as Java where the students are thrown right into building Applets before learning how to form an actual class from scratch without a template.

I was fortunate enough to have taken Pascal in HS where the teacher really taught the basics of the basics. (and explained it) But he also made us take tests by hand-writing code without the computer. No guess and compile there.

In the past year, it's also seemed to have gotten worse with more students asking for project help online. Doesn't anybody talk to their teachers for help anymore? We can just wait 10 years for when all these people are fully integrated into the corporate coding world and watch silicon valley grind to a hault.

I guess... the saying does live true: those that can't... teach, but we'll do our best to undo what we can. Not to mention the fact that it does weed out the idiots leaving us less to compete with, true?

I do agree with you, what are they really teaching. I start college in two weeks. I had done like 99% of the coding I know by myself. What really shocked me what my friend going to some college in Indiana.

He is going to be a game devoloper. He showed me some of his stuff out of curiosity started asking him questions, trying to see the difference between C++ and c#. Well he has been there for a semester and taking all these "programming classes" and has obviously learned nothing.

I am actually looking foward to college with a sad face wondering if I am really going to learn anything. But if I know it have to have proof I do.

Well that is my two cents.

I currently am completing a degree in multimedia and software development and have been through VB.net, C++.net, and Java. And I still consider myself a beginner when it comes to programming. I think where the problem lies in in the way it is taught. Now bare with me for a minute and I will explain and keep in mind that I am a young cat at only 24. When I was in elementry school something happened that revolutionized the way "Grammer" was taught. It was called "Shirly English". "Shirly English" taught kids how to basically pick out all parts of a sentence by memorizing jingles. I grew up with "Shirly English" and to this day I can not break apart a sentence without one of those annoying jingles going through my head. Later it was discovered that "Shirly English" was not all it was cracked up to be, however a little late for me and my generation. Anyway back to programming. Every programming course I have taken I have came out of it not know not knowing squat unless I can find a line of code in my text book that does exactly what I am wanting my program to do. The reason being is that they do not teach us what each part or symbol used in code means. They teach it by giving us a line of code and saying it will do this calculation or function. I can not just start writing code, I have to look in a book and copy it out of the text and piece a program that way. For me daniweb is the greatest thing, because I learn more from this website than what I ever learned in any class. That is my two cents.

Ryan Daniels

Yeah! What ATS told was true. It is the Basic for any programming language.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.