{"id":58,"date":"2025-07-31T10:11:39","date_gmt":"2025-07-31T16:11:39","guid":{"rendered":"https:\/\/courses.cs.colostate.edu\/cs250\/?page_id=58"},"modified":"2025-09-01T14:21:42","modified_gmt":"2025-09-01T20:21:42","slug":"activities","status":"publish","type":"page","link":"https:\/\/courses.cs.colostate.edu\/cs250\/activities\/","title":{"rendered":"Assignments"},"content":{"rendered":"\n<p>All assignments are due at <strong>5:00 PM<\/strong> on the due date. <strong>There is a late penalty of 7.5% per-day for up to a maximum of 2 days<\/strong>. All assignments will be posted at least 2 weeks prior to its due date. We will have a mix of both written and programming assignments. All assignments will be posted on Canvas. All assignments should be submitted using Canvas.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Assignment Name<\/strong><\/th><th><strong>Released<\/strong><\/th><th><strong>Due Date: <\/strong>Multiple deliverables in case of HW3<\/th><\/tr><\/thead><tbody><tr><td>Exercises<br>[Extra Credit]<\/td><td>Aug 25<\/td><td>Sep 3, Sep 10, Sep 17, Sep 24<\/td><\/tr><tr><td>HW1<\/td><td>Sep 2<\/td><td>Sep 24<\/td><\/tr><tr><td>HW2<\/td><td>Sep 17<\/td><td>Oct 15<\/td><\/tr><tr><td>HW3<\/td><td>Oct 8<\/td><td>Oct 29, Nov 5, Nov 12<\/td><\/tr><tr><td>HW4<\/td><td>Nov 12<\/td><td>Dec 10<\/td><\/tr><tr><td>Extra Credit<\/td><td>Sep 2<\/td><td>Oct 1<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Generative AI Use and Consequences <\/h4>\n\n\n\n<p>Use of AI tools such as ChatGPT, Claude, Github Co-Pilot, and\/or their ilk to write or \u201cimprove\u201d your code or written work at *any* stage is prohibited; this includes the ideation phase. Turning in code or an essay written by generative AI tools will be treated as turning in work created by someone else, namely an act of plagiarism and\/or cheating.<br><br>Ultimately, you will get out of the class what you put in. Simply copying and pasting code from generative AI tools is neither ethical nor does it contribute to your learning experience. There are multiple reasons why these generative AI tools are detrimental to your learning experience:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>They rob you of the ability to think and learn the concepts for yourself. Solving problems is an essential step to gaining a solid understanding of the material.<br><\/li>\n\n\n\n<li>You will struggle with the in-classroom quizzes and exams where you will not have access to these tools.<br><\/li>\n\n\n\n<li>While we acknowledge that these tools are likely to become an important part of a software engineer&#8217;s workflow in the future, you are much more likely to use these tools in an effective manner if you already have expertise in the relevant technical topics. Developing such expertise requires putting in the effort to learn these topics without the assistance of these tools.<\/li>\n\n\n\n<li>These tools are prone to generating imperfect or even incorrect solutions, so trusting them blindly can lead to bad consequences.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Programming Exercises: <\/h4>\n\n\n\n<p>A set of programming exercises in Java <\/p>\n\n\n\n<p>The objective of this assignment is to help you hone your programming skills in a few aspects of Java.\u00a0\u00a0 This programming exercise is <em>Optional &amp; Extra Credit<\/em>. There are 20 programming exercises, and each accounts for 0.1 points of extra-credit towards your cumulative course grade.\u00a0 In total, this assignment will account for 2.0 points in extra-credit towards your final course grade. The assignments are due in batches as outlined in the due dates on Canvas. Additional details available on Canvas.<br><br>Due Dates:<br><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>01 through 05 (i.e. 5 programming exercises) are due on Wednesday, 3 Sep 2025<\/li>\n\n\n\n<li>06 through 10 (i.e. 5 programming exercises) are due on Wednesday, 10 Sep 2025<\/li>\n\n\n\n<li>11 through 15 (i.e. 5 programming exercises) are due on Wednesday, 17 Sep 2025<\/li>\n\n\n\n<li>16 through 20 (i.e. 5 programming exercises) are due on Wednesday, 24 Sep 2025<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Assignment 1: Working with numbering systems, bitwise operations, and common binary operations <\/h4>\n\n\n\n<p>Working with numbering systems, bitwise operations, and common binary operations<br>The objective of this assignment is to get you comfortable with numbering systems, bitwise operations, and common binary operations. Additional details available on Canvas.<br><br><br>Release date: 2-Sep<br>Due Date: 24-Sep<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Assignment 2: Profiling the impact of Caching, Memory accesses, and Choice of Data Structures<\/h4>\n\n\n\n<p>The objective of this assignment is to demonstrate the effects of caching, pre-fetching, the memory hierarchy, and how different data structures affect accessing memory. The programming assignment should be implemented in Java. You are required to work alone on this assignment. The assignment accounts for 7.5% towards your cumulative course grade. Additional details are available&nbsp;on Canvas.<br><br><br><br><br>Released: 17-Sep&nbsp;<br>Due Date: 15-Oct<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Assignment 3: Networking Assignment &#8212; experimentation with TCP\/IP Sockets <\/h4>\n\n\n\n<p>The objective of this assignment is to get you to be comfortable coding in a networked setting where you need to manage the underlying communications between nodes. All communications will be based on TCP and you will be using the sockets to implement this assignment. The programming assignment should be implemented in Java. You are required to work alone on this assignment. The assignment accounts for 7.5% towards your cumulative course grade. Additional details are available&nbsp;on Canvas.<br><br><br><br><br>Released: 8-Oct&nbsp;<br>Deliverable-1 Due: 29-Oct<br>Deliverable-2 Due: 5-Nov&nbsp;<br>Deliverable-3 Due: 12-Nov<br><br>Helpful Infospaces Videos:<br><a href=\"https:\/\/infospaces.cs.colostate.edu\/watch.php?id=175\">https:\/\/infospaces.cs.colostate.edu\/watch.php?id=175<\/a><br><br><a href=\"https:\/\/infospaces.cs.colostate.edu\/watch.php?id=176\">https:\/\/infospaces.cs.colostate.edu\/watch.php?id=176<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Assignment 4: Storage Systems Assignment &#8212; Implementing BSTs and B-Trees <\/h4>\n\n\n\n<p>The objective of this assignment is to reinforce concepts we learned about BSTs and B Trees. The programming assignment should be implemented in Java. You are required to work alone on this assignment. The assignment accounts for 7.5% towards your cumulative course grade. Additional details are available&nbsp;on Canvas.<\/p>\n\n\n\n<p>Released: 12- Nov<br>Due: 10-Dec<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Extra- Credit Assignment: Working with Packages <\/h4>\n\n\n\n<p>The objective of this assignment is to get you comfortable with packages and their related file structures. The programming assignment should be implemented in Java. You are required to work alone on this assignment. This assignment will contribute a maximum of 2% of extra credit towards your final grade. There is no late-submission window for this assignment. Additional details available on Canvas.<br><br>Released: 2-Sep<br>Due: 1-Oct<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>All assignments are due at 5:00 PM on the due date. There is a late penalty of 7.5% per-day for up to a maximum of 2 days. All assignments will be posted at least 2 weeks prior to its due date. We will have a mix of both written and programming assignments. All assignments will [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-fullwidth.php","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","footnotes":""},"class_list":["post-58","page","type-page","status-publish","hentry","post-preview"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"jpurdy","author_link":"https:\/\/courses.cs.colostate.edu\/cs250\/author\/jpurdy\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/courses.cs.colostate.edu\/cs250\/wp-json\/wp\/v2\/pages\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/courses.cs.colostate.edu\/cs250\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/courses.cs.colostate.edu\/cs250\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/courses.cs.colostate.edu\/cs250\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.cs.colostate.edu\/cs250\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":18,"href":"https:\/\/courses.cs.colostate.edu\/cs250\/wp-json\/wp\/v2\/pages\/58\/revisions"}],"predecessor-version":[{"id":137,"href":"https:\/\/courses.cs.colostate.edu\/cs250\/wp-json\/wp\/v2\/pages\/58\/revisions\/137"}],"wp:attachment":[{"href":"https:\/\/courses.cs.colostate.edu\/cs250\/wp-json\/wp\/v2\/media?parent=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}