BenjaminPQ Posted April 1, 2011 Posted April 1, 2011 Hello everyone, Long time lurker here - thanks for all the advice thus far! I have applied to several Ph.D. programs and it's looking pretty grim which is not a huge surprise as I rushed though my applications and I should have narrow my interests further. To distract myself from self-loathing I've decided to start preparing for the next application cycle. Several POIs wanted to know if I had any programming experience. One POI specified Matlab which I plan on becoming more familiar with. Should I also familiarize myself with C++ or Java for behavioral experiments? Further, will this pay off? Does it mean anything to POIs if I have read books on, or practiced using, Matlab or a more basic programing language? Thanks!
Insei Posted April 1, 2011 Posted April 1, 2011 (edited) Only speaking from personal experience, but one one of the professors I work closely with (cog neuro guy) has his research assistants program in C if they want to conduct behavioral experiments with him. He likes C because it's a low-level language, super compatible, and very powerful. He tells me that it'll look "pretty bitchin" (his words, not mine) on my CV It's useful as all hell to be able to program your own stimuli; saves the department time, money and it enables you to really customize your experiments. Edited April 1, 2011 by Insei
was1984 Posted April 1, 2011 Posted April 1, 2011 I'd focus more on a theoretical understanding of computer science than on which programming language to use. You can get a basic grasp of some of the more important algorithms pretty quickly. Concepts can easily be translated from one programming language to the next, but without those concepts you will always write crappy code in whatever language you choose.
BenjaminPQ Posted April 1, 2011 Author Posted April 1, 2011 Thanks! Anyone know if reaction time tests are doable in C? Specifically, I want to measure RT of two tasks that overlap at varying degrees. The tasks themselves are quite simple. They will consist of either an auditory discrimination task or a visual discrimination task (word or non-word or shapes). I just want to be sure this is possible in C. I know it's possible in Visual Basic because I had such a program available for my undergrad thesis. Thanks again!
neuropsych76 Posted April 1, 2011 Posted April 1, 2011 Hello everyone, Long time lurker here - thanks for all the advice thus far! I have applied to several Ph.D. programs and it's looking pretty grim which is not a huge surprise as I rushed though my applications and I should have narrow my interests further. To distract myself from self-loathing I've decided to start preparing for the next application cycle. Several POIs wanted to know if I had any programming experience. One POI specified Matlab which I plan on becoming more familiar with. Should I also familiarize myself with C++ or Java for behavioral experiments? Further, will this pay off? Does it mean anything to POIs if I have read books on, or practiced using, Matlab or a more basic programing language? Thanks! I'm also interested in cogneuro and from what I can tell, computer programming is a nice plus but not mandatory for admission decisions. I'll most likely be attending a program next fall that has a focus on quantitative neuroimaging which means heavy matlab use. I've never used matlab in my life and my POI knew this beforehand That said, I really wish I knew more computer programming and I'll be reviewing some C and linear algebra...
Insei Posted April 4, 2011 Posted April 4, 2011 Thanks! Anyone know if reaction time tests are doable in C? Specifically, I want to measure RT of two tasks that overlap at varying degrees. The tasks themselves are quite simple. They will consist of either an auditory discrimination task or a visual discrimination task (word or non-word or shapes). I just want to be sure this is possible in C. I know it's possible in Visual Basic because I had such a program available for my undergrad thesis. Thanks again! Easily. Honestly, anything a computer can do, C can tell it to do it. You just have to know how.
honkycat1 Posted April 5, 2011 Posted April 5, 2011 yea programming is one of the few skill sets that the cog people will say they really like. because it really saves a TON of training they have to do. it could be C++, VB, Python whatever, its just a really nice skillset to have. I know here, a lot of labs use e-prime and its a nice software but people that can write codes and actually program will make much better use of it. I think, if there is one skillset that can actually make you standout as a grad applicant, it would be programming skills.
BenjaminPQ Posted April 6, 2011 Author Posted April 6, 2011 I'm also interested in cogneuro and from what I can tell, computer programming is a nice plus but not mandatory for admission decisions. I'll most likely be attending a program next fall that has a focus on quantitative neuroimaging which means heavy matlab use. I've never used matlab in my life and my POI knew this beforehand That said, I really wish I knew more computer programming and I'll be reviewing some C and linear algebra... Congrats on your acceptance! It's reassuring to know previous experience in Matlab is not a deal breaker. Matlab for students looks to be about $100 and doesn't come with the toolboxes that would be relevant. So, I guess I will just stick with learning some basic programming, which by itself sounds like would give my application a slight boost.
BenjaminPQ Posted April 6, 2011 Author Posted April 6, 2011 Perhaps, someone more experienced programming could suggest a language to start with given my needs (stated above)? I hear C++ is very difficult and I fear it might be more than I need. Visual Basic looks to be getting a little out dated or maybe just falling out of popularity? What about C# or just C? As you can tell, I know zilch about programming at this point I will be trying to answer these questions myself but if anyone with some experience would like to throw a couple pointers my way I would really appreciate it!
neuropsych76 Posted April 6, 2011 Posted April 6, 2011 Congrats on your acceptance! It's reassuring to know previous experience in Matlab is not a deal breaker. Matlab for students looks to be about $100 and doesn't come with the toolboxes that would be relevant. So, I guess I will just stick with learning some basic programming, which by itself sounds like would give my application a slight boost. Thanks! Yes, I don't think it would be worth buying matlab unless you have an extra $100 laying around. I did have some very minor programming experience (visual basic, unix) and it was brought up at interviews so I would recommend even learning some basic programming just to be familiar with it. Best of luck!
nessa Posted April 6, 2011 Posted April 6, 2011 If you're trying to strengthen your application, I would say that just learning some language would only be marginally useful. Programming is really helpful in cognitive neuroscience, but I'm surprised that your lack of programming knowledge was specifically pointed out as a deficit. Do you have any experience doing cog neuro- type research? When I was applying for RA jobs in neuroscience labs, my lack of programming experience was brought up as a drawback, but I think it stood for my general lack of experience in the field. What helped me learn was getting a job where I was not required to do programming, but was around it and could pick it up. Is there some way you could gain that sort of experience (either by working, volunteering, whatever) before you apply again?
BenjaminPQ Posted April 8, 2011 Author Posted April 8, 2011 If you're trying to strengthen your application, I would say that just learning some language would only be marginally useful. Programming is really helpful in cognitive neuroscience, but I'm surprised that your lack of programming knowledge was specifically pointed out as a deficit. Do you have any experience doing cog neuro- type research? When I was applying for RA jobs in neuroscience labs, my lack of programming experience was brought up as a drawback, but I think it stood for my general lack of experience in the field. What helped me learn was getting a job where I was not required to do programming, but was around it and could pick it up. Is there some way you could gain that sort of experience (either by working, volunteering, whatever) before you apply again? I do not have cog neuro research experience. I have cog psych experience from my undergrad thesis (task management research using behavioral methods). I also worked for 3 years as an RA (data management and analysis) in pediatric psychiatry. That was more of a paying-the-bills kind of gig but there are some connections to my research interests, such as executive functioning. I agree completely that my best bet is to work/volunteer in a neuroimaging lab but these positions seem rare. I just moved to Durham, NC. I do have a solid connection at one of the local universities but his advice was to apply to a post-bacc they offer. That makes me think they have all the help they need and they use this post-bacc to select only the best. I've searched high and low for positions but I've only found one and it was too late to apply. Are these positions usually advertised? Should I just start emailing profs? My wife thinks I should just invite them out to lunch
nessa Posted April 8, 2011 Posted April 8, 2011 I do not have cog neuro research experience. I have cog psych experience from my undergrad thesis (task management research using behavioral methods). I also worked for 3 years as an RA (data management and analysis) in pediatric psychiatry. That was more of a paying-the-bills kind of gig but there are some connections to my research interests, such as executive functioning. I agree completely that my best bet is to work/volunteer in a neuroimaging lab but these positions seem rare. I just moved to Durham, NC. I do have a solid connection at one of the local universities but his advice was to apply to a post-bacc they offer. That makes me think they have all the help they need and they use this post-bacc to select only the best. I've searched high and low for positions but I've only found one and it was too late to apply. Are these positions usually advertised? Should I just start emailing profs? My wife thinks I should just invite them out to lunch that sounds roughly like where I was coming from- some research experience (you have more than I did, actually) but not in the specific field. And if you don't know how to program, etc. it can keep you from getting a lot of the opportunities, but the best way to learn those skills is to work those sorts of jobs... lots of fun. I actually live in the area you moved to, and if it's the post-bac I'm thinking of, yes, apply to it PM me if you want more info. There is also a lot of cog neuro research around here, so there are relatively more opportunities than you would other places... still few and far between, unfortunately. I found my job online because I was applying pretty much anywhere, but if you are looking at specific research interests in a specific location I would email people a cover letter and CV. And hey, if people are willing to meet with you for lunch, go for it!
hello! :) Posted April 9, 2011 Posted April 9, 2011 I do not have cog neuro research experience. I have cog psych experience from my undergrad thesis (task management research using behavioral methods). I also worked for 3 years as an RA (data management and analysis) in pediatric psychiatry. That was more of a paying-the-bills kind of gig but there are some connections to my research interests, such as executive functioning. I agree completely that my best bet is to work/volunteer in a neuroimaging lab but these positions seem rare. I just moved to Durham, NC. I do have a solid connection at one of the local universities but his advice was to apply to a post-bacc they offer. That makes me think they have all the help they need and they use this post-bacc to select only the best. I've searched high and low for positions but I've only found one and it was too late to apply. Are these positions usually advertised? Should I just start emailing profs? My wife thinks I should just invite them out to lunch Email professors at Duke! You just gotta put yourself out there -- even if you find that most of them don't respond to your emails. (But don't be a pest by sending multiple inquiries!) Also, speaking from personal experience, I would also advise not to read too much into the advice that you received. He may have urged you to apply for the post-bacc program because those are typically excellent opportunities to gain research experience while getting paid. Further, many post-bacc programs are funded by a grant (although I'm not sure if this is universal), which means greater freedom for you to join the lab that best fits your interest, since the advisor would not need to fund you. Moreover, many of these programs are structured to see the post-bacc succeed, so you will gain not only the experience to put on your CV, but scientific mentorship as well. In light of all the benefits a post-bacc program can offer, it's not surprising to me that your connection suggested this option first! And if this person is a *solid* connection, then I would assume that he probably knows at least a little bit about you and he wouldn't have recommended it if he thought that you didn't stand a chance. In regards to finding paid positions, yes they can be difficult, but sometimes it's just luck. Since there are major budget issues right now, it's probably extra hard. You could also try volunteering first. I did that and I started getting paid full-time after about 3 months of volunteering. Before you join, you might also consider nicely asking a current grad student in the lab about their advisor's current funding situation. Best of luck!
neuropsych76 Posted April 9, 2011 Posted April 9, 2011 I agree with the previous posters about emailing profs and working in a cogneuro lab. I used the shotgun approach and emailed lots of profs and was lucky enough to get a summer position in an fmri. this was a wonderful experience and probably was the main reason i got into grad school.
cogneuroforfun Posted April 11, 2011 Posted April 11, 2011 (edited) Matlab Matlab Matlab Matlab Matlab. Regardless of what other programs the lab uses, you can use it for most any data analysis and statistics. Many labs use Psychtoolbox, which is a plug-in for Matlab for programming behavioral tasks (stimulus delivery, subject responses, etc.). Many fMRI labs use SPM, which is another plug-in for Matlab for neuroimaging data analysis. I also think that Matlab is a pretty friendly introduction to coding and programming in general. You can learn many of the basic programming skills that will be useful in any language, but are somewhat more intuitive and easy-to-learn in Matlab (in my opinion, anyways). I learned Matlab first, then learned C++ (the lab I'm in programs tasks in it), but still use Matlab for most things. You just don't need a really low-level language for most of the things you'll want to do. Edit: Just to add, I think being proficient in Matlab was a pretty big boost in my application. It is a very versatile skill to have in basically any field that handles large amounts of data. Edited April 11, 2011 by cogneuroforfun
Arcadian Posted April 11, 2011 Posted April 11, 2011 The funny thing is that I took a course in Matlab programming during my freshman year when I was an engineering major. It was required for the engineering degree. I hated the class, and when I changed my major, I thought I'd never have to see it again. Now I find myself in cognitive neuroscience and...yeah. Haha. Even though I'm not very good at programming, at least I've taken a course in it. I still have the basic software, so perhaps I'll do a little practicing with it over the summer.
cogneuroforfun Posted April 12, 2011 Posted April 12, 2011 The funny thing is that I took a course in Matlab programming during my freshman year when I was an engineering major. It was required for the engineering degree. I hated the class, and when I changed my major, I thought I'd never have to see it again. Now I find myself in cognitive neuroscience and...yeah. Haha. Even though I'm not very good at programming, at least I've taken a course in it. I still have the basic software, so perhaps I'll do a little practicing with it over the summer. Even just being able to use basic loops to format data, sort it, etc., saves you so much time compared to making massive Excel spreadsheets and doing things by hand. Also, anyone currently at a university should be able to get a free license for Matlab through their school and/or department. That was the case at both my undergrad and grad school, and I would think at most major universities. One more quick benefit of Matlab and then I'll stop gushing about it. There are tons of custom pieces of code written, in addition to all the built-in functions. Unless you're the first person to want to use some technique, you're almost certain to be able to find a function posted online that does it in Matlab. Even if it isn't exactly tailored to your needs, it gives you an example to modify and build on.
lucere Posted April 13, 2011 Posted April 13, 2011 Even just being able to use basic loops to format data, sort it, etc., saves you so much time compared to making massive Excel spreadsheets and doing things by hand. Also, anyone currently at a university should be able to get a free license for Matlab through their school and/or department. That was the case at both my undergrad and grad school, and I would think at most major universities. One more quick benefit of Matlab and then I'll stop gushing about it. There are tons of custom pieces of code written, in addition to all the built-in functions. Unless you're the first person to want to use some technique, you're almost certain to be able to find a function posted online that does it in Matlab. Even if it isn't exactly tailored to your needs, it gives you an example to modify and build on. I second basically everything said about the utility of Matlab. "True" computer scientists tend to loathe it because it's less efficient and gives the user less control than they would like, but for the inexperienced user who just wants something easy that works reliably, Matlab is really the way to go. I think your time would be much better spent learning how to use matlab (this may require some review of linear algebra/matrix math) than trying to learn a more traditional language. Also, from what I can tell at my university, almost everyone has used it at some time or another. (Case in point, in our stats class, out of around 15 people, only three had never used it, and all of them were at least somewhat versed in another language that easily translated.)
neuropsych76 Posted April 13, 2011 Posted April 13, 2011 I second basically everything said about the utility of Matlab. "True" computer scientists tend to loathe it because it's less efficient and gives the user less control than they would like, but for the inexperienced user who just wants something easy that works reliably, Matlab is really the way to go. I think your time would be much better spent learning how to use matlab (this may require some review of linear algebra/matrix math) than trying to learn a more traditional language. Also, from what I can tell at my university, almost everyone has used it at some time or another. (Case in point, in our stats class, out of around 15 people, only three had never used it, and all of them were at least somewhat versed in another language that easily translated.) So for people who have not used matlab much before (me) what do you think is the best way of getting a good background before using it? You mentioned learning linear algebra and I was told that this was a good way to go. Is there anything else I should do before starting grad school (i know i'll be using matlab heavily so i'd like to come in with even a little knowledge) Thanks!
hello! :) Posted April 13, 2011 Posted April 13, 2011 So for people who have not used matlab much before (me) what do you think is the best way of getting a good background before using it? You mentioned learning linear algebra and I was told that this was a good way to go. Is there anything else I should do before starting grad school (i know i'll be using matlab heavily so i'd like to come in with even a little knowledge) Thanks! Just because the Matlab program is built around the concept of matrices, it doesn't necessarily mean a course in linear algebra would boost one's facility to pick up the language. For those who have little to no programming experience, I would recommend an introductory course in java or something, offered at most community colleges. As was1984 said, it's important to gain a theoretical understanding of computer science if one wants to eventually become a proficient programmer; it's less important to study the specific math that Matlab performs. You'll probably find scripting in Matlab much easier if you already know concepts such as data structures, data types... Do you know what's the difference between a cell array and a matrix? What are structure arrays typically used for? These are important concepts that will come up if you were to write your own code. Of course, I'm not saying that learning linear algebra won't help you. It's great general knowledge to have, especially in cognitive neuroscience research.
neuropsych76 Posted April 13, 2011 Posted April 13, 2011 [quote name=hello! ' timestamp='1302722868' post='244239] Just because the Matlab program is built around the concept of matrices, it doesn't necessarily mean a course in linear algebra would boost one's facility to pick up the language. For those who have little to no programming experience, I would recommend an introductory course in java or something, offered at most community colleges. As was1984 said, it's important to gain a theoretical understanding of computer science if one wants to eventually become a proficient programmer; it's less important to study the specific math that Matlab performs. You'll probably find scripting in Matlab much easier if you already know concepts such as data structures, data types... Do you know what's the difference between a cell array and a matrix? What are structure arrays typically used for? These are important concepts that will come up if you were to write your own code. Of course, I'm not saying that learning linear algebra won't help you. It's great general knowledge to have, especially in cognitive neuroscience research.
nessa Posted April 13, 2011 Posted April 13, 2011 I'm a big fan of MIT's open course ware for anything math/computery; here's the matlab course they have: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-094-introduction-to-matlab-january-iap-2010/ other than that, here's how I learned Matlab: 1) think of something (manageable) to write code for 2) find code doing something similar 3) write lots of (awful) code until it works 4) look through my code and try to make it simpler & faster it's not terribly formal, but it does the trick:) also, I would suggest making good friends with someone who knows it well, and pestering them for help.
neuropsych76 Posted April 13, 2011 Posted April 13, 2011 I'm a big fan of MIT's open course ware for anything math/computery; here's the matlab course they have: http://ocw.mit.edu/c...nuary-iap-2010/ other than that, here's how I learned Matlab: 1) think of something (manageable) to write code for 2) find code doing something similar 3) write lots of (awful) code until it works 4) look through my code and try to make it simpler & faster it's not terribly formal, but it does the trick:) also, I would suggest making good friends with someone who knows it well, and pestering them for help. I have been using MIT's open course for linear algebra and its been great Thank you for the advice on learning matlab! But what if I do not have access to matlab? Would Octave be an adequate replacement for gaining a basic understanding of matlab or would i just confuse myself when I actually do use matlab? I know they are pretty similar and I think octave can run matlab files Thanks again!
hello! :) Posted April 14, 2011 Posted April 14, 2011 I have been using MIT's open course for linear algebra and its been great Thank you for the advice on learning matlab! But what if I do not have access to matlab? Would Octave be an adequate replacement for gaining a basic understanding of matlab or would i just confuse myself when I actually do use matlab? I know they are pretty similar and I think octave can run matlab files Thanks again! It's a good place to start, but you're right about there being slight differences... Just something to be aware about if there comes a time to make the transition. I can't comment on the specific differences though, since I've never personally used Octave. Good luck!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now