Theory of Computation
Smith Computer Science
These sections contain information about how the class is run
Professor: Pablo Frank Bolton (pfrank at smith)
Research interests: Human-Robot Interaction, Robotic Perception, STEM education
Class Schedule:
Objectives
This course provides a challenging introduction to some of the core theoretical ideas that underlie the computational sciences. The objective of this course is:
Class Structure - What type of work do we do and when do we do it?
Content:
We'll begin with very simple computational machinery (automata and finite state machines, regular sets, context-free languages).
We'll then move on to Turing machines and computability, efficient algorithms and reducibility, NP-completeness, the P versus NP problem, the power of randomness.
We'll draw on real world examples from the domains of cryptography, machine learning, and more.
Finally, we'll talk about the present and future of computing theory, with potential topics including interactive proofs, quantum computing and the physical limits of computation.
Class mechanics:
We will discuss concepts using blackboard annotations as well as proyected presentations and animations;
Readings will be assigned and should be completed before each designated lecture.
This will help prepare you for the day's discussion.
Friday classes will be used to practice the techniques seen during the week by solving exercises and discussing subjects that remain confusing.
Note: class participation is important, as the class will include discussion and debate about many of these topics.
Assignments - When and what are they about?
There will be 8 problem sets assigned during the semester.
These problem sets will often ask you to prove theorems, but it is more important to demonstrate understanding than to employ rigor for rigor's sake. For example: a brief description of an algorithm including an illustrative diagram is better than complicated spaghetti code. Additionally, a clear explanation of how you tried to solve a problem and were unsuccessful will receive partial credit.
Clarity, conciseness, and completeness are the qualities of the best answers
All assignment submissions must be in PDF format, and must be organized and legible (typed is preferable). A LaTeX template will be available for typesetting your assignments.
Prerequisites:
Responsibilities - Students must
Course Philosophies
Throughout the class, students should focus on adhering to the following general tenets:
There is no required textbook for the course. However, there are several recommended books that some students may find helpful:
Grade Calculation:
Late Submissions:
Points-back policies:
We will have two ways of alleviating grade pressure:
Collaborations:
Students are strongly encouraged to form study groups and to collaborate on problem sets, though each student will be required to write up and submit their solutions independently. The following information is required for all submitted work:
Accommodations:
As individuals, we learn in different ways. I try to vary the activities used during the course to suit a variety of learning patterns, and I am always open for suggestions. Please come talk to me if you have an idea that will make the course more accessible to you and/or other students. If you need special accommodation, like extended exam time, please submit requests for accommodations in writing with proof of College support from the Office of Disabilities Service within the first two weeks of class. Let me know if you need help with this process.
Team assignments require collaboration amidst each team, but no collaboration between teams is permitted.
If you did not work in a team then you are not allowed to collaborate on the homework assignments. We use software to compare submissions, so please don't risk it. If you're having significant trouble with an assignment, please contact me.
Please check the Student Handbook to see the rules for Academic Integrity.
Just as you can do a google search for code online, it is trivial for us to do the same. If you feel pressured about an assignment, please come see me instead of cheating.
The following are resources available to you that may provide assistance and support during the semester.
They provide help for learning, mental health, and wellness.
Learning resources:
We will add a link inside Moodle to an anonymous feedback form so you can let us know if there is anything getting in the way of your learning.