Maths: Programming and my future

Started by
8 comments, last by Anri 18 years, 8 months ago
Hi there guys, firstly I hope this is the right place to most my questions. In September I am off to University to do a degree in Mathematics. When I come out of University I would like as many options as possible. Now i believe that a very strong maths knowledge with programming would give me lots of opportunitys. My question would be am I right in that C++ would be a good place to start? I really don't want to come out of my course in 4 years time having learnt the wrong language. I have programming experience from a year ago with VB but it didn't seem to offer me enough.. (Sorry to anyone who loves VB) And then once I know C++ should I focus on learning how to create games or with such a strong maths background would anyone recommend other things for me to focus my programming knowledge around? Thanks :)
Advertisement
Are you doing a pure math degree? If not, I have seen some that teach C++/Java. If your course does teach a language, concentrate on that. If it does not teach a language, learn C++. There are many reasons for this, but I’m sure you'll have no trouble finding them by browsing this Beginners forum (as this sort of query pops up a lot!). Then, once you have learnt a language, make as many programs as you do breaths (both small and large) with it. Experience is key!
first of all, ,congrats on going to university, and after 2 yrs of computer science I've realized 2 thing. Math is helpful in allowing you to think in a way where its easier to solve Programming problems. 2 I found out that theres not real wrong language no right language, you want to make yourself where you can adapt to any language. So learn as many as you can, but concentrate on a few like C/C++/JAVA since those are the industry standards these days.
you cant go wrong with learning C++ first in my opinion.
Hi,

First, a Math degree will be a very helpful thing indeed. As far as the programming language goes there really isn't a 'wrong' language.

You might not think it at first, but by the time you complete your math degree you will HAVE to know some programming language to some extent.

Once you start getting into the more advanced math classes (probably an advanced DifEQ course or higher), you will find yourself doing some programming.

Programming and Math are married at the high level. A CS student CANNOT get by without having a good knowledge of math.

And a Math student CANNOT get by without having a good knowledge of programming.

A very nice degree would be a double major Math/CS. But it's not required. But the more you embrace CS the better it will help you as a Math Student.
If math is your major focus, then also try to get a grip of Maple and MatLab if possible. Both will come in very handy, I'm sure.
I can also recommend Maple to programmers like myself. It's quite good to test algorithms.
C++ is a bit of an industry standard, so yes, it would be an excellent language to learn if you can handle it. Other viable options include (but aren't limited to) Python (and later C and/or C++), Java, C#. Once you've picked up one language well and learned your fundamentals you'll generally be able to learn (most) other languages a lot easier, so you can always learn additional languages if you like.

Do learn to program games if that's what you're interested in. Learn a little bit of everything you can, but focus in one area that particularly interests you after trying everything out if you can. Someone who's very good in a specific area and has basic skill and understanding of others is better than someone with slightly-above-basic skill in all areas.

Having a completed degree will also help you, not just in the knowledge it represents, but also in that it demonstrates your ability to learn and shows that you'll stick with things and put in effort.

- Jason Astle-Adams

To be honest I think there is generally a lot more emphasis put on language than needs to be the case. After having become competent with something as complicated as C++ you'll probably find it relatively easy to switch to other object oriented or procedural languages such as Java or C, as they all have striking similarities. Beyond that, perhaps it would be advisable to have a look at things like LISP and SQL, as these seem to be the only ones with a rather different way of thinking attached to them (that I've had to use so far - there are probably others). In short, learn one reasonably complex language well, and the others should come easily.
Thanks for the replies :).

I am doing an entirely maths course so most of the programming I do will be in my spare time :).

From your replies one question still remains in my mind, once I have learnt C++ some of you talked about it being good to become proficient in all areas but to be particularly good in one area.. what type of areas are we talking about?

Cheers
Some of the common areas to specialise in include Networking, Graphics, AI, Audio Programming -- basically any well defined area common to all or most games, where knowledge of specific techniques, involved hardware, etc. will allow you to make a large contribution to projects -- You can even further specialise within your chosen area; you could work a lot with emergent AI as an example. Knowing a bit of everything you can is great, and bonus points for knowing it well, but having a clearly defined specialty in which your skills are well above average will be very helpful to you in the long run. As you learn and try out various topics, something will eventually catch your interest. This is of course aimed mainly at getting into serious games development, you'd potentially want to look at an entirely different angle if you wanted to specialise in applications programming or some other area.

But in any case, your first challenge will be learning and becoming confortable with your chosen programming languages (appears to be C++), and this can by itself be a fairly difficult task. Take your time, put in the effort, and make sure you understand exactly what it is that you're doing before you move on too far. It takes a lot of dedication to become a very skilled programmer, but it's also very rewarding. Ask questions, try out example programs and try modifying the code to see what happens, read everything you can, and you'll do just fine.

Also remember not to aim too high to start with; when learning C++ it's best to start off with some console programs to allow you to get to grips with the basics of the language -- make Hello World, Hello User (a variant where the program greets the user by name), make Guess My Number, and make as many other programs as it takes to learn the basics (Tic-Tac-Toe is a good reasonably basic game that can be made in the console), and continue to build on your knowledge.

Hope that helps you, don't hesitate to keep asking any further questions. [smile]

- Jason Astle-Adams

I would recommend C++ to accompany your maths degree. It can be a head-ache at times, but keep in mind that it is a standard in the games industry and is very powerful if you can master it.

Best of luck with your studies.

Languages; C, Java. Platforms: Android, Oculus Go, ZX Spectrum, Megadrive.

Website: Mega-Gen Garage

This topic is closed to new replies.

Advertisement