C++ Independent Study for Research Position Advice

Click For Summary

Discussion Overview

The discussion revolves around the expectations for "basic" knowledge of C++ required for a research position in astrophysics at the University of Rochester. Participants explore what foundational programming skills are necessary, particularly in relation to the specific research tasks that may be involved.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant expresses uncertainty about what "basic" knowledge of C++ entails for their upcoming research position, particularly in the context of astrophysics.
  • Another suggests downloading a quick learning resource to gain a foundational understanding of C++.
  • A participant emphasizes the importance of learning fundamental programming techniques rather than focusing solely on specific language features.
  • Discussion includes a list of programming concepts that might be considered "basic," such as arithmetic operations, simple I/O, control flow statements, functions, and arrays.
  • There is mention of the difference between C-style and C++-style programming practices, particularly regarding I/O and data handling.
  • Participants share their current level of programming knowledge and specific projects they are working on to build their skills.
  • Some express a desire for more clarity on the specific programming tasks they might encounter in the research position.

Areas of Agreement / Disagreement

Participants generally agree that a foundational understanding of programming concepts is essential, but there is no consensus on the exact level of knowledge required or the specific topics that should be prioritized. The discussion remains unresolved regarding what constitutes "basic" knowledge in this context.

Contextual Notes

Participants note the lack of guidance from the professor and the uncertainty surrounding the specific programming tasks that will be required in the research position. There is also mention of varying levels of prior programming experience among participants.

Who May Find This Useful

Students entering research positions in STEM fields, particularly those with limited programming experience, may find this discussion relevant as they seek to understand the expectations for programming knowledge in their respective areas.

Heisenberg.
Messages
68
Reaction score
0
Hey, I go to the University of Rochester, and I am currently entering my sophomore year as a physics major. Speaking to one of the physics department's staff members at the school, I was able to set up a research position with one of the professors in the astrophysics department. In order for this research position to actually occur, I have to have a "basic" knowledge of c++. I was then given the opportunity to learn this basic knowledge over the summer. Mind you my study of this will be unguided by University standards. So I bought a hefty book, downloaded c++ from bloodshed, found a university course online for an intro to c++, and I've been on my way for the past week. Now my question is (sorry for the long pre-amble), what in god's name does this woman mean by "basic"? Any idea on how much I am expected to know for a research position in the field of Astrophysics? The professor Alice Quillen, deals a lot with models of planetary and galaxy formation. Any ideas?
 
Physics news on Phys.org
Heisenberg. said:
Hey, I go to the University of Rochester, and I am currently entering my sophomore year as a physics major. Speaking to one of the physics department's staff members at the school, I was able to set up a research position with one of the professors in the astrophysics department. In order for this research position to actually occur, I have to have a "basic" knowledge of c++. I was then given the opportunity to learn this basic knowledge over the summer. Mind you my study of this will be unguided by University standards. So I bought a hefty book, downloaded c++ from bloodshed, found a university course online for an intro to c++, and I've been on my way for the past week. Now my question is (sorry for the long pre-amble), what in god's name does this woman mean by "basic"? Any idea on how much I am expected to know for a research position in the field of Astrophysics? The professor Alice Quillen, deals a lot with models of planetary and galaxy formation. Any ideas?

Just download "learn C++ in 24 hours" off of a torrent site or something and do the whole book. After that you should have a pretty good understanding of C++
 
hm, I was thinking more of what topics were most prevalent to the topic of research I wanted. But Thank-You!
 
Any other suggestions?
 
Heisenberg. said:
what in god's name does this woman mean by "basic"?

Why not ask her?
 
I have already exercised that option. I sent her an e-mail, and she said that the professor went down to South America for a month. She said that it would be pretty hard to contact her since the Professor seldom checks her e-mail. I have yet to hear back, and I don't want to wait to long - for I want to be prepared for this as possible. Again this staff member is not a physicist- just a very useful women with strong connections in the department.

*not sure why I said "again this staff member.." I never said it in the first place, oops lol"
 
How much programming experience do you already have? If any, what languages do you know best, and to what extent do you know them? This information will help me provide a more personalized response--I have a pretty significant programming background.

But my more general response is that it's not going to be of much use to try to figure out exactly what features of the language are "basic" and what features aren't. If you don't have much programming experience, it's far more important to learn the fundamental techniques and ideas of the discipline--which are independent of language--and to learn how to learn the language as you go.

A common saying among programmers is that a good programmer can pick up a new language relatively easily, although it may take some time to master the new language's nuances. This is true. As it happens C++ has an unbelievably huge number of nuances--you will absolutely not master it over a summer--but like any language it can be used (perhaps ineffectively) without mastery of the nuances.

Unfortunately, I am not even sure how I learned C++. It was the first language I learned, and I was 11/12 at the time. The books I used were, honestly, terrible, and I wouldn't recommend them. I know I struggled a bit, and I suspect I mainly learned through a vast amount of experimentation. It was hardy an optimal route. Plus I had no teacher--in fact no human guidance at all besides the bad books.

Consequently I am not up to speed on the best modern resources for picking up the language. I'm going to look into it, and I'll post here again--or edit this response--later.
 
Thanks for your response zpconn. As of a little while ago: no programming background whatsoever expect for a few glances at v-python.

I currently have just finished learning I guess a 1st lectures worth of material: simple input output assignments, simple flow of control, simple if statements - like right now I am finishing up a an age calculator program where given what month it is, year, and how old you are- if you want to find out how old you will be in a specific amount of years and months from now it will find it for you - again simple stuff, I'm just not sure what to expect.
I don't even know what the research position duties would entail me to use the programming - again I am very new to this whole physics major thing. Feel like I'm groping in the dark at times - which was why I was wondering if anyone knew what programming they would expect of me for a beginning research position (im assuming it has to be on the simple side for undergraduates to be able to do it, and when I mean simple I just mean not unattainably impossible to understand.
 
My list of "basic" stuff would probably look like this:

Arithmetic (including the functions in the math library: sin(), exp(), etc.)
Simple I/O using the terminal (consol) and using files
If-statements
Loop statements (while, for, do-while)
Functions and how to pass data to/from them
Arrays (actually I prefer vectors but I don't think they're used much in numerical work)

One area in which it would be really helpful to get some input from the professor, or at least someone who knows how she works, is whether she prefers the "C style" or the "C++ style" ways of doing certain things. For example:

I/O - C-style uses printf, sprintf, etc., and format specification strings; C++-style uses cin, count, file streams, and I/O manipulators.

Character data - C-style uses arrays of char, and char* pointers; C++-style uses the 'string' data type and its member functions from the standard library (#include <string>).

Data collections - C-style uses arrays and pointers, C++-style uses vectors from the standard library (#include <vector>).

And that's even without getting into the object-oriented stuff in C++, or the more sophisticated features of the standard C++ library.
 
  • #10
ah thank-you very much! I already have a few of the stuff you mentioned learned, still a ways to go. In the end I'll just keep studying it till the time comes I suppose and hope it is enough.
 
  • #11
It should be. Even if not, just nod to whatever your professor suggests, and ask for advice on the Internet.
 
  • #12
Ah and then that is where physicsforums.com comes in, again thanks folks
 

Similar threads

Replies
19
Views
4K
  • · Replies 26 ·
Replies
26
Views
3K
  • · Replies 5 ·
Replies
5
Views
1K
  • · Replies 9 ·
Replies
9
Views
2K
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
16
Views
3K
Replies
7
Views
3K
Replies
4
Views
2K