1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to begin real programming

  1. Jun 8, 2013 #1
    How to begin "real" programming

    Around a year ago I decided to start learning to program in order to make a little bit of money on the side. I learnt javascript, html, css and a little php and python in order to start web development. My friend then designed for me websites, and I built them up to be sold. I made quite a bit of money doing this, and had a lot of fun, but now I want to start to actually make programs, or do some sort of modelling, anything which uses more maths basically (I'm starting a maths degree hopefully in September).

    In the future, I really want to go into some sort of financial analyst job (front office type role) - I searched online for the programming languages they use, and most people were saying you need to know how to use excel well, and some other programming languages which I've never heard of. I read online to really learn programming it's best to just install linux (which I did) and just experiment with that. I installed it on my netbook, and I have no idea what to do, or what anything does. I really want to start to learn how to go into modelling/software development, and just learn how to understand programming really, rather than following some guide all the time.

    I really don't want to go into web development in the future - and hope I can learn more useful languages to go into my hopeful career. If anyone could recommend what to do next it'd be appreciated, thanks.
     
  2. jcsd
  3. Jun 8, 2013 #2

    Borek

    User Avatar

    Staff: Mentor

    For me the best approach was always to attack some problem and to do combat scouting. For example - simulation of Newton mechanics in some planetary (or much larger) system. Yes, it was done zillion of times, but you will have to choose method, you will have to learn how to implement it, you will have to find the way of visualize the results. Plenty of work to do, and it will leave you with at least a basic working knowledge of the system.
     
  4. Jun 8, 2013 #3

    SteamKing

    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

    Linux is an operating system, like Windows or Unix. The function of an operating system is to manage the various input and output devices of the computer, provide the user with a means to manage the files stored on the computer, and to assist the processor in loading and executing programs. In order to learn how to use Linux, another round of training is required. Pick up a book like Linux for Dummies and start training yourself.

    In teaching yourself how to write applications, it will be easier to adapt to writing for certain operating systems. Those operating systems without a graphical user interface are somewhat easier to write programs for. With the graphical systems, you will need to be familiar with a lot of the details of the particular interface, and a specialized development environment which is tailored for programming can eas some of your burden. All in all, initially, a lot of your time is going to be spent learning how to operate your development tools and environment before you get to start writing code in earnest.
     
  5. Jun 12, 2013 #4
    Then take some computer science courses while you're there. Try to get through an algorithms course, and something that deals with computer architecture. The full degree is probably not worth it. In the meantime, do as borek says and find an interesting problem and attack.
     
  6. Jun 24, 2013 #5
    I am a mathematics student in my final year of undergraduate studies at the University of Alberta, and I myself have taken up programming on the side. Math and compsci go hand in hand in many instances so I thought this to be fruitful.

    I decided on taking an MIT opencourseware course (6.00-Python). It is very well done, and if you take the time to go through the whole course, you could benefit from it greatly. My understanding is once you get a strong grasp on a programming language like Python, learning other languages is not very difficult.
     
  7. Jun 25, 2013 #6

    chiro

    User Avatar
    Science Advisor

    Get an open source project that is mature in its development and use and take a look at the source code.

    Focus on the design of the project, its modules, the connections between them, the basic data definitions, the core API's (interfaces) and look at how extensions are created and executed within the framework of the project.

    Do this in conjunction with all the non-domain specific stuff (algorithms, compilers, standard data structures, etc) and you'll be on your way to achieve your goal.

    Also try modifying or adding features on your own as soon as you can to see how (painful) rewarding development can be.
     
  8. Jun 25, 2013 #7

    Cod

    User Avatar

    C++ and Java are the primary languages used in quantitative finance. Some of the other languages used regularly are R and MATLAB (modeling).
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook