Github
Calvin (Deutschbein)
18 January 2023
Announcements
- Welcome to DATA-352W: Ethics, Teamwork Communication!
- I'm gonna call it "Ethics".
- Things to do:
- Access the course webpage at cd-public.github.io/courses/eth
- There may be a link to the course webpage from the WISE site
- Look over the syllabus
- Join the Discord!
- You should have gotten an email
- Homework
- The first homework, "Github.io" is due next Wednesday, 1/25
About Me
- Name
- Calvin (Deutschbein)
- Pronouns
- they/them
- Office
- Ford 206
- Office Hours
- Zoom by appt (email or discord me)
- Tuesdays and Thursdays are better.
- Email:
- ckdeutschbein@willamette.edu
- Website:
- cd-public.github.io
Background
- Thesis Title
- Mining Secure Behavior of Hardware Designs
- Plain English
- Just as there are bugs in code that makes software, modern hardware is also written in code and therefore may contain bugs. I find these bugs.
- Thesis
- Specification mining can discover properties that can be used to verify the secure
behavior of closed source CISC CPU designs, properties that can be used to verify
the temporal correctness of CPU designs, and hyperproperties that can be used to
verify that modules, SoCs, and CPUs have secure information flow.
- Some partners
- Intel Corporation, Semiconductor Research Corporation, Synopsys, MITRE, Cycuity
Motivations
- Allegedly, many data science programs have a data ethics requirement.
- It may be the case that some computer science programs do as well.
- These may or may not be true.
- To us, the underlying truth value is irrelevant if decision makers accept the assertions as true.
- Taking an ethics course as a given, we also recall it would be good if data and computing students both graduate and succeed in life post-graduation.
Expectations: Art and Science
- The College of Arts and Sciences requires an upper level writing course to graduate.
- This is a "writing centered course".
- It reflects my understanding that students are expected to read and peer review one another's writing for this credit.
- I do not know how to write, which I understand as common to scholars specializing in computing and/or data.
- To me, the requirements for what constitutes a writing centered course felt ambigious and underspecified.
- We could, at any time, come under external review for any reason.
- Therefore, we will read and review one another's writing regularly and rigorously.
Expectations: Data and Computing
- The Committee of Studies on Data and Computing wanted an in-major ethics course.
- I believe these desires are related to fundraising and marketing.
- Different faculty had different impressions and desires for the content of this course.
- I strongly believed it should be taught by non-data/non-computing faculty.
- Expressing an opinion resulted in me becoming responsible for the course.
- Hi, it's me.
- We are responding to an evolving consensus across a changing pool of faculty.
- Therefore, we will read and respond to widely varied topics.
Expectations: Prof. Calvin
- I want to use this class to teach some web dev work.
- This can support résumé work.
- This may collide with CS 271 Software Development (JavaScript variant).
- This was piloted in CS 241 (now 152) in Spring '22
- I would like you to be confident in job application materials.
- I would like you to have done whiteboard coding.
- I would like you to be able to write good personal statements.
- I would like to equip you to effectively request strong letters of recommendation.
- I would like none of you to become war criminals.
Learning Objectives
To gain the skills, knowledge, and confidence necessary to reason about data and computing and to argue effectively for responsible use of these technologies.
Doing so will require that students be able to:
- evaluate comparative merits of a technology,
- contextualize implications of technology deployments,
- recognize inherent moral, political, and ethical questions in technology,
- use data and computing to construct compelling arguments,
- develop and maintain a sense of self in a dehumanizing industry
Final
- Recent alums told me to do this.
- The final project will be a group (2-4) writing project.
- You will write collaboratively using version control (Github).
- Therefore, we will use Github in this class.
Midterms
- Building to this, we will have major practice writings structured around midterms.
- Midterm I on 2/20
- Midterm II on 4/10
- Writing is hard to grade, but many people have a sense of "good" and "bad" writing.
- We will focus on process.
- Writing will be anonymized* and reviewed by peers.
- Writers will iterate given feedback.
- Peers will re-assess the writing.
Homework
- Yes, homework.
- I will ask you to write weekly, and bring writing to class.
- We will read and write responses during class.
- Writing in class is a component of a writing centered course!
Discord
- I tend to find WISE lacking both from a polish perspective and from an ease of use perspective
- I will be using a 3rd-party forum to focus class communication, announcements, and questions: Discord.
- You should have gotten an email with invite instructions. Let me know if you have not!
- Totally free to sign up and use
- This is browser based!
Diving In
- This course is a study on data ethics, and no one* knows what that means!
- Data and computing slant will focus on applications and delivery methods.
- If you come across situations where you need to know a bit more about specific programming details, there are plenty of resources online, or just ask me!
Version Control
Remember the "Teamwork, Communication" part of the course title?
- How is enterprise software written by teams?
- Where do libraries, data sets, and readmes reside?
- What technologies underly modern, industrialized collaboration?
Logistics Pt. 1
You will need a Github account
Go to github.com and sign up.
Logistics Pt. 2
If you want a class-specific account, you can use + notation in email addresses.
You may want to use a personal or your school email - up to you.
I used a pseudonym, but you are not required to do so.
Logistics Pt. 3
- You will be required to submit an email code.
- You will be prompted to personalize, I recommend opting out.
- Then you will arrive at a dashboad.
- Click on "Create repository".
Website!
The repository page looks like THIS:
And your username + ".github.io":
Logistics Pt. 5
Link to your page from the class repository.
- Navigate to the course repository.
- github.com/cd-public/eths23
- I will link from the "teaching" page
- Click on "README.md"
Logistics Pt. 6
- Readme.md is a Markdown file.
- We can use language features to make hyperlinks.
- Create a hyperlink to your webpage!
- Markdown hyperlinks are given as follows:
[title](https://www.example.com)
- For example:
[Zagreb](https://zagreb-ethf23.github.io/)
- Don't link to the "github.com" address.
[WRONG!!!](https://github.com/zagreb-ethf23/zagreb-ethf23.github.io)
Logistics Pt. 7
- Click on on the pencil icon.
- It reads "Edit the file in your fork of this project"
- These are the different lines we saw on the version control graphics.
Logistics Pt. 8
- There will be many words!
- Read them and think about what they mean, but mostly follow instructions.
- Give a good complete description of your changes - it is a writing class!
- Then "Sign off and propose changes"
Logistics Pt. 9
- You have no created a version with your changes.
- It is not the main version!
- Create a pull request.
- If good: "These branches can be automatically merged."
- If something weird happens:
Logistics Pt. A
- If you wrote good descriptions, this will be populated.
- Edit anything you'd like for clarity.
Logistics Pt. B
- This screen means you are done and it is now my turn!
Tracking Progress
- You can check back on your requests, and when I merge them they'll look like this!
Logistics Close-out
- Send me either a Discord or email:
- How you would like to me referred to (name and possibly pronouns).
- One of:
- your Willamette @
- your Willamette id #
- your Willamette roster name
- Your github.io REPOSITORY url
- github.com/zagreb-ethf23/zagreb-ethf23.github.io
- Your Discord @
- Anything you'd like me to know.
Homework
Complete these tasks.
- Get your github.io page up.
- Get a pull request in to me.
- Send me the critical identification info.
Due Wednesday, 25 January!