The Student Room Group

Want to learn how to program

Hi there, I've just graduated with a first in maths and I'm starting to look at jobs. A lot of the ones that sound interesting require programming experience/knowledge which I don't really have. How would you recommend going about learning how to program? I've used Fortran, R and LaTeX in my degree so there's a little bit of experience already. I'm particularly interested in learning C++. Is there any free online courses? Is there a book that I could buy? Also what kind of compiler would I need to install on my laptop? (got windows and linux installed if that makes a difference)

Thanks!
If you've done a degree in Maths and are looking for jobs primarily targeted toward that, programming languages like MatLab or Octave would be more suitable for you.

But if you do want to learn C++, a good start, if you wish to truly understand the concepts, would be the official reference book on C++: The C++ Programming Language (by Bjarne Stroustrup).

Another good resource would be http://www.cplusplus.com/doc/tutorial/.

If you want video tutorials then search on Youtube for "thenewboston". He has some nice tutorials for C++, I think. I've only really checked out the Java and Python ones so I can't tell you anything from personal experience.

Just as a tip, while you're learning programming, focus on the key concepts that you use. OOP concepts in this case since C++ is primarily focused on that. (I'm not really familiar with R and LaTeX but I assume they've taught you procedural and functional programming.)

Find the wiki here on Tech:Programming. PM me or find me on overclock.net if you wish.

Good luck.

EDIT: BTW, congratulations on the first in Maths. Which uni were you at, if I may ask?
Reply 2
Original post by {Unregistered}
If you've done a degree in Maths and are looking for jobs primarily targeted toward that, programming languages like MatLab or Octave would be more suitable for you.

But if you do want to learn C++, a good start, if you wish to truly understand the concepts, would be the official reference book on C++: The C++ Programming Language (by Bjarne Stroustrup).

Another good resource would be http://www.cplusplus.com/doc/tutorial/.

If you want video tutorials then search on Youtube for "thenewboston". He has some nice tutorials for C++, I think. I've only really checked out the Java and Python ones so I can't tell you anything from personal experience.

Just as a tip, while you're learning programming, focus on the key concepts that you use. OOP concepts in this case since C++ is primarily focused on that. (I'm not really familiar with R and LaTeX but I assume they've taught you procedural and functional programming.)

Find the wiki here on Tech:Programming. PM me or find me on overclock.net if you wish.

Good luck.

EDIT: BTW, congratulations on the first in Maths. Which uni were you at, if I may ask?


Thanks for all of that! What's the main differences between Matlab and C++? I was under the impression that Matlab was more for simulations and more mathematical purposes.

Would you recommend learning from a book or using the web? Is there exercise type parts in the book?

Oh and thanks, I was at Newcastle.
Original post by rifle.eyes
Hi there, I've just graduated with a first in maths and I'm starting to look at jobs. A lot of the ones that sound interesting require programming experience/knowledge which I don't really have. How would you recommend going about learning how to program? I've used Fortran, R and LaTeX in my degree so there's a little bit of experience already. I'm particularly interested in learning C++. Is there any free online courses? Is there a book that I could buy? Also what kind of compiler would I need to install on my laptop? (got windows and linux installed if that makes a difference)

Thanks!


Since you like mathematics, Project Euler would be a great place to start! You can use any language (or some people sometimes use pen and paper) and the problems are fun to solve :biggrin: Once you learn the basics, you will find your programming speed will quickly increase as you go through the problems. Once you've done with that then you can start making programs which you think will be useful maybe with GUIs etc.
Original post by rifle.eyes
Thanks for all of that! What's the main differences between Matlab and C++? I was under the impression that Matlab was more for simulations and more mathematical purposes.

Would you recommend learning from a book or using the web? Is there exercise type parts in the book?

Oh and thanks, I was at Newcastle.



MatLab and C++ are two completely different languages. (You may want to read their wikipedia articles for more info.) Yes, MatLab is more suitable for those purposes and that is exactly why I mentioned them to you, considering the fact that you have a Maths degree and may want to find a job in a related industry / position.

For a subject like CS (programming specifically), the Internet is all you need for all the educational resources you need but a good book (like the one I mentioned in my post earlier) shouldn't hurt. At the end, it really depends on how you learn better.
Reply 5
Original post by {Unregistered}
MatLab and C++ are two completely different languages. (You may want to read their wikipedia articles for more info.) Yes, MatLab is more suitable for those purposes and that is exactly why I mentioned them to you, considering the fact that you have a Maths degree and may want to find a job in a related industry / position.

For a subject like CS (programming specifically), the Internet is all you need for all the educational resources you need but a good book (like the one I mentioned in my post earlier) shouldn't hurt. At the end, it really depends on how you learn better.


Oops sorry, didn't catch that bit first time I read your reply :P

I haven't come across many jobs asking for Matlab and so was inclined not to learn that. Although do you know of many resources for learning Matlab?
Original post by rifle.eyes
Oops sorry, didn't catch that bit first time I read your reply :P

I haven't come across many jobs asking for Matlab and so was inclined not to learn that. Although do you know of many resources for learning Matlab?


Well I personally don't know Matlab so I can't really recommend you anything from personal experience but Google is your friend. :biggrin:

But you're right, a language like C++ (any C based language or similar like Java) will be seen as much better and more important in the job industry than one such as Matlab or Octave...generally. Not to say they're useless though, there may be some specific jobs that may actually require them.
Reply 7
i dont agree with you guys because i am MATLAB expert like since 6 years and i am earning way better than a C expert and the amount of work and toolboxes matlab have non other launguage have and having taughed some many students and helped so many students in coding and programming, i think MATLAB is the best :smile:
Reply 8
Original post by yashab
i dont agree with you guys because i am MATLAB expert like since 6 years and i am earning way better than a C expert and the amount of work and toolboxes matlab have non other launguage have and having taughed some many students and helped so many students in coding and programming, i think MATLAB is the best :smile:

It may well be the case that MATLAB experts earn a nice sum because it is a niche skill, but the fact remains that there are a lot more jobs out there working in the more conventional C, C++, Java.
Reply 9
Well, yashab notwithstanding (oh look, he/she/it's been banned), MATLAB is a hugely powerful mathematics/ engineering program with millions of users worldwide, and a lot of it is programmed using C-esque language anyway.

BUT, learning C/C++ and all it's quirks is a good way to get started in programming. The difficulty here is the ability to get a compiler. You can either go and get something like Microsoft Visual Studio, for several hundred quid for a license, Luckily, we now live in times where you can use your windows command line and gcc, which is an open source C compiler + libraries available from gcc.gnu.org/

That said, it's a bit of work setting it up, for something easier and still useful, you might want to look at something else - programming in python immediately springs to mind as much easier, for example.

Ordinarily I'd direct someone wanting to learn programming to try some sort of BASIC to get a feel for how programming works, but if you've had experience in Fortran, and are a fully capable mathematician, you should be able to start with C without too many problems.

Hope this helps.

Stu Haynes, MEng
(edited 11 years ago)
Reply 10
Original post by pheonix254
BUT, learning C/C++ and all it's quirks is a good way to get started in programming. The difficulty here is the ability to get a compiler. You can either go and get something like Microsoft Visual Studio, for several hundred quid for a license, Luckily, we now live in times where you can use your windows command line and gcc, which is an open source C compiler + libraries available from gcc.gnu.org/


You can get the free Express version of Visual C++ as a download from the Microsoft Site - the Express versions are brilliant for learning; they just don't have the Team Collaboration stuff, MSDN subscriptions and advanced debugging features that are used by professional programmers!

Quick Reply

Latest

Trending

Trending