{"id":820,"date":"2019-11-14T16:40:30","date_gmt":"2019-11-14T16:40:30","guid":{"rendered":"https:\/\/research.reading.ac.uk\/scenario\/?page_id=820"},"modified":"2020-04-22T10:17:15","modified_gmt":"2020-04-22T09:17:15","slug":"software-development-for-environmental-scientists","status":"publish","type":"page","link":"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/","title":{"rendered":"Software Development for Environmental Scientists"},"content":{"rendered":"<p>Software engineering is a large and complex discipline and so this short course will focus on the most important and relevant elements for scientists, crucial among which are usability, maintainability, accuracy, and readability. These are the foundations of professional code development skills. We will teach and demonstrate the benefits of good initial design, thorough testing, algorithm re-use and code progression, the ideas of elegance, abstraction, performance and scalability.<\/p>\n<p>There are two levels available with the caveat that applicants for the second level must demonstrate competence at the first level.<\/p>\n<p><strong>Level 1<\/strong><br \/>\n<em>6, 7, 13 and 14 February 2020<\/em><\/p>\n<p>Topics will include:<\/p>\n<ul>\n<li>revision of fundamentals (shells, syntax, concepts etc.)<\/li>\n<li>basic design methodologies<\/li>\n<li>simple data structures<\/li>\n<li>version control<\/li>\n<li>unit and integration testing<\/li>\n<li>basic diagramming<\/li>\n<li>commenting and coding standards<\/li>\n<li>requirements capture<\/li>\n<li>error handling and basic debugging<\/li>\n<\/ul>\n<p>Course instructions can be found <a href=\"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/software-development-level-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p><strong>Level 2<\/strong><br \/>\n<em>Postponed due to the coronavirus crisis.\u00a0 Will reschedule for Autumn 2020.<\/em><\/p>\n<p><em>Scenario Students: see the Software Development Forum on the Scenario Team for support in the meantime.<\/em><\/p>\n<p>Competence at Level 1 tasks a pre-requisite but attendance of previous course not required.<\/p>\n<p>It will be assumed that you are fully conversant with using PyCharm as a development environment, and familiar with<br \/>\nwriting and running Python&#8217;s &#8216;nosetests&#8217; test framework. You should also be competent using &#8216;git&#8217; version control.<\/p>\n<p>Topics will include:<\/p>\n<ul>\n<li>team version control; GitHub<\/li>\n<li>the OO paradigm: analysis, design and implementation<\/li>\n<li>design patterns and advanced design methodologies<\/li>\n<li>exception handling and exception classes<\/li>\n<li>testing strategies, testing classes<\/li>\n<li>debugging with classes<\/li>\n<\/ul>\n<p>Additional material provided on:<\/p>\n<ul>\n<li>XML and JSON<\/li>\n<li>software process<\/li>\n<li>MPI<\/li>\n<\/ul>\n<p>Course instructions will be supplied later.<\/p>\n<p><strong>Feedback form for both courses <a href=\"https:\/\/research.reading.ac.uk\/scenario\/wp-content\/uploads\/sites\/121\/2020\/01\/01_Software-Development-for-Environmental-Scientists-Feedback-Form_1.0.doc\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software engineering is a large and complex discipline and so this short course will focus on the most important and relevant elements for scientists, crucial among which are usability, maintainability,&#8230;<a class=\"read-more\" href=\"&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#114;&#101;&#115;&#101;&#97;&#114;&#99;&#104;&#46;&#114;&#101;&#97;&#100;&#105;&#110;&#103;&#46;&#97;&#99;&#46;&#117;&#107;&#47;&#115;&#99;&#101;&#110;&#97;&#114;&#105;&#111;&#47;&#116;&#114;&#97;&#105;&#110;&#105;&#110;&#103;&#47;&#115;&#111;&#102;&#116;&#119;&#97;&#114;&#101;&#45;&#100;&#101;&#118;&#101;&#108;&#111;&#112;&#109;&#101;&#110;&#116;&#45;&#102;&#111;&#114;&#45;&#101;&#110;&#118;&#105;&#114;&#111;&#110;&#109;&#101;&#110;&#116;&#97;&#108;&#45;&#115;&#99;&#105;&#101;&#110;&#116;&#105;&#115;&#116;&#115;&#47;\">Read More ><\/a><\/p>\n","protected":false},"author":63,"featured_media":0,"parent":239,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"__cvm_playback_settings":[],"__cvm_video_id":"","footnotes":""},"coauthors":[7],"class_list":["post-820","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.8.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Software Development for Environmental Scientists - SCENARIO<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Software Development for Environmental Scientists - SCENARIO\" \/>\n<meta property=\"og:description\" content=\"Software engineering is a large and complex discipline and so this short course will focus on the most important and relevant elements for scientists, crucial among which are usability, maintainability,...Read More &gt;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/\" \/>\n<meta property=\"og:site_name\" content=\"SCENARIO\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-22T09:17:15+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n\t<meta name=\"twitter:label2\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data2\" content=\"Wendy Neale\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/\",\"url\":\"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/\",\"name\":\"Software Development for Environmental Scientists - SCENARIO\",\"isPartOf\":{\"@id\":\"https:\/\/research.reading.ac.uk\/scenario\/#website\"},\"datePublished\":\"2019-11-14T16:40:30+00:00\",\"dateModified\":\"2020-04-22T09:17:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/research.reading.ac.uk\/scenario\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Training\",\"item\":\"https:\/\/research.reading.ac.uk\/scenario\/training\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Software Development for Environmental Scientists\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/research.reading.ac.uk\/scenario\/#website\",\"url\":\"https:\/\/research.reading.ac.uk\/scenario\/\",\"name\":\"SCENARIO\",\"description\":\"NERC Doctoral Training Partnership\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/research.reading.ac.uk\/scenario\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Software Development for Environmental Scientists - SCENARIO","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/","og_locale":"en_GB","og_type":"article","og_title":"Software Development for Environmental Scientists - SCENARIO","og_description":"Software engineering is a large and complex discipline and so this short course will focus on the most important and relevant elements for scientists, crucial among which are usability, maintainability,...Read More >","og_url":"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/","og_site_name":"SCENARIO","article_modified_time":"2020-04-22T09:17:15+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"1 minute","Written by":"Wendy Neale"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/","url":"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/","name":"Software Development for Environmental Scientists - SCENARIO","isPartOf":{"@id":"https:\/\/research.reading.ac.uk\/scenario\/#website"},"datePublished":"2019-11-14T16:40:30+00:00","dateModified":"2020-04-22T09:17:15+00:00","breadcrumb":{"@id":"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/research.reading.ac.uk\/scenario\/training\/software-development-for-environmental-scientists\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/research.reading.ac.uk\/scenario\/"},{"@type":"ListItem","position":2,"name":"Training","item":"https:\/\/research.reading.ac.uk\/scenario\/training\/"},{"@type":"ListItem","position":3,"name":"Software Development for Environmental Scientists"}]},{"@type":"WebSite","@id":"https:\/\/research.reading.ac.uk\/scenario\/#website","url":"https:\/\/research.reading.ac.uk\/scenario\/","name":"SCENARIO","description":"NERC Doctoral Training Partnership","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/research.reading.ac.uk\/scenario\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"}]}},"_links":{"self":[{"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/pages\/820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/users\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/comments?post=820"}],"version-history":[{"count":5,"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/pages\/820\/revisions"}],"predecessor-version":[{"id":969,"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/pages\/820\/revisions\/969"}],"up":[{"embeddable":true,"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/pages\/239"}],"wp:attachment":[{"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/media?parent=820"}],"wp:term":[{"taxonomy":"author","embeddable":true,"href":"https:\/\/research.reading.ac.uk\/scenario\/wp-json\/wp\/v2\/coauthors?post=820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}