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

REU Prep

  1. Apr 25, 2010 #1
    I'm a freshman majoring in Physics & Mathematics (Just added a CS minor) at a small liberal arts school. I managed to get accepted into a prestigious REU program that seems to be quite heavy in engineering & programming (I'll be constructing/programming something). I'm really excited for it, but I'm also a bit concerned. I have no formal college programming or electronics courses.

    I did a ton of programming in high school, and I'm relatively comfortable with C, C++, Java, and Python, and I'm learning Visual C/C++ and Visual Basic right now. I can write small console apps with file I/O and such, but that's about it right now. I took an entry level Intro to Robotics course during the January term this year, but it was extremely limited in actual applications (ie. I never actually built a robot, just programmed a premade one in C).

    Is it possible that they expect my taking a Intro Robotics course (EG 1xx level) to mean that I would immediately be capable of this? I don't want to show up without the knowledge they expect me to have. If so, what would you recommend I do to make sure I'm prepared? Is there anything in particular I should research or do to make sure I'm somewhat prepared for it?
  2. jcsd
  3. Apr 25, 2010 #2
    I cannot help with the engineering side of things, but here are a few questions to help with programming knowledge.

    Do you know the difference between an O(n) algorithm and an O(n**2) algorithm?

    Do you have a basic understanding of OOP and can you program and use interfaces?

    If given a data structure containing a pointer to a integer and a pointer to another data structure, could you construct a linked list in any programming language? Could you do it if this data structure was an object. Could you do this if this data structure was a 'struct' (such as in C)?

    Given a linked list of the above data structure, could you find the lowest integer? Could you order it?

    Can you use Java docs, Python docs, and C/C++ tutorials to teach yourself things you did not know? For example, looking up a new module in Python documentation, looking up a new class in Java, ect.?

    If you know all of this and are just a freshman, you are doing great.
  4. Apr 25, 2010 #3


    User Avatar

    They won't expect you to know much as a freshman. What you can do is email whoever you'll be working with, tell them you're really excited about the opportunity, and ask if they can recommend anything for you to read to prepare for the summer. Sometimes they'll send you something, sometimes they won't, but either way they'll be impressed that you asked and happy to see you're excited about the project.
  5. Apr 25, 2010 #4

    Thanks for the reply!

    It looks like I really do need to work on my programming knowledge. I tend to go back and forth between languages while trying to learn the different concepts. I went to C++ and Java so I can start using OOP (I'm working on that now), and I grabbed a python ide last week to do a couple Project Euler problems easier (easier syntax).

    Maybe I should just focus on a single language and learn as much as I can before moving to another... I have a lot of trouble just sticking to one language, and find I'm always wanting to switch as soon as I know the basic syntax, and I'm always trying to teach myself 5 or 6 things at the same time. I guess I'm just too impatient. I couldn't take any courses in programming this year, but next year I'm testing out of programming 1 and going right into programming 2.

    1. Yes
    2. I generally understand the concept of OOP, but I'm still trying to get interfaces and inheritance down.
    3. Yes (easily if it was a 'struct', but I'm still shaky on objects)
    4. Yes.
    5. Yes, I rely heavily on docs and tutorials already, and I'm comfortable looking up how to solve/do something.

    I guess I'll keep working on programming for now. Still worried about interfacing/engineering though.


    I can't believe I didn't think of that. I'll send them an email. Thanks.
    Last edited: Apr 25, 2010
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook