Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Preparation for subfields of neuroscience

  1. Jun 9, 2012 #1
    I am currently a biological engineering major, minor in math and computational neuroscience. I have a passion for math, physics, and biology and feel that the perfect field for me is neuroscience, but I'm having trouble determining which subfield of neuroscience best suits me and the best preparation. Also, I'm not sure exactly what is the difference between mathematical/computational/theoretical neuroscience?

    Originally, I was very interested in mathematical models of individual neurons as well as neural networks, but recently I have been thinking more about neuroengineering and brain-computer interfacing. Will my undergraduate degree in engineering prepare me for graduate work in either modeling or interfacing or would math, CS, or physics be better? My fear is that I won't have the programming/computational skills to do anything meaningful in modeling with my engineering training.

    I should also mention that I'm currently working in a neurobiology lab on the mathematical modeling side of things... I'm just getting started but find it very fascinating.
  2. jcsd
  3. Jun 9, 2012 #2


    User Avatar
    Science Advisor

    There is no difference between mathematical/computational/theoretical neuroscience. There are nuances, as in physics, but they don't really matter.

    Why don't you just read the papers you are interested in, see what methods they use, and if you can understand them. Eg. can you understand these?
    http://www.eecs.berkeley.edu/~sdangi/dangi_ne2011.pdf [Broken]

    From the journal this is will be published in, I'd imagine a bioengineering major would be great preparation.
    Hochberg, Leigh; Nurmikko, Arto; Donoghue, John P. (2012, to appear)
    Brain Machine Interface
    Annual Review of Biomedical Engineering Volume 14, 2012 August

    Try writing to the labs whose work you are interested in. They will be able to give you specific advice.

    Hmm, Donoghue has an advertisement for an undergrad position: http://donoghue.neuro.brown.edu/jobs/ugrad.html. It looks like it's for Brown undergrads only, but it might be helpful for the background they list.
    Last edited by a moderator: May 6, 2017
  4. Jun 9, 2012 #3
    Thank you very much, this was definitely all very helpful. Unfortunately I have only just completed my first year of undergrad so most of the stuff in those papers flew right over my head. I guess that is partially what is bothering me... I feel as though, by the time I graduate I should be able to understand every detail of papers such as those, but I can't imagine learning stuff like that in my undergrad classes. I guess that is why people go to grad school in the first place!

    So as it appears, I should be fairly well prepared for interfacing with an engineering degree, but what about work in computational neuroscience? Would calc I - differential equations and linear algebra be enough math or is an applied math major necessary? Also, how much programming should I know and what languages? From what I've found, matlab seems to be the most useful.
    Last edited by a moderator: May 6, 2017
  5. Jun 9, 2012 #4


    User Avatar
    Science Advisor

    I'm not a professional, so don't take me too seriously.

    The most important thing is to know what questions are interesting (to others and to yourself), and which experimental data are reliable, and what approximations or level of detail needs to be incorporated in the model. I expect this is stressed in physics and engineering courses. Math is always useful, but one can't learn everything, so it's ok to learn irrelavant maths, as that gets you the skill of learning new maths when you need it.

    The classic tools of mathematical neuroscience are partial (Hodgkin-Huxley model of the travelling action potential) and ordinary differential equations (HH space-clamped equations). These can be extended to synapses between neurons, including simplified models such as firing rate models (http://www.neurotheory.columbia.edu/~ken/pubs/murphy-miller09.pdf , http://www.neurotheory.columbia.edu/~ken/pubs/murphy-miller09-supplement.pdf)

    Probability is also very important (Markov models for channel transitions), including statistical mechanics methods (http://neurotheory.columbia.edu/~larry/ToyoizumiPRE11.pdf)

    I believe numerical methods for large-networks will become more important, if experimentalists provide enough data. So that will require some knowledge of numerical algorithms, and programming beyond Matlab. On the slow end of things (like Matlab), there's a really nice network simulator that experimentalists can play with http://briansimulator.org/. Theorists will want something faster, but that's a pointer to the literature.

    Here's a talk by Albert Compte, which gives an accessible account of much research I find interesting.
    Brain Networks to Support Memory

    I also recommend this talk by Robert Legenstein about a neuron network theory of learning and brain-computer interfaces.
    Functional Network Reorganization In Motor Cortex Can Be Explained by Reward-Modulated Hebbian Learning
    Last edited: Jun 9, 2012
  6. Jun 9, 2012 #5


    User Avatar
    Gold Member

    Calculus and differential equations is necesasry for a mechanistic approach (ie. molecular models like hodgkin huxley and morris lecar) but there's also a statistical/data-mining aspect of computational neuroscience and probably other approaches I'm not especially aware of.

    MATLAB can suffice in many cases. They now have class definitions, inheritance, and other object-oriented programming concepts and a parallel computing tool box for speed. Our university has a processor pools for matlab that are fine for running simulations on the order of hundreds of dimensions if you parallelize your code. Once you get up to thousands, you'll be waiting days for runs, so getting lots of statistics from thousand-dimension systems becomes troublesome.

    You also have to be careful when using nonlinear systems how you use their dynamics step size solvers. They have fixed-step solvers available online which are more deterministic with such sensitive systems:

    But, I ultimately agree with atty; Something like C or fortran is what most supercomputers run on. After spending two years doing research on a mathematical neural model, I wish I would have done it all in C and had better programming practices from the start. That project has grown into a mass of a folders and functions and data haphazardly strewn about. But I suppose one of the points of a thesis project is to figure out you need better organization. It's amazing how much better my other, more recently started projects, are organized and coded; I've become more of a programmer out of necessity and time optimization.
  7. Jun 9, 2012 #6
    Very helpful as well, thanks. You say that you have become more of a programmer, what exactly are you majoring in?
  8. Jun 10, 2012 #7


    User Avatar
    Gold Member

    Undergrad was physics; ms in computational neuroscience.
  9. Jun 13, 2012 #8
    My experience is that computational/theoretical neuroscience is a very interdisciplinary subject but that people tend to focus on the area close to what they did as an undergraduate. For example, many CS undergraduates do work in the machine learning/neuroscience interface whereas engineers might go into the neurally inspired robotics field etc. You can certainly find an area that you will be well prepared for with an engineering degree (if not most areas provided you do some further study).
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook