Aims of Education
Automata
Announcements
- Welcome to Automata
- You should have:
- Quarto running.
- GitHub pages set up.
Sketch
- Intro
- Guest lecture
- Goal setting
- Then into Automata
About Me
About | Me |
---|---|
Name: | Calvin (Deutschbein) |
Say: | (Professor) Calvin |
Pronoun: | they/them |
Office: | Discord calvin2501 |
Email: | ckdeutschbein@willamette.edu |
Website: | cd-public.github.io |
Background
- Thesis Title: Mining Secure Behavior of Hardware Designs
Specification mining can discover properties that can verify the secure behavior of closed-source CISC CPU designs, the temporal correctness of CPU designs, and hyperproperties for secure information flow in modules, SoCs, and CPUs.
Background
- Plain English:
Just as there are bugs in code that make software, modern hardware is also written in code and therefore may contain bugs. I find these bugs.
- Of note: I found those bugs using computation theory specifically automata.
Course Description
- Study of abstract models of computation, unsolvability, complexity theory, formal grammars and parsing, and other advanced topics in theoretical computer science.
- ~25 contact hours on automata
- ~15 contact hours on complexity
Modality
- All of automata theory in residency, right now.
- All of complexity theory in video recordings, over the next 8 weeks.
- I maintain a website with videos, slides, code, and problem sets.
- You will maintain a website with completed problem sets.
Grading
- Weekly problem sets that will lag (due to the residency) and catch up at the end.
- All coursework as Python .qmd rendered in .html on GitHub pages.
- “Final” is having a theory of computation website.
Feedback and Grading
“After some consideration, I’ve decided to move away from a traditional grading structure for this class. Rather than assign work with the intent of assessing student progress, assignments in this course will instead focus on fostering student learning. As a result, I intend to implement the following:”
General Expectations
- Students will begin the course with a grade of an “A”.
- Students will be expected to:
- Follow lecture.
- Participate in Discord.
- Treat fellow students with respect.
- Complete problem sets.
- Students will be expected to:
Instructor Communication
- Students will be contacted privately by the course instructor in the unusual event that they are not meeting expectations.
- Students will not be held to an expectation of perfection.
- Students will not lose points or grades without prior discussion.
- Students will have the opportunity to explain their engagement with the course.
Feedback Structure
- Students collectively within the class as a whole will receive feedback on computation, automata, and complexity.
- Individual feedback will be provided in limited and unique cases.
- Students are expected to provide respectfully collaborate on problem sets.
- Students may request individual feedback from the instructor at any time.
- Students will receive narrative rather than quantitative feedback.
Group Exercise:
- Let’s start the class off right away with an exercise designed for:
- Groups
- Discussion
- Disagreement
- Deep critical thinking
- Groups
Aims of Education
- Before starting my first degree, we went to a lecture titled “Aims of Education”
- I completed all remaining degrees during shutdowns/other crises!
- I remember it fondly.
- We will watch “How open-source hardware is changing our future” by Amber Huffman.
- And then discuss.
Question 0
What are the goals of an education in computer science?
- Think: about a possible answer individually.
- Discuss: answers within the group.
- Record: a summary of the discussion.
Question 1
How does a scientist learn something new?
- Think: about a possible answer individually.
- Discuss: answers within the group.
- Record: a summary of the discussion.
Question 2
What do you reasonably expect to remember from your courses in 20 years?
- Think: about a possible answer individually.
- Discuss: answers within the group.
- Record: a summary of the discussion.
Question 3
What is the value of making mistakes in the learning process?
- Think: about a possible answer individually.
- Discuss: answers within the group.
- Record: a summary of the discussion.
Question 4
How do we create a safe environment where risk-taking is encouraged and productive failure is valued?
- Think: about a possible answer individually.
- Discuss: answers within the group.
- Record: a summary of the discussion.
Closing Thoughts
- Try! Hard work leads to innovative thinking.
- Fail! Don’t fear failure. Be ready to redo from scratch.
- Collaborate! Work with peers to succeed at this course and succeed at collaboration.
- Enjoy! Experience the fun of being a scientist through hard work and exploration.