{"id":59,"date":"2021-07-05T19:15:31","date_gmt":"2021-07-05T19:15:31","guid":{"rendered":"http:\/\/rwkramer.people.ysu.edu\/?page_id=59"},"modified":"2021-07-05T19:57:47","modified_gmt":"2021-07-05T19:57:47","slug":"programming-practice-via-competitive-programming","status":"publish","type":"page","link":"https:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/","title":{"rendered":"Programming Practice via Competitive Programming"},"content":{"rendered":"\n<p>There are several sites that offer opportunities to practice and compete via competitive programming.<\/p>\n\n\n\n<p>Kattis is a site that hosts a repository of over 2,500 contest problems, ranging in difficulty from writing &#8220;Hello, world&#8221; to problems that challenge the best programmers in the world. A large number of problems in their repository are ones that you can solve with the skills you learn in our programming courses.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creating a Kattis Account<\/h3>\n\n\n\n<p>To start, you will need to register for a Kattis account. It&#8217;s free and easy to set up. Here are the steps:<\/p>\n\n\n\n<ol><li>Go to <a href=\"https:\/\/open.kattis.com\/register\">https:\/\/open.kattis.com\/register<\/a>.<br><\/li><li>Enter your name, email and choose a password.<br><\/li><li>Click on the Terms of Service check box (feel free to read them, there aren&#8217;t any surprises in them) and then click Submit.<br><\/li><li>On the next page, fill in the information about location (country, state, university).<br><\/li><li>At the bottom, click Update.<br><\/li><li>In the top-right corner, click on the triangle and choose Log out.<\/li><\/ol>\n\n\n\n<p>That&#8217;s it, you&#8217;re all set to go.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Using Kattis<\/h3>\n\n\n\n<p>On Blackboard, I&#8217;ll post some problems from the Kattis archive that should be solvable given the material from each of the chapters, as appropriate.<\/p>\n\n\n\n<p>If you wish to try your hand at one or more of these, do the following:<\/p>\n\n\n\n<ol><li>Go to <a href=\"https:\/\/open.kattis.com\/login\">https:\/\/open.kattis.com\/login<\/a><br><\/li><li>Click on Log in with e-mail.<br><\/li><li>Enter your email address and the password you chose, then click Submit.<br><\/li><li>In the <em>Search Kattis<\/em> box at the top, enter the problem name and press Enter.<br><\/li><li>The problem statement is displayed. A problem statement consists of a description of the problem, the format of the input, the format of the expected output and at least one example.<br><\/li><li>Write a program that solves the problem!<br><\/li><li>When you think you have a solution, click on the problem&#8217;s Submit link.<br><\/li><li>Click and drag your program&#8217;s source file into the drag &amp; drop area.<br><\/li><li>Click on Submit.<br><\/li><li>The page will show you the judging process as it proceeds. The Kattis judge will compile and run your program on several test data sets. If your program gives the correct output on all sets, the judge will end with an &#8220;Accepted&#8221; judgment. Otherwise, the judge will tell you about the first issue it sees, most likely &#8220;Wrong Answer&#8221; or &#8220;Compile Error&#8221;.<br><\/li><li>If your program is accepted, great! You&#8217;ve solved the problem. If it is not accepted, try again!<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>There are several sites that offer opportunities to practice and compete via competitive programming. Kattis is a site that hosts a repository of over 2,500 contest problems, ranging in difficulty from writing &#8220;Hello, world&#8221; to problems that challenge the best programmers in the world. A large number of problems in their repository are ones that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Programming Practice via Competitive Programming - Dr. Bob&#039;s Page of Stuff<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Programming Practice via Competitive Programming - Dr. Bob&#039;s Page of Stuff\" \/>\n<meta property=\"og:description\" content=\"There are several sites that offer opportunities to practice and compete via competitive programming. Kattis is a site that hosts a repository of over 2,500 contest problems, ranging in difficulty from writing &#8220;Hello, world&#8221; to problems that challenge the best programmers in the world. A large number of problems in their repository are ones that [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/\" \/>\n<meta property=\"og:site_name\" content=\"Dr. Bob&#039;s Page of Stuff\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-05T19:57:47+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/\",\"url\":\"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/\",\"name\":\"Programming Practice via Competitive Programming - Dr. Bob&#039;s Page of Stuff\",\"isPartOf\":{\"@id\":\"https:\/\/rwkramer.people.ysu.edu\/#website\"},\"datePublished\":\"2021-07-05T19:15:31+00:00\",\"dateModified\":\"2021-07-05T19:57:47+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rwkramer.people.ysu.edu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Programming Practice via Competitive Programming\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rwkramer.people.ysu.edu\/#website\",\"url\":\"https:\/\/rwkramer.people.ysu.edu\/\",\"name\":\"Dr. Bob&#039;s Page of Stuff\",\"description\":\"Course Information and Pseudorandom Ramblings\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rwkramer.people.ysu.edu\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Programming Practice via Competitive Programming - Dr. Bob&#039;s Page of Stuff","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":"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/","og_locale":"en_US","og_type":"article","og_title":"Programming Practice via Competitive Programming - Dr. Bob&#039;s Page of Stuff","og_description":"There are several sites that offer opportunities to practice and compete via competitive programming. Kattis is a site that hosts a repository of over 2,500 contest problems, ranging in difficulty from writing &#8220;Hello, world&#8221; to problems that challenge the best programmers in the world. A large number of problems in their repository are ones that [&hellip;]","og_url":"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/","og_site_name":"Dr. Bob&#039;s Page of Stuff","article_modified_time":"2021-07-05T19:57:47+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/","url":"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/","name":"Programming Practice via Competitive Programming - Dr. Bob&#039;s Page of Stuff","isPartOf":{"@id":"https:\/\/rwkramer.people.ysu.edu\/#website"},"datePublished":"2021-07-05T19:15:31+00:00","dateModified":"2021-07-05T19:57:47+00:00","breadcrumb":{"@id":"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/rwkramer.people.ysu.edu\/index.php\/programming-practice-via-competitive-programming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rwkramer.people.ysu.edu\/"},{"@type":"ListItem","position":2,"name":"Programming Practice via Competitive Programming"}]},{"@type":"WebSite","@id":"https:\/\/rwkramer.people.ysu.edu\/#website","url":"https:\/\/rwkramer.people.ysu.edu\/","name":"Dr. Bob&#039;s Page of Stuff","description":"Course Information and Pseudorandom Ramblings","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rwkramer.people.ysu.edu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/rwkramer.people.ysu.edu\/index.php\/wp-json\/wp\/v2\/pages\/59"}],"collection":[{"href":"https:\/\/rwkramer.people.ysu.edu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rwkramer.people.ysu.edu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rwkramer.people.ysu.edu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rwkramer.people.ysu.edu\/index.php\/wp-json\/wp\/v2\/comments?post=59"}],"version-history":[{"count":4,"href":"https:\/\/rwkramer.people.ysu.edu\/index.php\/wp-json\/wp\/v2\/pages\/59\/revisions"}],"predecessor-version":[{"id":64,"href":"https:\/\/rwkramer.people.ysu.edu\/index.php\/wp-json\/wp\/v2\/pages\/59\/revisions\/64"}],"wp:attachment":[{"href":"https:\/\/rwkramer.people.ysu.edu\/index.php\/wp-json\/wp\/v2\/media?parent=59"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}