{"id":8,"date":"2013-09-01T14:36:27","date_gmt":"2013-09-01T14:36:27","guid":{"rendered":"http:\/\/evolutionary.patrickhebron.com\/?page_id=8"},"modified":"2013-09-16T20:03:26","modified_gmt":"2013-09-17T00:03:26","slug":"getting-started","status":"publish","type":"page","link":"http:\/\/evolutionary.patrickhebron.com\/?page_id=8","title":{"rendered":"Getting Started"},"content":{"rendered":"<p style=\"text-align: justify;\"><strong>Welcome to <em>Evolution as a Creative Tool<\/em>.<\/strong><\/p>\n<p style=\"text-align: justify;\">This course will approach the subjects of evolutionary computation and machine learning from the perspective of a Research &amp; Development or Product Development team. Of course, we&#8217;ll need to adapt those ways of working a bit to fit a classroom setting. So here&#8217;s what that means:<\/p>\n<p style=\"text-align: justify;\"><strong>Over the course of the semester, each member of the team will:<\/strong><\/p>\n<ul style=\"text-align: justify;\">\n<li>Help to define the team&#8217;s\u00a0<em>pure research<\/em>\u00a0goals through in-class collaboration.<\/li>\n<li>Develop\u00a0a unique <em>applied research<\/em> project or domain.<\/li>\n<li>Define and execute the <em>applied research<\/em> project.<\/li>\n<li>Contribute applied learnings back to team and help refine common research goals.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong>My Role:<\/strong><\/p>\n<p style=\"text-align: justify;\">In addition to my role as a team member, I will also provide technical tutorials and more traditional curriculum components as well as help facilitate group discussions, task assignments and code review.<\/p>\n<p style=\"text-align: justify;\"><strong>Class time will be used for the following things:<\/strong><\/p>\n<ul style=\"text-align: justify;\">\n<li>Technical tutorials and discussions.<\/li>\n<li>Defining common goals, architectures &amp; API features.<\/li>\n<li><span style=\"line-height: 1.5;\">Reviewing pull-requests to the common API.<\/span><\/li>\n<li>Presenting and discussing team&#8217;s <em>applied research<\/em> projects.<\/li>\n<li>Collaborative troubleshooting and brainstorming for <em>applied research<\/em> projects.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong><em>Pure<\/em>\u00a0&amp;\u00a0<em>Applied\u00a0<\/em>Research:<\/strong><\/p>\n<p style=\"text-align: justify;\">Generally speaking,\u00a0<em>pure research<\/em>\u00a0tries to gain knowledge for its own sake, whereas\u00a0<em>applied research\u00a0<\/em>tries to solve a specific problem.<\/p>\n<p style=\"text-align: justify;\">In this class, we are using the term\u00a0<em>pure research<\/em>\u00a0to refer to our exploration of the theory, operation, capabilities and limitations of various evolutionary computation and machine learning techniques. In this area, we will develop highly generalized code that will enable us to sketch, prototype and develop more specific applications of these technologies. These specific applications, our\u00a0<em>applied research<\/em>, will fuse the ideas and techniques we&#8217;ve exposed in our pure research with our individual areas of design interest and expertise &#8211; e.g., graphic design, music production, healthcare administration, etc.<em><br \/>\n<\/em><\/p>\n<p style=\"text-align: justify;\">A core value in this course is the idea that\u00a0<em>pure<\/em>\u00a0and\u00a0<em>applied research<\/em>\u00a0can fuel one another as well as keep each other honest.<\/p>\n<p style=\"text-align: justify;\"><strong>How We&#8217;ll Work:<\/strong><\/p>\n<p style=\"text-align: justify;\">Each of us is coming to this class with a unique set of technical skills, development experiences, platform preferences and coding styles. Before coming together around deeper discussions of digital design and evolutionary computation, we&#8217;ll make a few nuts-and-bolts choices about the way we&#8217;ll work and share code ideas for this course.<\/p>\n<p style=\"padding-left: 30px; text-align: justify;\"><span style=\"text-decoration: underline;\">Common Platform Specifications:<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li>IDE: XCode<\/li>\n<li>Language: C++ (including C++11, using the LLVM compiler)<\/li>\n<li>Application framework: Cinder (included as a submodule of the course repository)<\/li>\n<li>Additional libraries: STL (built-in), Boost (included in Cinder)<\/li>\n<li>Code Documentation: Doxygen<\/li>\n<li>Code Collaboration: GitHub<\/li>\n<\/ul>\n<p style=\"padding-left: 30px; text-align: justify;\"><span style=\"text-decoration: underline;\">Code submission:<\/span><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">The course GitHub repository can be found here: <a title=\"Evolution as a Creative Tool GitHub Repo\" href=\"https:\/\/github.com\/Hebali\/CreativeEvolutionCourse\">CreativeEvolutionCourse on GitHub<\/a><\/p>\n<ul style=\"text-align: justify;\">\n<li>Each member of the team will submit code to the course&#8217;s GitHub repository using pull-requests. Pull-requests will be reviewed by the team in class.<\/li>\n<li>Submitted code should be well documented for Doxygen and follow team&#8217;s common formatting guidelines.<\/li>\n<li>Applied research projects should fork from the team&#8217;s shared repository and be either publicly visibly or at least visible to all members of the team.<\/li>\n<\/ul>\n<p style=\"padding-left: 30px; text-align: justify;\"><span style=\"text-decoration: underline;\">Other ways of collaborating and interacting:<\/span><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">In addition to the GitHub repo, we will also use this blog and Google Docs to collaborate, document and discuss various non-code-related aspects of the course.<\/p>\n<p style=\"text-align: justify;\"><strong style=\"line-height: 1.5;\">Please do the following things before the first session:<\/strong><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"text-align: left;\">Download the XCode IDE from\u00a0<a title=\"Apple Developer Site\" href=\"https:\/\/developer.apple.com\">Apple Developer Site<\/a>\u00a0or the Mac App Store<\/li>\n<li style=\"text-align: left;\">Download Cinder from the\u00a0<a title=\"Cinder Github Repository\" href=\"https:\/\/github.com\/cinder\/Cinder\">Cinder Github Repository<\/a>\u00a0(<a title=\"Cinder Build Instructions\" href=\"http:\/\/libcinder.org\/docs\/welcome\/GitSetup.html\">Build instructions here<\/a>)<\/li>\n<li style=\"text-align: left;\">Download the file labeled, &#8220;A binary distribution for\u00a0Mac OS X 10.5 and later&#8221; from\u00a0<a title=\"Doxygen OS X GUI\" href=\"http:\/\/www.stack.nl\/~dimitri\/doxygen\/download.html\">Doxygen OS X GUI<\/a><\/li>\n<li style=\"text-align: left;\">If you&#8217;re unfamiliar with Doxygen, take a look at these overviews: <a title=\"Doxygen Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/Doxygen\">Wikipedia<\/a>\u00a0and\u00a0<a title=\"Doxygen Manual\" href=\"http:\/\/www.stack.nl\/~dimitri\/doxygen\/manual\/docblocks.html\">Doxygen manual<\/a><\/li>\n<li style=\"text-align: left;\">If you don&#8217;t have one, create a\u00a0<a title=\"Gmail\" href=\"http:\/\/gmail.com\">Gmail<\/a>\u00a0account (for shared Google Docs)<\/li>\n<li style=\"text-align: left;\">If you don&#8217;t have one, create a\u00a0<a title=\"GitHub\" href=\"https:\/\/github.com\">GitHub<\/a>\u00a0account (a free one is fine)<\/li>\n<li style=\"text-align: left;\">If you&#8217;re unfamiliar with GitHub&#8217;s Issues &amp; Milestones features, take a look at this overview: <a title=\"GitHub Issues 2.0\" href=\"https:\/\/github.com\/blog\/831-issues-2-0-the-next-generation\">GitHub Issues 2.0<\/a><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Please also try to have all of the above\u00a0<em>installed<\/em>\u00a0before the first session. If you have any trouble building Cinder from source, we can look at this together in class. If you are not using OS X, please email me directly. I can only provide limited help with Visual Studio issues. Linux is not supported at all because there is currently no stable Linux port of Cinder.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to Evolution as a Creative Tool. This course will approach the subjects of evolutionary computation and machine learning from the perspective of a Research &amp; Development or Product Development team. Of course, we&#8217;ll need to adapt those ways of working a bit to fit a classroom setting. So here&#8217;s what that means: Over the &hellip; <a href=\"http:\/\/evolutionary.patrickhebron.com\/?page_id=8\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Getting Started<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-8","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/evolutionary.patrickhebron.com\/index.php?rest_route=\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/evolutionary.patrickhebron.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/evolutionary.patrickhebron.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/evolutionary.patrickhebron.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/evolutionary.patrickhebron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":10,"href":"http:\/\/evolutionary.patrickhebron.com\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":106,"href":"http:\/\/evolutionary.patrickhebron.com\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions\/106"}],"wp:attachment":[{"href":"http:\/\/evolutionary.patrickhebron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}