Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Final Assignment - CS50 for JDs CS50 for JDs Harvard Law School Winter 2021 Menu Assignments Labs Lectures Office Hours Norms Seminars Software Staff Syllabus Final Assignment This final assignment is open-book: you may use any and all non-human resources during the test, but the only humans to whom you may turn for help or from whom you may receive help are the course’s staff, which means that you may browse and search the internet, review books, review the course’s own materials, use CS50 IDE, email the course’s staff at hls@cs50.harvard.edu with questions, but you may not receive or solicit directly or indirectly any help from anyone other than the course’s staff. Among this final assignment’s aims is to assess your newfound comfort with the course’s material and your ability to apply the course’s lessons to familiar and unfamiliar problems. And most problems aspire to teach something new! What to Do Open this Google Doc. Make a copy of the Google Doc in your own Google account by choosing File → Make a Copy. Answer each of the questions below in the Google Doc by filling in the blanks marked TODO. Your answers, if not code, should be no more than a few sentences in length each. Questions Cryptocurrency If unfamiliar, here’s how bitcoin, a “cryptocurrency,” works, youtube.com/embed/bBC-nXj3Ng4?end=1314. Watch up through 00:21:54. What, in your own words, is a blockchain? How does bitcoin use a blockchain? What problem does a (cryptographic) hash function solve for bitcoin? In the context of hash tables, we discussed a hash function that, given a string, returns a number from 0 through 25, based on that string’s first character. Why is that hash function unsuitable as a cryptographic hash function? Hello, Java Consider the source code, below, for a program written in not Python but Java! class Hello { public static void main(String [] args) { System.out.println("hello, world"); } } Suppose that, as the most technical person in your firm, you’ve been handed this code (even though you don’t actually know Java!) and been asked to compile and run it. Armed only with your intuition and Google, ascertain how. Hint: using CS50 IDE, first save it in a file called Hello.java. Via what single command can you compile that program? Via what single command can you run that program, once compiled? Change the program in such a way that it first prompts a user for their name and then prints “hello, so-and-so”, where so-and-so is their name. In a new file called hello.py, rewrite that same program in Python. Benefits and Risks Associated with Relevant Technology If unfamiliar, read up on how AI might affect the legal profession, jolt.law.harvard.edu/digest/a-primer-on-using-artificial-intelligence-in-the-legal-profession. For legal research, why might AI-based search results be better than keyword-based search results alone? Even as AI improves, what are two legal tasks at which (human) attorneys or paralegals might still be better? Select Appeal Suppose that you’ve decided to store all past Supreme Court decisions in a SQL table, including each case’s appellant, appellee, year, volume, and first page. Via what single SQL statement could you create, using appropriate SQLite types, such a table? You’re welcome to use DB Browser to create the table manually and then copy/paste the corresponding CREATE statement here. A decision quite often cites one or more prior decisions. Propose, in English but in sufficiently technical terms that a developer would understand, how you could implement citations (i.e., associate decisions with other decisions) in a SQL database. Net Neutrality If unfamiliar, here’s a look at the issue of net neutrality, youtu.be/92vuuZt7wak, with a follow-up at euro.ecom.cmu.edu/program/law/08-732/Neutrality/Primer.pdf. In your own words, what is net neutrality? Technologically, how might an internet service provider (e.g., Comcast) implement prioritization of some traffic over other? Cookies Per developer.mozilla.org/en-US/docs/Web/HTTP/Cookies, recall that cookies are sometimes sent from web servers to browsers (and back). Per blog.chromium.org/2020/01/building-more-private-web-path-towards.html, meanwhile, Google plans to eliminate support for “third-party” cookies in Chrome, just as Firefox and Safari already have. What’s the difference between a first-party and third-party cookie? What are, at least, two features of today’s websites that might break (i.e., stop working) if third-party cookies are disabled? Base64 Per en.wikipedia.org/wiki/Data_URI_scheme, the below is an example of a “data URI scheme,” which prescribes a way to encode an image as text in “base64”, which is just another base system. Whereas binary has 2 digits and decimal has 10 digits, base64 has 64 digits. The URI below happens to encode a JPEG that’s 80 pixels wide by 80 pixels tall. data:image/jpeg;base64,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 Which 64 symbols does base64 use to represent data? Recall that binary uses 0 and 1 whereas decimal uses 0 through 9. What is the URI above a picture of? Read up on how you might embed it in a web page, and then whip up such a web page in CS50 IDE yourself to see! Remember to run http-server in a terminal window if you’d like to see your page! Formal Opinion 477 If unfamiliar, read through americanbar.org/content/dam/aba/administrative/professional_responsibility/aba_formal_opinion_477.pdf, which offers guidance on how to protect communications with clients. How might an email sent over the internet from an attorney to a client be vulnerable to interception by a third party? If both attorney and client happen to have Gmail (or paid G Suite accounts), might their emails be more vulnerable or less vulnerable to interception? For especially sensitive (but still electronic) communications, what measures might an attorney and client take to communicate more securely? Trusting Trust In 1984, a computer scientist named Ken Thompson won the “Turing Award,” which is considered the “Nobel Prize of computer science.” In accepting the award, he gave this speech,