{"id":10054,"date":"2017-05-17T17:02:59","date_gmt":"2017-05-17T21:02:59","guid":{"rendered":"https:\/\/www.bu.edu\/cs\/?page_id=10054"},"modified":"2024-02-27T19:46:00","modified_gmt":"2024-02-28T00:46:00","slug":"academic-integrity","status":"publish","type":"page","link":"https:\/\/www.bu.edu\/cs\/undergraduate\/undergraduate-life\/academic-integrity\/","title":{"rendered":"Academic Integrity"},"content":{"rendered":"<p style=\"text-align: justify;\">The Department of Computer Science takes the academic integrity of all students seriously. In order to uphold the integrity of our programs and the university, we rely on students to behave appropriately and take responsibility for their mistakes. Please review the following pages to better understand the expectations of the department, college, and university, as well as the process of any academic misconduct matters.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.bu.edu\/academics\/policies\/academic-conduct-code\/\">Learn the Code<\/a><\/li>\n<li>For a look at academic integrity that is specific to the College of Arts and Sciences, explore this <a href=\"http:\/\/www.bu.edu\/cas-academic-integrity\/\">site<\/a>.<\/li>\n<\/ul>\n<h3>Examples in Computer Science<\/h3>\n<p style=\"text-align: justify;\">Violating the Academic Code of Conduct is a serious legal issue that may have big consequences (such as being suspended or expelled) and may follow you even after you finish college. Therefore, it is very important to know how to interpret the rules. As a general rule of thumb <em>if in doubt about any situation, always ask your instructor <\/em>how to proceed.<\/p>\n<p style=\"text-align: justify;\">Here are some examples of situations that you may find yourself in at some point during your academic career and how you should handle them. Some of these are not allowed, many are allowed as long as you disclose it appropriately. Remember, it is always better to submit a partial homework assignment (and receive partial credit) than getting in to legal trouble.<\/p>\n<p><a href=\"#&quot;&quot;\" class=\"button expand_all\">Expand All<\/a><\/p>\n<div class=\"bu_collapsible_container \" aria-live=\"polite\" data-customize-animation=\"false\"><h3 class=\"bu_collapsible\" aria-expanded=\"false\"tabindex=\"0\" role=\"button\">1. Programming Assignments<\/h3><div class=\"bu_collapsible_section\" style=\"display: none;\"><br \/>\n<b>Using code fragments from textbook\/lecture notes\/other official course resource: <\/b>Joe is working on his homework for CS111 and finds that the implementation of a linked list described in his textbook would be perfect for his code. However, he is unsure whether he is allowed to use the code fragment from the book. \u2013 Yes! The resources for any course, such as the textbook, the instructor\u2019s slides or notes, lab solutions, are there to aid you. In fact, you are supposed to read the assigned material, hence it would be unreasonable to expect you to \u201dforget\u201d what was in there.<\/p>\n<hr \/>\n<p><b>Receiving help from instructor\/TF\/CA: <\/b>Joe also visits the office hours of the TF to get something sorted out in his code. The TF suggests some changes on the order in which he should iterate over his list. Can Joe use the improved code in his solution? \u2013 Yes! You may use any help that comes from the course staff and no need to reference them.<\/p>\n<hr \/>\n<p><b>Using exact problem solution: <\/b><span>In his first homework assignment for CS112 Nick has to write the program\u00a0<\/span><em>PalindromeTest.java<\/em><span>\u00a0that takes a string as input and tests whether it is palindrome. He searches online for the term\u00a0<\/span><em>\u201dPalindromeTest.java\u201d<\/em><span>\u00a0and finds that a student who took this course in a previous semester has uploaded her solution online. Can Nick download this file and submit it as his homework solution? \u2013 No! First of all, you should always credit the author of a work, in this case the student from the previous semester. Second, the assignment clearly asked to implement your own version. Searching for the exact term makes it a dishonest act, as you were clearly looking for a complete solution.<\/span><\/p>\n<hr \/>\n<p><strong>Looking up syntax: <\/strong><span>Nick realizes that he cannot use someone else\u2019s solution and quickly closes the page. However, he is unsure how to handle strings in Java. Hence, he looks up the Java String reference page, where he finds out about syntax and built-in string operations. Is he allowed to use this information? \u2013 Yes! Syntax and built-in functions are part of a programming language. You are not expected to remember every detail about every function, feel free to look it up.<\/span><\/p>\n<hr \/>\n<p><strong>Using code snippet from online resource: <\/strong><span>In CS330 Alice learns that the use of a binary-heap based priority queue can make many of the learned algorithms much more efficient. One of her homework assignments asks for an implementation of Dijkstra\u2019s algorithm, which makes use of this data structure. Alice wants to refresh her memory on binary-heaps and visits the corresponding Wikipedia page. There she finds a short implementation of it. Can she use it for her code? \u2013 Yes! Unless the homework assignment explicitly states that you need to implement it yourself, you are allowed to use an online resource. However, you always need to reference your source. In her case she will make a comment in her code that says:\u00a0<\/span><\/p>\n<p style=\"text-align: justify;\"><code>\/\/code for binary heap is from https:\/\/en.wikipedia.org\/wiki\/Binaryheap.<\/code><\/p>\n<hr \/>\n<p><strong>Using package or function from other resource: <\/strong><span>In CS350 students are introduced to scheduling theory \u2013 how should jobs be allocated to machines? Alex notices, that for many tasks the best solution requires to first sort the jobs in some order, for example by increasing deadline. In her homework she has to build an optimal scheduler that assigns jobs to machines while taking care of many issues, such as delay, faulty devices, permissions, etc. Can she use a pre-written sort function as part of her implementation? \u2013 Yes! The assignment is clearly meant to build her understanding of how the scheduler operates and not basic programming skills. Unless it is specifically stated, you may make use of software packages (such as built-in sort functions) or some code from other resources. However, you need to reference your source. For example, Alex may add a comment to her code that says<\/span><code>\/\/mergesort is part of the \"sort\" package from the personal website of <\/code><\/p>\n<p style=\"text-align: justify;\"><code>John Doe<\/code><code>at www.johndoe.edu\/code.<\/code><\/p>\n<hr \/>\n<p><strong>Reusing your own code: <\/strong><span>As the semester goes own Nick notices that many of his assignments require to read a string input. Hence he decides to write his own function that reads a string from command line and stores its characters in an array. Can he use this code in later assignments? \u2013 Yes! Of course, he is the author of the code. The whole point of modular programming is that you may reuse code and don\u2019t have to start from scratch.<\/span><\/p>\n<hr \/>\n<p><strong>Reusing your own code II: <\/strong><span>In the next semester Nick is enrolled in CS210. Unfortunately, one month in to the semester he gets very ill and is forced to take a medical leave and withdraw from class. Luckily, he gets better and next semester takes CS210 again. The instructor is the same as in the previous semester and hence the homework assignments haven\u2019t changed a lot. Since Nick has submitted the firs two assignments before he got sick, he decides to resubmit the same solution this time. However, to his greatest surprise the instructor asks him to come to his office, as the plagiarism checking software that is routinely run has found that his code is plagiarized. When confronted with the evidence Nick quickly realizes that the software has found his own solution from the previous semester, which is \u2013 obviously- identical to the one he submitted now. Is Nick in trouble now? \u2013 Nick did not plagiarize. However, he should have told his instructor beforehand that he will be submitting the same work.<\/span><\/p>\n<hr \/>\n<p><strong>Working together with other students<\/strong><\/p>\n<p style=\"text-align: justify;\"><span>In many of your programming assignments you will be allowed to work together with other students. The instructors will always specify when you are supposed to work on your own. Maggie and Kathy work together on their assignment for CS210. They sit in front of Maggie\u2019s computer and write the code together. Afterwards Maggie sends the file in an email to Kathy and they both submit it as their homework. Is this allowed? \u2013 No! You are allowed to discuss with your friends but you have to write your own code. In practice this means that you can brainstorm about how to attack the problem. You are allowed to draw the class structure of your software on the white board and debate what the best layout would be. But then each person has to work by herself to write the actual code.<\/span><\/p>\n<hr \/>\n<p><strong>Working together with other students II: <\/strong><span>Zoey is also in the same CS210 class as Maggie. She had trouble implementing one of the functions that does bit operations. Implementing this function is only a part of the assignment, can Maggie share this part of her code with Zoey? \u2013 No! You cannot share any part of your code with someone else. However, Maggie can explain the math of how the function works to Zoey on the whiteboard. Afterwards, Zoey will be able to implement it herself.<\/span><\/p>\n<p><\/div>\n<\/div>\n\n<div class=\"bu_collapsible_container \" aria-live=\"polite\" data-customize-animation=\"false\"><h3 class=\"bu_collapsible\" aria-expanded=\"false\"tabindex=\"0\" role=\"button\">2. Problem Sets<\/h3><div class=\"bu_collapsible_section\" style=\"display: none;\"><br \/>\n<strong>Finding solutions to same problem: <\/strong><span>John\u2019s Algorithms instructor often assigns problems from the textbook for homework. John has discovered that the same book was used at another school and all the solutions to the problems can be found online. Can he use those solutions for his homework? \u2013 No! You are not allowed to deliberately look for the problem solutions. If you bump into them accidentally, try to steer away from it.<\/span><\/p>\n<hr \/>\n<p><strong>Obtaining solutions from students in previous semester: <\/strong><span>John\u2019s friend Frank has taken the same course in a previous semester with the same instructor. The instructor has a habit of sharing her problem solutions with the students after the homework deadline has passed. She uploads it to a password protected site that only students in the course can access. Frank has downloaded all the solutions and offers to share them with John. Should John take it? \u2013 No! In fact, this would be theft since the solutions come from a restricted access source that John has no permission to access.<\/span><\/p>\n<hr \/>\n<p><strong>Finding solutions to similar problem that inspires your solution: <\/strong><span>John finds some great practice opportunities online \u2013 such as www.geeksforgeeks.org. One of his homework problems remind him of a problem that he has solved online. He incorporates the idea of that solution in to his homework solution. Can he do that? \u2013 Yes! John found the solution to the homework problem by himself using his knowledge on the topic. In fact, it is great that he practiced on his own. In his solution it is a good idea to mention the other problem. He might write \u201dMy solution follows a similar track of thought as the solution to problem X on website Y.\u201d It is also possible that the practice problem can be directly incorporated as a subproblem into his solution. In this case he needs to cite the solution. \u201dIf we reformulate the homework problem as blabla, then we can see that the first part of it is identical to problem X on website Y. I will use the solution to problem X as a subroutine in my solution.\u201d<\/span><\/p>\n<hr \/>\n<p><strong>Using known algorithm\/method: <\/strong><span>One of John\u2019s homework problems is a complicated graph-problem. The first step is to find the shortest paths in the graph. He knows that there are well-known algorithms to solve that. Can he use one of those or does he need to explain in detail how to go about it? \u2013 If the problem doesn\u2019t explicitly ask to develop your own shortest paths algorithm you are allowed \u2013 and encouraged!- to use methods that are common knowledge or sometimes even best practice. In his solution he may write \u201dFirst, we find the shortest paths from node s by using Dijkstra\u2019s algorithm.\u201d<\/span><\/p>\n<hr \/>\n<p><strong>Working together: <\/strong><span>Jane, Jen and Joe have a study group and meet every week to work together on their homework in Crypto. They would work out the solution together and then agree on the language for writing it down, finally each of them submits this solution. Are they allowed to collaborate in this fashion? \u2013 No! And yes at the same time\u2026. It is allowed to work out the solution to a problem as a group, unless stated otherwise. However, every person needs to write down the solution individually in her own words. Further, every group member has to clearly identify the others on their solution. For example, Jen would write at the beginning of her homework submission \u201dI worked together with Jane X and Joe Y on the solutions to problems 2,3 and 5\u201d.<\/span><\/p>\n<p><\/div>\n<\/div>\n\n<p><div class=\"bu_collapsible_container \" aria-live=\"polite\" data-customize-animation=\"false\"><h3 class=\"bu_collapsible\" aria-expanded=\"false\"tabindex=\"0\" role=\"button\">3. Course and research projects<\/h3><div class=\"bu_collapsible_section\" style=\"display: none;\"><br \/>\n<strong>Using online available dataset: <\/strong><span>For his Machine Learning class Ken has to take some data and analyze it using multiple machine learning methods. He finds that there is interesting data available on the USDA website on monthly outlook on cotton crops in the US. He decides to download this dataset and use it for his analysis. Is he allowed to do that? \u2013 Yes! This dataset is in public domain, everyone is allowed to use it. Many datasets have some kind of license disclaimer \u2013 e.g. it cannot be used for commercial purpose \u2013 that you need to observe and follow. Most of the times using the data for education purposes is allowed. Ken does need to properly reference the data source. He will write in his project description \u201dI analyze the trends in US cotton production using the Cotton and Wool Yearbook Data from the USDA website available at https:\/\/www.ers.usda.gov\/topics\/crops\/cotton-wool\/data\/ \u201d.<\/span><\/p>\n<hr \/>\n<p><span><\/span><strong>Collecting dataset: <\/strong><span>Ted is in the same course as Ken and he analyzes the mechanism of spreading political ideas on Twitter. For this purpose he builds a web crawler that scrapes tweets of Twitter. Is Ted allowed to create this dataset and use for his project? \u2013 Yes, with caveats. In general it is allowed to download public available data. However, most websites have policies in place to restrict the access of bots (such as Ted\u2019s crawler), some of which have to do with not overloading the system. Ted needs to be very careful to heed to these policies, for example by timing his page requests some seconds apart. He also has to identify his datasource. He may write \u201dThe data contains all tweets on Twitter using the hashtag #veryinterestingtopic in the period between June 6-11 2018.\u201d<\/span><\/p>\n<hr \/>\n<p><span><\/span><strong>Collecting dataset II: <\/strong><span>Ted thinks it would be interesting for his project to compare his tweets to people\u2019s activity on Facebook in the same time period. Thus, he builds another crawler to download Facebook profiles and posts of users. As you know on Facebook most people only allow their personal data and posts to be seen by their Facebook friends. Hence, Ted\u2019s approach is to first log in to his own account and scrape his friends information. Than that of the friends of his friends, etc. Is he allowed to do this? \u2013 No. This is a lot more sensitive issue. The data on a person\u2019s profile is personal property and Ted did not get permission to access it. This would be the same as peeking through the window in someones home.<\/span><\/p>\n<hr \/>\n<p><span><\/span><strong>Using your research for course project: <\/strong><span>Ted is in fact a PhD student in Political Science and the data analysis he needs to perform for his machine learning class fit in nicely with his PhD research. is he allowed to use the class project in his dissertation? What if Ted was already working on this prior to taking the class and now would like to use it for the project as well? \u2013 This issue should be discussed on a case-by-case basis with your instructor. Usually, faculty is very supportive of research and there is no reason why your course work cannot aid you in your personal research goals as well. However, you do need to put in the same amount of work as others. In practice, this means that you will discuss in detail with your instructor what component of the project you have already done and what you will do in addition specifically for this course. Be careful, using your previous results and submitting it as course work without prior notification is not allowed and amounts to cheating.<\/span><\/p>\n<hr \/>\n<p><span><\/span><strong>Using project for multiple courses: <\/strong><span>Ted is also taking a Data Science course. It turns out that the work he did for his Machine Learning class perfectly fits the project description for this course. Hence, he modifies the language somewhat and submits it to the Data Science course. Is this allowed? \u2013 No! This is also considered a case of plagiarism. Imagine, he only does the work once and expects to get reward (a grade) for it twice. In some cases \u2013 if both instructors agree \u2013 it may be possible to turn it in to a bigger project that works for both courses. In this case it has to be made very clear what component of the project should be counted for which course and your grade will be based on that part only. In any case this only works if you discuss well in advance with your instructors.<\/span><\/p>\n<hr \/>\n<p><strong>Using existing method\/ algorithm\/ toolbox: <\/strong><span>A group of students in the Data Science class work hard on their data analysis project. In the course of their work they make heavy use of Python\u2019s \u201doptimization\u201d toolbox. Is this allowed? \u2013 Yes! However, it is important that the group properly refer to the resources used in their project report. They have to list the source of the toolbox. If they use a given algorithm they have to refer the paper or textbook where it is from.<\/span><\/p>\n<hr \/>\n<p><span><\/span>&#8220;<strong>Following existing methodology: <\/strong><span>In his work on his Cyber Security project Pat follows the methodology outlined in the seminal paper by professor X. Is this allowed? \u2013 Yes! Pat has to give the proper bibliographic reference for the paper and explicitly state that he is following the methodology therein. The purpose of research papers is to share the findings with the public so that others can use it.<\/span><\/p>\n<p><\/div>\n<\/div>\n<br \/>\n<div class=\"bu_collapsible_container \" aria-live=\"polite\" data-customize-animation=\"false\"><h3 class=\"bu_collapsible\" aria-expanded=\"false\"tabindex=\"0\" role=\"button\">4. Personal issues<\/h3><div class=\"bu_collapsible_section\" style=\"display: none;\"><\/p>\n<p style=\"text-align: justify;\"><em>We want to share some thoughts on the best practice when you cannot meet a deadline and finish an assignment on time for some reason. The worst thing you can do is panic and copy the solution from some resource that you aren\u2019t allowed to use. Students get caught more often than not<\/em>.<\/p>\n<p style=\"text-align: justify;\"><strong>Case 1.<\/strong> You have planned out your time poorly, started your work late and are simply unable to finish your homework assignment by the deadline. \u2013 In this case the best thing you can do is to submit whatever partial solution you have and take the partial credit for it. If you do the math, one assignment will amount to maybe 2 \u2212 5% of your final grade, it\u2019s really not worth the risk.<\/p>\n<p style=\"text-align: justify;\"><strong>Case 2.<\/strong> You get a terrible stomach bug on the day before a major deadline. You try to do your best, but are simply too sick to work. \u2013 Contact your instructor, they are human beings too and understand that there simply are some very unfortunate situations outside of your influence. You can work out some solution together. It may not be the best outcome you have hoped for but it is going to be fair given the situation. However, you have to be the active party reaching out to the professor and asking for accommodation. They cannot guess that something is going on. Also, you have to be very honest with yourself and the professor; were you really prohibited from meeting the deadline despite your best effort, or does your situation rather fall into <strong>Case 1<\/strong>?<\/p>\n<p><!-- DO NOT REMOVE --><br \/>\n<script>\r\njQuery( document ).ready(function() {\r\n\tjQuery('.bu_collapsible_container').addClass('inverted_bu_collapsible_container');\r\n\tjQuery('.bu_collapsible').addClass('inverted_bu_collapsible');\r\n});\r\n<\/script><br \/>\n<!-- DO NOT REMOVE --><br \/>\n<script>\r\njQuery( document ).ready(function() {\r\n\tjQuery('.expand_all').on(\"click\", function () {\r\n\t\tvar button_text= \"Expand All\";\r\n\t\tif (jQuery('.expand_all').html() == button_text) {\r\n\t\t\tjQuery('.expand_all').text(\"Collapse All\");\r\n\t\t} else {\r\n\t\t\tjQuery('.expand_all').text(button_text);\r\n\t\t}\r\n\tjQuery('.bu_collapsible').trigger(\"click\");\r\n\tconsole.log(\"all content expanded\");\r\n\t});\r\n});\r\n<\/script><\/p>\n<p><\/div>\n<\/div>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Department of Computer Science takes the academic integrity of all students seriously. In order to uphold the integrity of our programs and the university, we rely on students to behave appropriately and take responsibility for their mistakes. Please review the following pages to better understand the expectations of the department, college, and university, as [&hellip;]<\/p>\n","protected":false},"author":1690,"featured_media":0,"parent":2091,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/pages\/10054"}],"collection":[{"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/users\/1690"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/comments?post=10054"}],"version-history":[{"count":27,"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/pages\/10054\/revisions"}],"predecessor-version":[{"id":18533,"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/pages\/10054\/revisions\/18533"}],"up":[{"embeddable":true,"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/pages\/2091"}],"wp:attachment":[{"href":"https:\/\/www.bu.edu\/cs\/wp-json\/wp\/v2\/media?parent=10054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}