what difficulties most of the beginners in c++ programming student face i guess logic building
** i have a blog about c++ programming for beginners on which i try to things the as simple as i can so every beginner can understand the logic of program.
Because once they are understood the logic it will open their mind in logic builiding

I Want Some Suggestion Any Kind OF Related To Basic C++ Which Can Be Helpful For A Beginner So My Can Be More Beneficial For C++ Beginners
Its My Blog C++ Programming For Beginners

Recommended Answers

All 5 Replies

Or posting in the wrong section?

commented: Can u tell where to post this kind of discussion +0

can u tell me where i should post this kind of discussion
sorry for not posting the right place.

i try to things the as simple as i can so every beginner can understand the logic of program.

If by simple you mean very little extraneous fluff in the code, then that's good. However, it looks to me more like you're dumbing things down to the point of misleading beginners.

No offense intended, but after a quick reading of that blog, I'd question your qualifications to teach. For example, if it's just a matter of simplifying things, can you explain what parts of this entry are not entirely correct and why?

I must concur with deceptikon on this... Be careful about self-proclaiming yourself an authority in a matter that you clearly only have cursory knowledge of. I have looked at your top three entries (the character testing thing, the switch-statement thing, and the recursive linear search (yuk..)). They are all poorly chosen examples, and contain some serious problems.

First of all, if you want to "teach", you also have to "teach by example". You cannot put up example code that disregard most rules of code-clarity. You have to be extra careful about indentation, spacing, and exposition of the code in general. In that regard, this example code is quite aggregious:

#include<iostream>
using namespace std;
int main()
{
char grade; double gpa=0.0;
cout<<"Enter your Grade=  ";
cin>>grade;
switch(grade)
{
  case'A':
  case'a':
  gpa=4.0;
  cout<<"your GPA is "<<gpa;
  break;

    case'B':
    case'b':
    gpa=3.0;
    cout<<"your GPA is "<<gpa;
    break;

     case'C':
     case'c':
     gpa=2.0;
     cout<<"your GPA is "<<gpa;
     break;

      case'D':
      case'd':
      gpa=1.0;
      cout<<"your GPA is "<<gpa;
      break;

       case'F':
       case'f':
       gpa=0.0;
       cout<<"your GPA is "<<gpa;
       break;

    default:
    cout<<"invalid grade entered";
    break;
  }
return 0;
}

That just looks terrible, regardless of the context (professional or academic). Just the most minimal standards of clarity mandate that you should at least have something like this:

#include<iostream>

using namespace std;

int main()
{
  char grade; 

  cout << "Enter your Grade=  ";
  cin >> grade;

  double gpa=0.0;

  switch(grade)
  {
    case 'A':
    case 'a':
      gpa = 4.0;
      cout << "your GPA is " << gpa;
      break;
    case 'B':
    case 'b':
      gpa = 3.0;
      cout << "your GPA is " << gpa;
      break;
    case 'C':
    case 'c':
      gpa = 2.0;
      cout << "your GPA is " << gpa;
      break;
    case 'D':
    case 'd':
      gpa = 1.0;
      cout << "your GPA is " << gpa;
      break;
    case 'F':
    case 'f':
      gpa = 0.0;
      cout << "your GPA is " << gpa;
      break;
    default:
      cout << "invalid grade entered";
      break;
  }

  return 0;
}

Without following at least some rudimentary rules of clarity, you will have trouble getting any kind of clear explanation across.

Second thing is, you say you want people to understand the logic, yet, you provide no real explanations besides just dumping some poorly written and unclear code after a small paragraph saying "here's a program to do XYZ". That's not particularly helpful. You have to be more constructive about the concepts that you cover, and the critical points that you need beginners to get out of each article.

Third, you have to be careful about not letting any bad code slip through. Having a beginner audience means that the examples have to remain simple, but it does not mean that you can just let bad code get through. By "bad code", I mean code that an expert would find objectionable (demonstrating a technique that is dangerous or non-portable, having undefined behavior (UB), using hackish tricks, bad coding practices, lack of scalability, etc.). Beginners won't be able to detect bad code, because they're beginners. But showing them bad code that they are not equiped to judge might inspire them to develop the wrong habits. You must demonstrate both simple and good code. This can be difficult (I know by experience), but it's the ideal to aim for.

Finally, if you have to ask about what the difficulties beginners typically face in learning C++ are, then that is a pretty good indication that you are not particularly well-equiped to be teaching it. Being a good C++ programmer and being a good C++ educator are two different things, and both skills take, individually, about as much time to develop (circa 5-10 years). After a few years here (at Daniweb), interacting with beginners facing problems on a daily basis, I have honed some quite respectable "C++ educator" skills and a good idea of what points are important to focus on, and how to steer beginners in the right direction. Learning this takes time, and lots of hands-on experience, because every learning path is different. And, of course, I cannot answer your question because it would be far too long.

can you explain what parts of this entry are not entirely correct and why?

Uhmm.. I have a few guesses of my own ;) (errors in the code, lack of clarity, adoption of ASCII codes that are not portable, magic numbers, etc.)

Sigh - C++ for Dummies. The problem with that is that dummies are not going to be able to write decent C++ code, no matter how hard they try! After 22 years as a professional C++ developer, I can write "decent" C++ code, and have done (and still do) some pretty impressive stuff, but am I the "best" in the business? Not a chance! I still have to go back to the manual on a regular basis... :-) Best reference? I personally prefer Ellis and Stroustrup's ARM (Annotated Reference Manual - ANSI version). It is short, but dense, and covers the basics very well. That said, C++ has undergone some major changes in the past few years (C++11, C++14). Here is a link to Stroustrup's web site where he discusses C++11 and such - as the author/inventor of C++ he is immenently qualified to comment on changes in the language.

http://www.stroustrup.com/arm.html

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.