As a physics undergraduate with the desire of going to grad school for physics (specifically HEP or field), I've come to understand the importance of learning some programming. I've come to the conclusion, through this forum and personal contacts, that Matlab, Mathematica, and Fortran are user-friendly enough to pick up as needed and that the most helpful (in a broad sense) would be C++. First of all, any comments on that conclusion? If this is the case, the next step is learning the language, of course. My university offers C++ broken up into two semesters: intro and advanced. However, it seems that intro is very beginner and that it could be kind of.. slow. If this is the case, it hardly seems worthwhile to take up an entire semester to take the course, let alone an entire year to take both courses. I'm fairy confident in my self-study abilities, but will my knowledge of the language be proficient enough? Lastly, I've heard that learning C before C++ can kind of smooth the transition, so to speak, and gives a more thorough understanding of C++. Is this true and/or advisable? Thanks for the help, as always!