Part 1 due 10/14/21; Part 2 due 11/4/21; Part 3 due 12/2/21
The project component of this class will be an opportunity for you to extend your work on assignments and explore applications of your choosing.
Why? To go deeper and explore the material from discrete math and how it relates to Computer Science.
How? During emergency remote instruction last academic year, we discovered that video assessement and some open-ended personalized projects help ensure fairness and can be less stressful for students than in-person midterm exams. Asynchronous project submission also gives flexibility and allows more physical distancing.
Your videos: We will delete all the videos we receive from you after assigning final grades for the course, and they will be stored in a university-controlled Google Drive directory only accessible to the course staff during the quarter. Please send an email to the instructor (minnes@eng.ucsd.edu) if you have concerns about the video / screencast components of this project or cannot complete projects in this style for some reason.
You may produce screencasts with any software you choose. One option is to record yourself with Zoom; a tutorial on how to use Zoom to record a screencast (courtesy of Prof. Joe Politz) is here:
https://drive.google.com/open?id=1KROMAQuTCk40zwrEFotlYSJJQdcG_GUU.
The video that was produced from that recording session in Zoom is here:
https://drive.google.com/open?id=1MxJN6CQcXqIbOekDYMxjh7mTt1TyRVMl
This project must be completed individually, without any help from other people, including the course staff (other than logistics support if you get stuck with screencast).
You can use any of this quarter’s CSE 20 offering (notes, readings, class videos, homework feedback). These resources should be more than enough. If you are struggling to get started and want to look elsewhere online, you must acknowledge this by listing and citing any resources you consult (even if you do not explicitly quote them). Link directly to them and include the name of the author / video creator and the reason you consulted this reference. The work you submit for the project needs to be your own. Again, you shouldn’t need to look anywhere other than this quarter’s material and doing so may result in definitions or notations that conflict with our norms in this class so think carefully before you go down this path.
The project has three parts.
Part 1 of Project: due Thursday October 14
Part 2 of Project: due Thursday November 4
Part 3 of Project: due Thursday December 2
In Week 1, we discussed the mathematical definition of a function, namely that a function is defined by its (1) domain, (2) codomain, and (3) rule assigning each element in the domain exactly one element in the codomain.
Write out the definition for an example function you make up. You can choose any example you like, so long as it is your own independent effort and it is not a function from a class example, homework, or Review Quiz in this class so far. Use the notation defined in class. Label and define the domain, codomain, and rule clearly.
Calculate the result of applying your function to an element in its domain. Just like in homework, include (clear, correct, complete) calculations and/or references to definitions to present your function application.
In CSE 20 this quarter, we will be exploring the applications of discrete mathematics for core CS topics. The following videos introduce some of these topics and the work happening here at UCSD to explore them. Pick one of the following videos, watch it, and then write a few sentences answering the following:
Which video did you watch? Why did you choose the video you watched?
What followup question(s) would you like to ask the person in the video about their work? At least one of your followup questions should be about a technical aspect of the work that you would like to learn more about.
(Click on the video titles below for the links)
Bioinformatics and virology: Niema Moshiri - Genome Sequence Alignment
Human robotics interaction: Angelique Taylor - Improving Human-Robot Interaction
Computer vision: Manmohan Chandraker: Giving Computers the Gift of Vision
Data centers and energy efficiency: Max Mellette: Improving Data Centers with Photonics
Programming languages and data structures: Nadia Polikarpova: Creating New Languages for Programming
Presenting your reasoning and demonstrating it via screenshare are important skills that also show us a lot of your learning. Getting practice with this style of presentation is a good thing for you to learn in general and a rich way for us to assess your skills.
Prepare a 3-5 minute screencast video that starts with your face and your student ID for a few seconds at the beginning, and introduce yourself audibly while on screen. You don’t have to be on camera for the rest of the video, though it’s fine if you are. We are looking for a brief confirmation that it’s you creating the video and doing the work submitted for the project.
Then, explain your work in question 1 of the written component. Discuss at least one potential mistake that someone solving a similar question should avoid (this could be a mistake you made while thinking about this problem or something you anticipate a classmate might struggle with); explain why the mistake is wrong and how to fix it.
Finally, explain any differences between your pre-survey description of “what a function is" and the mathematical definition of what a function is. You should have an email copy of your responses to the pre-survey, and you can refer to what you wrote in your explanation.
Use this Google form
https://forms.gle/SLd8SrJdXR5HCLQr7 (click to follow link)
to directly upload a video file for this assignment. It should be a file that you can easily play on your system. One way you can determine if this is true is if you can store it on your Google Drive and play it from there, since that’s how we will watch it.
Question 1
The function definition is complete and uses correct notation, and is different from class, homework, and quiz examples.
The calculation of the function application is correct and is supported by clear, correct, complete justification.
Question 2
(At least) one of the videos is mentioned and a reason for selecting it is included.
At least one technical question in described that is connected to the video selected.
Video
Video loads correctly and is between 3 and 5 minutes. It includes your face and your student ID, and you introduce yourself audibly while on screen.
Video presents your solution for Question 1.
A potential mistake is presented and discussed.
The mathematical definition of function is compared to your response in the pre-survey.
In this part of the project, you will select one question from one of the review quizzes from 10/4/2021 (Monday of Week 1) to 10/29/2021 (Friday of Week 5) to revisit. Include the problem statement, why you picked this question (e.g. what is interesting about it, what is hard about it, or why you wanted to take a second look at it), and your solution.
Question selection: you can pick any one question listed in the Review sections of the relevant notes documents, and you must address all of its parts.
For each part of your chosen question: prepare a complete solution (you can use the homework solutions we post for guidance about the style). Your submission will be evaluated not only on the correctness of your answers, but on your ability to present your ideas clearly and logically. You should explain how you arrived at your conclusions, using mathematically sound reasoning. Your goal should be to convince the reader that your results and methods are sound. Imagine you are preparing these solutions for someone else taking CSE 20 who missed that week and is “catching up".
In this part of the project, you’ll consider the importance of data types and precision in Computer Science. Read three articles
(1) This discussion of the causes of a wide-spread problem in published genomics papers
https://www.nature.com/articles/d41586-021-02211-4 (Click to follow link)
from the journal Nature;
(2) this IEEE profile of Katherine Johnson,
(Click to follow link) a NASA “computer" who calculated trajectories for early space exploration and who passed away in 2020; and
(3) this NASA report about the unsuccessful 1999 Mars Climate Orbiter mission
https://solarsystem.nasa.gov/missions/mars-climate-orbiter/in-depth/
In one or two sentences, summarize the main lesson you draw from each article.
Thinking back to your own experiences, give an example of when you used computers or Computer Science to help you *avoid* an error. Also, give an example when your use of computers or Computer Science *caused* an error.
What measures do you take to increase your confidence in the results of your own human and digital (i.e. machine) computation? Why do you think these are sufficient?
Presenting your reasoning and demonstrating it via screenshare are important skills that also show us a lot of your learning. Getting practice with this style of presentation is a good thing for you to learn in general and a rich way for us to assess your skills.
Prepare a 3-5 minute screencast video explaining your work in question 1 of the written component. During your solution presentation, point out at least one potential mistake that someone solving a similar question should avoid (this could be a mistake you made while thinking about this problem or something you anticipate a classmate might struggle with); explain why the mistake is wrong and how to fix it.
You do not need to include complete details of every part of your solution. It is up to you to choose what is most important so that you can stick to the timing guidelines and still have time to include discussing potential mistakes.
Include your face and your student ID (we’d like a photo ID that includes your name and picture if possible) for a few seconds at the beginning, and introduce yourself audibly while on screen. You don’t have to be on camera the whole time, though it’s fine if you are. We are looking for a brief confirmation that it’s you creating the video/doing the work attached to the video.
Use this Google form
https://forms.gle/SLd8SrJdXR5HCLQr7 (click to follow link)
to directly upload a video file for this assignment. It should be a file that you can easily play on your system. One way you can determine if this is true is if you can store it on your Google Drive and play it from there, since that’s how we will watch it.
Question 1
Selected review quiz question is labelled clearly, including the day it belongs to and the statement of the question.
Solution is complete: it addresses each part of the review quiz question selected.
Solution is correct: it clearly and correctly justifies the correct answer for each part of the question. You are welcome to check your answers with the Gradescope autograder (we will be reopening the review quizzes for this purpose). We will evaluate your submissions for the quality of your justification.
Question 2
A key lesson from each of the three references is stated clearly and is relevant to the message of the articles. Supporting explanations are included.
A specific example of an instance where using computers/ CS *caused* an error is described.
A specific example of an instance where using computers/ CS helped *avoid* an error is described.
Lesson(s) are drawn from the previous experiences.
Specific strategies for increasing confidence in computation are described and justified.
Video
Video loads correctly and is between 3 and 5 minutes. It includes your face and your student ID, and you introduce yourself audibly while on screen.
Video presents your solution for Question 1.
A potential mistake is presented and discussed.
In this part of the project, you will analyze a quantified statement about RNA strands. The definitions for RNA strands are available in the class notes. Example quantified statements about RNA strands are in the homework. Complete the following:
Write a quantified statement symbolically. Your quantified statement should satisfy all of the following requirements:
Have a nesting of quantifiers with at least one forall quantification and at least one existential quantification.
Have at least one negation and at least one binary logic operation (and, or, xor, if, iff).
Negations appear only within predicates (that is, so that no negation is outside a quantifier or an expression involving logical connectives).
Use exactly one of the predicates Mut, Ins, Del.
Not be a statement we have analyzed already in class materials.
Translate your statement from part a. to English.
Negate the whole statement from part a. and rewrite this negated statement so that negations appear only within predicates (that is, so that no negation is outside a quantifier or an expression involving logical connectives).
Prove or disprove your statement from part a.
In this part of the project, you’ll consider the impact Computer Science has on society. Read two articles:
(1) This policy piece about facial recognition software
https://thehill.com/policy/technology/569543-federal-agencies-planning-to-expand-use-of-facial-recognition (Click to follow link); and
(2) this exploration of accessibility for visually impaired website users
https://www.wsj.com/articles/colorblind-users-push-technology-designers-to-use-signals-beyond-color-11591351201 (Click to follow link).
Update (November 18): the Wall Street Journal about web design is now behind a pay wall. If you do not have access to it, please read the following two articles instead:
https://webaim.org/articles/visual/colorblind (Click to follow link) and https://webaim.org/resources/designers/ (Click to follow link)
In one or two sentences, summarize the main lesson you draw from each article.
Give an example of an algorithm or computer system that you use or have been used by others to make some decision that affects you. The algorithms may be institutional or personal, formal or heuristic, and should output a specific result or decision. Explain your answer, either by reference to your knowledge of the algorithm itself or by observations you make about outputs of the algorithm.
Give an example of how someone different from you might have a different experience with this algorithm. Support your example with lessons you learned in the readings, citing what you learned from the articles.
Presenting your reasoning and demonstrating it via screenshare are important skills that also show us a lot of your learning. Getting practice with this style of presentation is a good thing for you to learn in general and a rich way for us to assess your skills.
Prepare a 3-5 minute screencast video explaining your work in question 1 parts (c) and (d) of the written component (i.e. the negation and proof). During your solution presentation, point out at least one potential mistake that someone solving a similar question should avoid (this could be a mistake you made while thinking about this problem or something you anticipate a classmate might struggle with); explain why the mistake is wrong and how to fix it.
You do not need to include complete details of every part of your solution to these parts. It is up to you to choose what is most important so that you can stick to the timing guidelines and still have time to include discussing potential mistakes.
Include your face and your student ID (we’d like a photo ID that includes your name and picture if possible) for a few seconds at the beginning, and introduce yourself audibly while on screen. You don’t have to be on camera the whole time, though it’s fine if you are. We are looking for a brief confirmation that it’s you creating the video/doing the work attached to the video.
Use this Google form
https://forms.gle/SLd8SrJdXR5HCLQr7 (click to follow link)
to directly upload a video file for this assignment. It should be a file that you can easily play on your system. One way you can determine if this is true is if you can store it on your Google Drive and play it from there, since that’s how we will watch it.
Question 1
Quantified statement is clearly stated, is well-defined, syntactically correct, and meets all requirements.
Translation to English is clear, correct, and complete.
The negation of the quantified statement is clearly stated, is well-defined, syntactically correct, and meets all requirements.
The proof or disproof of the original statement is clear, correct, and complete.
Question 2
A key lesson from each of the two references is stated clearly and is relevant to the message of the articles. Supporting explanations are included.
A specific example of an algorithm or computer systems that impacts you is described.
A description of how this algorithm or computer system might impact someone different from you differently is included, and is supported with references to one or both of the articles.
Video
Video loads correctly and is between 3 and 5 minutes. It includes your face and your student ID, and you introduce yourself audibly while on screen.
Video presents your solution for Question 1 parts (c) and (d).
A potential mistake is presented and discussed.