{"id":50,"date":"2013-03-21T19:18:36","date_gmt":"2013-03-21T19:18:36","guid":{"rendered":"http:\/\/blogs.nd.edu\/parkhillgroup\/?p=50"},"modified":"2013-03-28T18:41:15","modified_gmt":"2013-03-28T18:41:15","slug":"getting-started-with-scientific-programming","status":"publish","type":"post","link":"https:\/\/sites.nd.edu\/parkhillgroup\/2013\/03\/21\/getting-started-with-scientific-programming\/","title":{"rendered":"Getting started with scientific programming."},"content":{"rendered":"<p>For an individual who has no previous coding experience, playing with Python is the most efficient way to begin in scientific programming. Even very advanced C++\/Fortran coders who know Python will confess it&#8217;s virtually always the fastest route to small programs and the fastest route to results for &#8220;easy-to-medium&#8221; tasks. It requires much less &#8220;legacy&#8221; knowledge (UNIX shell, build systems, debuggers, libraries etc.) than a systems programming language, and it has a very mature open-source suite of scientific libraries basically exceeding the utility of Matlab.<\/p>\n<p>So go ahead and <a href=\"http:\/\/penandpants.com\/2012\/02\/24\/install-python\/\">install Python and Scipy\/Numpy <\/a>on your computer. Make some plots with matplotlib. Calculate some eigenspectra. For further reading check out <a href=\"http:\/\/www.diveintopython.net\/\">Dive into Python. <\/a>There&#8217;s even whole <a href=\"http:\/\/pyquante.sourceforge.net\/\">electronic structure codes<\/a> wholly realized in Python. Recoding some <a href=\"http:\/\/www.nr.com\/\">Numerical Recipes<\/a> in Python is a worthwhile exercise for anyone who wants to do scientific programming.<\/p>\n<p>In my experience most computational groups do a bad job of sharing code and collaborating on code. At the end of the day this leads to time-wasted due to reduplicated effort, and time wasted trying to find &#8220;the version that worked.&#8221;. We will use the free tools <a href=\"https:\/\/bitbucket.org\/dashboard\/overview\">Bitbucket<\/a>, and git to share and maintain codes our group works on. There&#8217;s a quite nice <a href=\"http:\/\/git-scm.com\/book\">free book<\/a> available about git you can easily digest in a weekend.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For an individual who has no previous coding experience, playing with Python is the most efficient way to begin in scientific programming. Even very advanced C++\/Fortran coders who know Python will confess it&#8217;s virtually always the fastest route to small &hellip; <a href=\"https:\/\/sites.nd.edu\/parkhillgroup\/2013\/03\/21\/getting-started-with-scientific-programming\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1293,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55402],"tags":[],"class_list":["post-50","post","type-post","status-publish","format-standard","hentry","category-for-students"],"_links":{"self":[{"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/users\/1293"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/comments?post=50"}],"version-history":[{"count":4,"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/posts\/50\/revisions"}],"predecessor-version":[{"id":90,"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/posts\/50\/revisions\/90"}],"wp:attachment":[{"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/media?parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/categories?post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.nd.edu\/parkhillgroup\/wp-json\/wp\/v2\/tags?post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}