{"id":781,"date":"2018-09-04T11:59:11","date_gmt":"2018-09-04T11:59:11","guid":{"rendered":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/?page_id=781"},"modified":"2018-09-06T08:38:14","modified_gmt":"2018-09-06T08:38:14","slug":"programming-assignment-0","status":"publish","type":"page","link":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/programming-assignment-0\/","title":{"rendered":"Programming Assignment 0"},"content":{"rendered":"<p>CS 4260\/5260: Introduction to AI<strong><br \/>\nHomework 0: (Racket Intro).<\/strong><\/p>\n<p><strong><em>General Instructions:<\/em><\/strong><strong><em><br \/>\n<\/em><\/strong>If anything is ambiguous or unclear.<br \/>\n1. Discuss possible interpretations with other students, your TA, and instructor<br \/>\n2. Send e-mail to your TA first, and to your instructor if an issue is not resolved to your satisfaction.<br \/>\n3. Make use of web sources.<br \/>\n<strong>Remember that after general discussions with others, you are required to work out the problems by yourself. All submitted work must be your own, though you can get help with others, so long as you cite the help. Please refer to the class Honor code for clarifications.<br \/>\n<\/strong>Write legibly, be sure to staple all your answer sheets together, and write your<br \/>\nname, and the honor pledge on the top of the first answer sheet.<br \/>\n<strong><em>Start early, and avoid last minute stress!<\/em><\/strong><\/p>\n<p><strong>Racket<\/strong><\/p>\n<p>For this course, we are going to use the programming language Racket. Racket is a functional programming language that builds on LISP and Scheme (if you are familiar with either of those languages you will notice a lot of similarities).<\/p>\n<p>Racket is a good language for this class because it has great support for symbolic logic.<\/p>\n<p>If you would like to read more about the Racket language, please go to <a href=\"https:\/\/racket-lang.org\/\">https:\/\/racket-lang.org\/<\/a><\/p>\n<p>We recommend using its official IDE called DrRacket.<\/p>\n<p><strong>Installation<\/strong><\/p>\n<ol>\n<li>Download is available through the quick tutorial site (<a href=\"http:\/\/docs.racket-lang.org\/quick\/index.html\">http:\/\/docs.racket-lang.org\/quick\/index.html<\/a>) and\/or follow these instructionsGo to download address <a href=\"https:\/\/racket-lang.org\/download\/\">https:\/\/racket-lang.org\/download\/<\/a> and choose the windows binary execution installation file. Download and install.<\/li>\n<li>Debian \/ Ubuntu<br \/>\nIf you are using the apt-get package manager, type \u201csudo apt-get install racket\u201d into the terminal<br \/>\n<em>Optionally<\/em><br \/>\nIf you want the latest version of Racket (not necessary for this course), you will need to add the official Racket source to your source list.<br \/>\n&#8211; Add the Racket PPA: sudo add-apt-repository ppa:plt\/racket<br \/>\n&#8211; Install: sudo apt update &amp;&amp; sudo apt install racket<\/li>\n<li>Other Linux Distributions<br \/>\nGo to download address <a href=\"https:\/\/racket-lang.org\/download\/\">https:\/\/racket-lang.org\/download\/<\/a> and choose the linux binary execution installation file.<br \/>\nDownload and install.<\/li>\n<li>MacOS<br \/>\n<em>Using the binary<br \/>\n<\/em>Go to download address <a href=\"https:\/\/racket-lang.org\/download\/\">https:\/\/racket-lang.org\/download\/<\/a> and choose the MacOS binary execution installation file.<br \/>\nDownload and install.<br \/>\n<em>Using Homebrew Package Manager<\/em><br \/>\ntype \u201cbrew cask install racket\u201d into the terminal<\/li>\n<\/ol>\n<p><strong>Instructions<\/strong><\/p>\n<p>Go through the tutorial at\u00a0<a href=\"http:\/\/docs.racket-lang.org\/quick\/index.html\">http:\/\/docs.racket-lang.org\/quick\/index.html<\/a>.<\/p>\n<p><span style=\"color: #ff0000\">For this assignment, submit a file called hw0_solution.rkt to Brightspace that draws a blue and yellow checkerboard on a canvas when run in Racket using the command (from the command line):<\/span><\/p>\n<p><span style=\"color: #ff0000\">racket -t hw0_solution.rkt<\/span><\/p>\n<p><span style=\"color: #ff0000\">Your file should make a pop-up that looks like the output below when run (with \u201cMy Name\u201d replaced with your VUNet ID).<\/span><\/p>\n<p><a href=\"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/programming-assignment-0\/pa0image\/\" rel=\"attachment wp-att-792\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-792\" src=\"https:\/\/cdn-dev.vanderbilt.edu\/t2-my-dev\/wp-content\/uploads\/sites\/2495\/2018\/09\/PA0image.jpg\" alt=\"PA0image\" width=\"190\" height=\"204\" \/><\/a><\/p>\n<p>This only needs small modifications from the code snippets in the tutorial. You are encouraged to experiment more to familiarize yourself with Racket.<\/p>\n<p><strong>Further Reading<\/strong><\/p>\n<p>For students who want a programming book to read, recommend How to Design Programs available for free at\u00a0https:\/\/htdp.org\/2003-09-26\/Companion\/drscheme.html. Students who want more examples but less reading should go through the tutorials at\u00a0http:\/\/docs.racket-lang.org\/continue\/index.html\u00a0and\u00a0http:\/\/docs.racket-lang.org\/more\/index.html.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CS 4260\/5260: Introduction to AI Homework 0: (Racket Intro). General Instructions: If anything is ambiguous or unclear. 1. Discuss possible interpretations with other students, your TA, and instructor 2. Send e-mail to your TA first, and to your instructor if &hellip; <a href=\"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/programming-assignment-0\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":633,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-781","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/wp-json\/wp\/v2\/pages\/781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/wp-json\/wp\/v2\/users\/633"}],"replies":[{"embeddable":true,"href":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/wp-json\/wp\/v2\/comments?post=781"}],"version-history":[{"count":4,"href":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/wp-json\/wp\/v2\/pages\/781\/revisions"}],"predecessor-version":[{"id":794,"href":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/wp-json\/wp\/v2\/pages\/781\/revisions\/794"}],"wp:attachment":[{"href":"https:\/\/my.dev.vanderbilt.edu\/cs4260cs5260\/wp-json\/wp\/v2\/media?parent=781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}