Monday, May 24, 2010

Help, Beginner's Question on C++ Language & Programming?

I have no knowledge or exp. of any programming language. Basically I am a beginner, I'm majoring in engineering requiring me to take courses in C++ Prog. I will be taking "Intro to C++ Programming" this Fall. (Description: design algorithms, write int./ext. docs, source codes) Assuming the class will be full of computer science majors, I don't want to look stupid.





1) Can anyone give me a brief summary of what I might be getting myself into, any advice?


2) Does C++ involve any math? What level?


3) Is there anything I should do to prepare for this course?


Any links to useful websites are appreciated..

Help, Beginner's Question on C++ Language %26amp; Programming?
The programming class will be broken into two parts: lecture and lab. Most introductory programming languages have books that are essentially primers. Some common features of introductory programming books are:





An easy to use, friendly guide.


A primer doesn't assume that you already are familiar with all relevant programming concepts.


A primer emphasizes hands-on learning with brief, easily typed examples that develop your understanding—one concept at a time.


A primer clarifies concepts with illustrations.


A primer provides exercises to let you test your understanding, making the book suitable for self-learning or for the classroom.





A beginning C++ book presents C++ fundamentals and illustrates them with short, to-the-point programs that are easy to copy, and to experiment with. The book is not intended to provide encyclopedic coverage of all features and nuaances of the C++ language. But it should present the most important aspects—while laying the foundation for further study.





If your class textbook doesn't accomplish the above to your satisfaction then, please do some outside reading and exercises, i.e., library books. it is important that you do not only the reading, but also complete all of the lab assignments.





You'll learn about the input and output, how to make programs perform repetitive tasks and make choices, the many way to handle and work with data, and how to use small packets of re-usable code: functions and subroutines.





You'll learn about the important object-oriented programming concepts of information hiding (lots of fun), polymorphism (not as bad as it sounds), and inheritance.





By the end, you should be able to write solid, effective programs, and hopefully enjoy yourself doing so.





Many universities do have a separate course in programming mathematics. However, programming is more geared toward logic and following a very structured language.





To prepare yourself for formal C++ instruction, familiarize yourself with the basic concepts. You can get books from a library or bookstore. Remember, the more knowledge and experience you take into a learning situation, the more you will get out of it.





I suggest that you google for C++ tutorials. Below I list a few on-line resources. I also recommend that—while you are learning the concepts—you write as many small programs as possible. This reinforces your knowledge, and improves your analytical skills as well. And finally, if you can find a great study partner then, it might make learning a bit easier..





Good luck.





---------------





C++ Tutorials:





http://www.cprogramming.com/tutorial.htm...


http://www.java2s.com/Tutorial/Cpp/Catal...





---------------





C++ Concepts:





http://www.codeproject.com/vb/net/


http://www.cplusplus.com/


http://www.samspublishing.com/articles/i...
Reply:My first language was C++. Go ahead and buy a book on C++ from Barnes and Nobles or some other book store if you want. A beginners book of course, a see what it's like. It will involve math. Knowing some calculus is probably preferable. Knowing logic is even more important...ie if then and or. It might be helpful to look up recursion in your new book and see if you can't figure out what they are talking about there. The main thing to remember though, is that it is an intro course, so don't worry about it too much. Your professor should lead you through it.
Reply:If you are a logical person you wil have no problem. Don't prepare, it's an intro course... go with it.





What goes overlooked by MOST people, even those that are software developers, is that algorithms ( http://www.answers.com/algorithm?cat=biz... ) are the key (which are written in english, not C++) and that is why your engineering degree requires it.





Programming languages (whether C++, Java, etc.) are simply a bunch of keywords and constructs (easy to learn in a couple weeks) that algorithms get translated into so the computer can solve the problem instead of a person.





The emphasis in this course will NOT be on writing C++, but to use it as the preferred tool to solve problem (and in your class these problems will not be related to the real world, but simple, academic problems like determining if a word is a palindrome).





C++ (like Java and C#) are unique and preferred because they are 'object-oriented' (OO) languages ( http://www.answers.com/topic/object-orie... ) as opposed to procedural languages like BASIC and C and Javascript.





If you have no previous procedural language experience it will be easier to grasp object oriented programming, which will be the most difficult thing to learn in order to start using C++ (you may want to just look for primers on OO programming). HTML is NOT a programming language but rather markup language (hence the ML in HTML).





Java or C# are WAY less cryptic and would be better for an intro course.





Good luck... enjoy.





(no offense to 'csanon' but that response is WAY off base.)
Reply:Answer to question 1:


It’s very hard to study English literature if you don’t know English. Likewise, if you want to study computer science, you’ll need to know at least one, if not more computer languages. Your course is teaching one such language (C++). You’ll end up doing a bit of computer science, very little but enough for a complete beginner. Mostly, you’ll focus on how C++ works.





C++ is a great language, but it’s a pretty bad language for a complete beginner. There’s a tremendous number of horribly written (mostly obsolete and inaccurate) learning resources, and C++ is a difficult language for various reasons (small core library, historic quirks). But it’s also the best systems level language, which is probably why your university chose to teach it. If you aren’t pursuing computer science, C++ isn’t really worth your time. If you are, well that’s that.





Expect some frustration. If by some good stroke of luck you have knowledgeable professors and TAs, you’re fine. Otherwise, you’ll have to figure out things on your own, and that can get painful when faced with short deadlines. C++ has a pretty long learning curve. If you have trouble with the computer science part, that’s even more problematic.





Answer to question 2:


C++ itself involves no math. The three paradigms it strongly involves are procedural, OO, and template programming. None of these are math or logic based paradigms. However, computer science is strongly related to mathematics. You’ll touch upon the very basics of computer science, so you won’t face difficult mathematics. However, you should be able to figure out logically the solution to problems, and in addition, you probably will have to derive algorithms. Again, this is all very very basic, but when people have trouble at this level, they really have trouble.





Answer to question 3:


There are things you can do to prepare. The first is getting good C++ learning resources. I know those college textbooks are expensive, but if you get a bad book from the course, you’ll have more trouble than necessary. There’s a number of ideal books for beginners, but since I have no idea how your course will be laid out, I recommend C++ Primer (4th Edition) by Lippman. Lippman is one of the recognized C++ experts and his book is also recognized by C++ programmers. There’s other useful books for C++ beginners, but I won’t recommend them because as I said I don’t know if you are serious about C++ and how your course will be laid out.





The second thing is finding good help resources. Yahoo Answers isn’t one of them. If you have knowledgeable friends (not classmates!) who are advanced CS students, and really, really know C++, you can ask them for help. Bad advice is really bad though, so avoid them if you aren’t sure. Find good help forums. http://cboard.cprogramming.com/ , http://forums.devshed.com/ , and http://www.daniweb.com/ are all good places to hang out. You can also tap into the usenet groups: http://groups.google.com/group/comp.lang... and http://groups.google.com/group/comp.lang... are frequented by advanced C++ programmers, some of the book authors, the inventor of C++, people who make up the C++ standards, and so on, but you can ask for help on generic C++ questions there. Just be careful, don’t dump your homework questions there. The standards for asking questions are pretty high there.





Remember to Google. You’ll want to know about http://c-faq.com/ and http://www.parashift.com/c++-faq-lite/ . You’ll want references to the standard library. You can google them, although cplusplus.com and cppreference.com are useful references for the library. So is SGI’s STLPort documentation.
Reply:Pay especially careful attention to the algorithms part. While documentation is important, and usually graded as such, if you understand what your teacher and the literature is telling you about how to do things, then the rest should be straightforward.





For an introductory programming course, the thing to remember is you don't have much perspective yet. The school will probably have good reasons for choosing this or that language, but you are learning the language and the discipline and it is very possible that if you study ahead (focusing on C++) you may find that what you have studied are the wrong things. The same may be true of your fellow students.





On this topic, the Wikipedia is a very good resource. Since the content is user-generated, it does have some flaws, but it has such a wide variety of contributors, especially on computer-related subjects, that as an introduction to many subjects it is as good as the sites which limit their contributions to certified "experts". I know there are arguments going on about this right now, but we're talking about the Wikipedia when it is read critically. You will get your textbooks in August or September. They should be what you need for the specifics of how you are going to get through the class. Any general introduction to the subject of programming should help. If only by putting your mind at ease.
Reply:As long as you have a good instructor, you should be fine. Also, any intro to programming class shouldn't have any expectations that the students taking it have any programming experience. C++ is a very easy language to learn. This is probably what you will do on the first or second day of class:





http://www.hitmill.com/programming/cpp/h...





No programming language requires math, but since you are already an engineering major, you should be adept enough at any math that gets thrown at you. I wouldn't expect anything as complicated as even Calc 1, but you never know. Good luck with the class!
Reply:dont worry itll be real simple. You'll probably want to get familiar with a command line interface though as most of your first programs will be command line apps. Im assuming your in windows so get cygwin which is like a unix command shell on windows and you can install a C++ compiler. read the docs to find out how to use it but that will be a very easy way to get started.
Reply:you will want to get a hang of some easier languages first





Start with html move on to BASIC, then VB etc....

song lyrics

No comments:

Post a Comment