Preparation for subfields of neuroscience

Click For Summary
The discussion centers on the challenges faced by a biological engineering major exploring subfields of neuroscience, particularly in mathematical modeling and neuroengineering. There is a consensus that an engineering background provides a solid foundation for graduate work in both modeling and brain-computer interfacing, although additional programming and computational skills may be necessary. Participants emphasize the importance of understanding relevant research papers and suggest that familiarity with MATLAB and programming languages like C or Fortran can be beneficial. The distinction between mathematical, computational, and theoretical neuroscience is deemed minimal, with a focus on the underlying methods and questions being more critical. Overall, the conversation highlights the interdisciplinary nature of neuroscience and the diverse paths available for students with engineering backgrounds.
jbrussell93
Messages
409
Reaction score
37
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.
 
Biology news on Phys.org
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
http://www.plosone.org/article/info:doi/10.1371/journal.pone.0006243
http://www.stat.cmu.edu/~kass/papers/comparison.pdf
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3118434/

From the journal this is will be published in, I'd imagine a bioengineering major would be great preparation.
http://donoghue.neuro.brown.edu/publications.html
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:
atyy said:
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
http://www.plosone.org/article/info:doi/10.1371/journal.pone.0006243
http://www.stat.cmu.edu/~kass/papers/comparison.pdf
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3118434/

From the journal this is will be published in, I'd imagine a bioengineering major would be great preparation.
http://donoghue.neuro.brown.edu/publications.html
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.

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:
jbrussell93 said:
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.

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 traveling 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:
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:
http://www.mathworks.com/support/tech-notes/1500/1510.html#fixed

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.
 
Pythagorean said:
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:
http://www.mathworks.com/support/tech-notes/1500/1510.html#fixed

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.

Very helpful as well, thanks. You say that you have become more of a programmer, what exactly are you majoring in?
 
Undergrad was physics; ms in computational neuroscience.
 
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).
 

Similar threads

Replies
5
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
7
Views
1K
  • · Replies 6 ·
Replies
6
Views
2K
Replies
3
Views
2K
Replies
32
Views
8K
  • · Replies 18 ·
Replies
18
Views
1K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 10 ·
Replies
10
Views
5K
Replies
27
Views
18K