Aims of Education

31 Jan 08:30 AM

Prof. Calvin

CSCI 5100

Announcements

  • Welcome to residency of CSCI 5100: Theory of Computation!
  • It is a pleasure to launch the LaGrange College M.S. in Computer Science (MSCS) with you.
  • You should have:
    • Quarto running.
    • DGitHub pages set up.

Sketch

  • 20 minute intro
  • 20 guest lecture
  • 20 minute goal setting
  • Then into Theory of Computatation

About Me

About Me
Name: Calvin (Deutschbein)
Say: (Professor) Calvin
Pronoun: they/them
Office: Discord calvin2501
Email: ckdeutschbein@willamette.edu (@lagrange email Soon™)
Website: cd-public.github.io

Background

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.

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

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.

Stretch Break