{"id":14196,"date":"2022-02-28T16:51:08","date_gmt":"2022-02-28T21:51:08","guid":{"rendered":"https:\/\/carleton.ca\/scs\/?post_type=cu_event&#038;p=14196"},"modified":"2026-06-02T14:59:45","modified_gmt":"2026-06-02T18:59:45","slug":"software-design-in-50-minutes","status":"publish","type":"cu_event","link":"https:\/\/carleton.ca\/scs\/event\/software-design-in-50-minutes\/","title":{"rendered":"Software Design in 50 Minutes"},"content":{"rendered":"<header class=\"mb-6 cu-pageheader cu-component-updated md:mb-12\">\n    <h1 class=\"cu-prose-first-last font-semibold !mt-2 mb-4 md:mb-6 text-3xl md:text-4xl lg:text-5xl lg:leading-[3.5rem] relative after:absolute after:h-px after:bottom-0 pb-5 after:w-10 after:bg-cu-red after:left-px\">\n        \n    <\/h1>\n    \n        <\/header>\n\n    \n    \n    \n    \n    <div class=\"cu-buttongroup cu-component-updated flex flex-wrap md:flex-1 gap-3 md:gap-5 justify-start\">\n                                                                        <\/div>\n    \n<h3 id=\"2nd-annual-lecture-on-computer-science-and-society\" class=\"wp-block-heading\">2nd Annual Lecture on Computer Science and Society<\/h3>\n\n\n\n<p>Co-hosted by the School of Computer Science and Carleton Computer Science Society<\/p>\n\n\n\n<h3 id=\"title\" class=\"wp-block-heading\">Title<\/h3>\n\n\n\n<p>Software Design in 50 Minutes<\/p>\n\n\n\n<h3 id=\"speaker\" class=\"wp-block-heading\">Speaker<\/h3>\n\n\n\n<p>Dr. Greg Wilson, Deep Genomics<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h3 id=\"zoom-link\" class=\"wp-block-heading\">Zoom link<\/h3>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/carleton-ca.zoom.us\/j\/98476825969\n<\/div><\/figure>\n\n\n\n<h3 id=\"abstract\" class=\"wp-block-heading\">Abstract<\/h3>\n\n\n\n<p>Most people can lift one kilogram, but would struggle to lift one hundred, and could not lift a thousand without planning and support. Similarly, many researchers who can write a few lines of Python or JavaScript for a homework assignment struggle to create programs that are a few hundred lines long, and don&#8217;t know where to start designing an application containing dozens or hundreds of files.<br>\nThis talk presents a dozen tips that can help with the design of large programs drawn from the research literature, conversations with talented programmers, and the author&#8217;s own experience. If you find yourself sketching data structures on the whiteboard, thinking about how different configuration options interact, or wondering how you&#8217;re going to support old releases while working on the new one, these tips may help.<br>\nBio:&nbsp;Dr. Greg Wilson is a programmer, author, and educator based in Toronto. He co-founded and led Software Carpentry, which has taught basic software skills to thousands of researchers worldwide and was the co-editor of &#8220;Beautiful Code&#8221; and &#8220;The Architecture of Open Source Applications&#8221;. Greg is a member of the Python Software Foundation and a recipient of ACM SIGSOFT&#8217;s Influential Educator of the Year award and currently works as a developer at Deep Genomics.<\/p>\n\n\n\n<figure class=\"wp-block-image alignleft\"><a href=\"https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/dr_greg_wilson.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"887\" height=\"612\" src=\"https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/dr_greg_wilson.jpg\" alt=\"\" class=\"wp-image-14201\" srcset=\"https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/dr_greg_wilson.jpg 887w, https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/dr_greg_wilson-160x110.jpg 160w, https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/dr_greg_wilson-240x166.jpg 240w, https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/dr_greg_wilson-768x530.jpg 768w, https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/dr_greg_wilson-400x276.jpg 400w, https:\/\/carleton.ca\/scs\/wp-content\/uploads\/sites\/260\/dr_greg_wilson-360x248.jpg 360w\" sizes=\"auto, (max-width: 887px) 100vw, 887px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"author":2,"featured_media":0,"template":"","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"cu_event_type":[30,62,34],"cu_event_audience":[],"class_list":["post-14196","cu_event","type-cu_event","status-publish","hentry","cu_event_type-ccss-student-events","cu_event_type-gradudate-scs-events","cu_event_type-undergraduate-scs-events"],"acf":{"cu_event_start_date":"2022-03-08T19:00:00","cu_event_end_date":"2022-03-08T20:00:00","cu_event_location_type":"in-person","cu_event_meeting_address_type":"on-campus","cu_building":false,"cu_event_meeting_room":"","cu_event_meeting_address_full":null,"cu_event_virtual_type":"tbd","cu_event_virtual_meeting_link":"","cu_post_thumbnail":false,"cu_event_cost":"","cu_event_registration":"","cu_event_secondary_button":"","cu_event_contact_name":"","cu_event_email":"","cu_event_phone":""},"_links":{"self":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/cu_event\/14196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/cu_event"}],"about":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/types\/cu_event"}],"author":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":3,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/cu_event\/14196\/revisions"}],"predecessor-version":[{"id":14206,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/cu_event\/14196\/revisions\/14206"}],"wp:attachment":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/media?parent=14196"}],"wp:term":[{"taxonomy":"cu_event_type","embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/cu_event_type?post=14196"},{"taxonomy":"cu_event_audience","embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/cu_event_audience?post=14196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}