Hi Shishir, I am not the expert you were hoping for, but I have a couple things to try if you are willing while you wait for a real expert.
I'm not sure how WP picked up the shingle subdomain, but the fact is it did. The problem now is you have correctly set the home and site urls to the www subdomain, but various links embedded in the content in the database still contain shingle references, which is causing links to fail.
If this is an Apache server, check the .htaccess file in the base folder of the WP installation. It is a hidden file by default, you may need to change a setting in whatever you are using to view files in order to see it. There is typically no references of any urls containing the .edu portion or anything to the left of it. If there is, the directives need to be looked at closely to ensure it is not part of the problem. If there are only relative references (the url portion to the right), all is good here.
Next, make a complete backup of your database. As messed up as it is, there's slight chance of making it worse. We need to essentially search and replace all shingle references in urls to www references. If all content were simple strings, this would be easy, but some of the urls can be in serialized arrays. If the string content in arrays is changed without updating the length tags, all the data will be corrupted.
There is a utility that can do this correctly for us. It is downloaded from http://interconnectit.com/products/search-and-replace-for-wordpress-databases/. I have not used this utility personally, so I can't give you much advice other than you need to find all occurrences of shingle.ndsu.nodak.edu in the database and change them to http://www.ndsu.edu/pubweb/nrg .
Once all vestiges of the shingle domain are removed, you should have no more issues. Verify by creating a post and inserting an uploaded image. If it publishes correctly and the image source is from the www subdomain, it is time to celebrate. Good luck.