I'm currently a Computer science student and i have been mainly programming in C++ for about a year. I've search around different sites and some say you have to know basic stuff like:

Whats the difference between a class and a struct?
What is a constructor?
What is meant by a "deep copy"?
What is the difference between "pass by reference" and "pass by value"?
What is a static member function?
What is meant by a derived class?
What is a pure virtual function?

while others are more complex puzzles and problem solving questions.

Is there a basic criteria for a entry level programmer?

*Books i have (if it matters):
How to Program C++ 4th edition By Deitel
Programming and Problem solving in C++ 4th edition by Nell dale
Object Oriented Programming 4th edition by Joyce Farrell
Programming Interviews Exposed 2th edition By john Mongan, Noah Suojanen, Eric Giguere
Data Structures And Problem Solving Using C++ 2nd edition by Mark Weiss

It depends on the company. What you've listed are all basic pieces of knowledge that don't tell anybody whether you're a good programmer or not. Any reasonable company would be happy to hire a good C programmer, for example, if they wanted somebody good at writing C++. Certainly such a programmer would have experience in other languages that gives him a worldview that translates to C++. There are no good C programmers that only know C.

The criteria for entry level programmer at companies that want and can recognize and get good programmers is different than that for companies that are retarded.

an entry level programmer should be able to read, should be able to type, and should be able to learn. Anything else is a bonus.

an entry level programmer should be able to read, should be able to type, and should be able to learn. Anything else is a bonus.

That's idiotic, an entry level programmer should also know how to solve algorithmic problems and math problems.

That's idiotic, an entry level programmer should also know how to solve algorithmic problems and math problems.

anyone should be able to do that, we're talking about specific skills needed for programmers on top of what's needed to survive.

Is there a basic criteria for a entry level programmer?

When hiring entry level programmers, I've always looked for three things:

  1. Willingness to learn: Since we're talking about bottom of the barrel as far as applicable skills goes, the candidate absolutely must be a sponge for knowledge.
  2. Passion: Entry level folks shouldn't be embittered by the field yet, so interest in everything (languages, tools, methodologies, etc...) is expected in a good candidate.
  3. Baseline competency: A good candidate should understand the core concepts of programming. While lack of experience severely limits expectations, I always keep in mind that the candidate is applying for a job as a professional in the field. You wouldn't apply for a job as a cook if you know nothing about preparing food, after all, and the same goes for programming. I expect at least a passing familiarity with the fundamentals.

[*]Passion: Entry level folks shouldn't be embittered by the field yet,

:-)

My first programming job basically consisted of running other peoples code.
Then for a while I learnt what they were doing and eventually started writing my own.

If you can read code and translate to English exactly what is going on and can also translate English into a workable algorithm then you are well on your way.

Be sure to keep reading and practicing. Set yourself some home projects and before you know it you'll get so good you'll be answering this question for others :)

Good luck!

This response is a little late in the game, I guess. All the advice above is good, but sometimes translating that into practical knowledge can be...challenging.

Many entry-level programmers I've worked with have a problem with humility. I know I had the same thing when I was first starting out mfmmfffm years ago. I thought that just because I was technically proficient, I was the best programmer ever.

Fortunately for me, I had a very nice lady read me the "riot act", then take me under her wing to teach me not programming, but the BUSINESS of BEING a programmer. I will be eternally grateful to her, and I hope you are lucky enough to find someone to mentor you.

My guess, after reading many of her posts, is that @Narue is just such a good (read "tough") mentor. You would do well to pay attention to the tone of her posts. She answers questions when she feels to poster has humility and sincerity, but can be prickly if she feels the poster is arrogant or lazy.

One thing you might consider doing is using DaniWeb itself as a tool. Go back through old threads and read some of the problems people have had with your technology of choice. Then, instead of reading the answer, see if you yourself can solve the issue. Then compare what you did to what the "accepted" solution was. It is very instructive, and introduces you to some real-life programming issues.

When you feel competent at that, then go to threads from OTHER languages, and see if you can solve THOSE problems using YOUR technology. Some of them are pretty tricky!

Well, enough of my rambling. Best of luck, and happy coding!

what is expected of an entry level c++ programmer is to have experience, which you cant get without a job that you cant get without experience

i got my degree last year and no one will higher me without experience

Knowing the software development cycle is helpful. Also having code to present works well, too. Internships are something I cannot do.

One of the basic test questions a software programmer I met asked me: what is a binary tree. I'm still learning, allthough I'm up to linked lists, stacks(last in first out) and ques(first in first out).

I'm a husband and father and cannot work for free. For me, I'll have to show experience through projects. I hear open-source projects are good sources of experience. HP also has internships, and maybe, just maybe, I'll be able to get student loans to pay to help make up for what a stipend or minimum wage cannot cover.

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.