View Poll Results: Select 2 of the most important assets for a career
- Voters
- 6. You may not vote on this poll
-
10+ years experience with many projects
-
Expert knowledge of standard libraries
-
Excellent problem solving skills
-
Math degree
-
Software engineering/ CS degree
-
Programming certifications
-
Passion for software and hardware
-
Other
-
May 1st, 2008, 07:24 AM
#1
Fundamentals for C++ Beginners?
Firstly, the poll questions above should read: Select 2 of the most important assets for a future career as a software engineer.
Secondly, I would like to know what the core fundamentals that every C++ beginner should master inorder to create a solid foundation for a future career as a software engineer? (for example, control structures, arrays, classes, data structures, math etc)
Finally, I am reading books by Deitel and Malik, reading articles from Bjarne Stroustrup's website and posting questions on forums like this one. However, I often feel that I am not doing enough or that something fundamental is missing.
Thank you in advance for all of your responses.
Last edited by 01010011; May 2nd, 2008 at 11:15 PM.
Reason: Edit the pole questions
-
May 1st, 2008, 07:44 AM
#2
Re: Fundamentals for C++ Beginners?
I am not (yet) a software engineer and software engineering encompasses more than any one programming language, but perhaps you would like to read C++ Common Knowledge by Stephen Dewhurst, as well as the Effective C++ series by Scott Meyers.
-
May 1st, 2008, 08:18 AM
#3
Re: Fundamentals for C++ Beginners?
 Originally Posted by 01010011
I would like to know what the core fundamentals that every C++ beginner should master inorder to create a solid foundation for a future career as a software engineer?
The ability to analyse the problem you are trying to solve and break it down into its component parts. From there you can start to devise the algorithms necessary for the solution. This is necessary for virtually all types of engineering.
-
May 2nd, 2008, 12:10 AM
#4
Re: Fundamentals for C++ Beginners?
I would recommend reading on OOPs concepts because C++ base is on the OOPs fundamentals... Also I would suggest the book Thinking in C++ by Bruce Eckel... there you get to understand internals of C++ as well...
-
May 2nd, 2008, 12:35 AM
#5
Re: Fundamentals for C++ Beginners?
 Originally Posted by 01010011
I would like to know what the core fundamentals that every C++ beginner should master inorder to create a solid foundation for a future career as a software engineer? (for example, control structures, arrays, classes, data structures, math etc)
I strongly advice you to get a college degree. Apart from being great fun the years and money you invest will pay off thousandfold later in life.
-
May 2nd, 2008, 08:15 AM
#6
Re: Fundamentals for C++ Beginners?
 Originally Posted by JohnW@Wessex
The ability to analyse the problem you are trying to solve and break it down into its component parts. From there you can start to devise the algorithms necessary for the solution. This is necessary for virtually all types of engineering.
Right. I used to work with a guy that knew way more about the language than I did, but he couldn't figure out how to calculate get the average of a series of numbers. Syntax and tricks are good to know, but if the fundamental problem solving ability isn't there, they won't help.
-
May 2nd, 2008, 08:16 AM
#7
Re: Fundamentals for C++ Beginners?
 Originally Posted by _uj
I strongly advice you to get a college degree. Apart from being great fun the years and money you invest will pay off thousandfold later in life.
More good advice. Not having a degree will close a lot of doors and stop you from moving up in a lot of companies.
-
May 2nd, 2008, 09:18 AM
#8
Re: Fundamentals for C++ Beginners?
 Originally Posted by GCDEF
Right. I used to work with a guy that knew way more about the language than I did, but he couldn't figure out how to calculate get the average of a series of numbers.
We've had a series of people for interview here for a post involving realtime image analysis. Most seem to know how to find edges, peaks and such like, but when it comes to suggesting how they may use these features to extract the information we are searching for, they just look blank. Most seem to have come from an academic background and are somewhat suprised at the short analysis times we are constrained to.
-
May 2nd, 2008, 09:42 AM
#9
Re: Fundamentals for C++ Beginners?
Right. I used to work with a guy that knew way more about the language than I did, but he couldn't figure out how to calculate get the average of a series of numbers. Syntax and tricks are good to know, but if the fundamental problem solving ability isn't there, they won't help.
I've been trying to find the article on Joel Spolsky's website (maybe I am looking in the wrong website), but some author did relate how he conducted interviews with such simple on-the-spot tests, as opposed to specific technical questions that might be prepared for (with "model answers" memorised) in advance.
That said, no matter how good your problem solving ability, you must also be able to express the solution in code. This is why I think the question should be answered with respect to C++, since it was asked with respect to C++, though a more general overview of the fundamentals is good to keep in mind.
-
May 2nd, 2008, 09:49 AM
#10
Re: Fundamentals for C++ Beginners?
 Originally Posted by JohnW@Wessex
and are somewhat suprised at the short analysis times we are constrained to.
This short...
http://www.wellbelove.co.uk/video/video.html
-
May 2nd, 2008, 01:40 PM
#11
Re: Fundamentals for C++ Beginners?
 Originally Posted by GCDEF
More good advice. Not having a degree will close a lot of doors and stop you from moving up in a lot of companies.
Lets face it. Most of us aren't natural born coders or extremely lucky. We're average, and for the average Joe or Jane the surest route to becoming a successful programmer with an interesting challenging job and a high income is to have a college degree. All available statistics show this. Heck, you even live longer with a college degree.
Nothing says you cannot be a successful programmer without a college degree. Still if you want to optimize your chances you should get one.
-
May 2nd, 2008, 10:03 PM
#12
Re: Fundamentals for C++ Beginners?
Hello everyone,
Firstly, I would like to say thank you to everyone who replyed and gave me advice!
Laserlight: thanks for the book recommendations and the advice about software engineering is more than anyone programming language.
Johnw and GCDEF: Thanks for the advice on the importance of developing problem solving skills! To this end, I am taking Math as a minor and I sometimes use the IPO (Input Processing Output) charts, flow charts, pseudocode and desk checking I learned from Lesley Anne Robertson's book, "Simple Program Design". Furthermore, I always remind my self of the following saying: "programming involves 4 Ps: patience, practice, persistence and problem solving".
Shubhi: Thank you for emphasing the importance of OOP. One developer told me recently that when he switched from structured programming to OOP, it was like the greatest imrpovement to his programming life because error were easier to find and the code was easier to manage among other reasons. Also , I just got the book you recommended. Thanks
Uj and GCDEF: Thank you for your advice on getting a degree. Im currently persuing a double major in Computing and Business with a minor in Math. I choose business because I kept reading that many programmers lack an understanding of the needs a business. Regarding the math minor, I have read that the best way to problem solve is to learn math because math teaches you to think in a rigourous manner and provides critical thinking skills. But choosing math was not an easy decision becacuse I am weak in it but I am trying.
-
May 3rd, 2008, 12:27 PM
#13
Re: Fundamentals for C++ Beginners?
Finding solutions is the toughest part, translating that into code is easy. Making that code excellent is again a tough part, but you can't achieve this rightaway and it needs time. However, finding solutions, problem solving are important skills and getting as much exposure to your application domain is atleast as important as gathering technical expertise. Both need time and both should go hand in hand.
College degrees are very helpful!
Can you help me with my homework assignment?, Before you post!, Use code tags, How to post!, Codeguru technical FAQs, C++ FAQ Lite, Stroustrup: C++ Style and Technique FAQ, Guru of the Week, Comeau C and C++ FAQs, Comeau C++ Templates FAQs, CUJ @ DDJ, Spam threshold
My Blogs : Learning C++ is fun | Abnegator's reflections
Open Threads : C++ Aha! Moments | Nature of work in C++?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|