### What is this course about?

This course is an introduction to the theory of computing. We will look at

- formal languages and automata (Are there ways of formulating the notion of computation formally? How can we compare different models of computation?)
- computability (Are there problems that cannot be solved algorithmically? What do they look like? How can we find out whether a problem can or cannot be solved?)
- complexity (How hard is it to solve a given problem? I.e. how long does it take, how much memory is needed? Can we group problems according to how hard they are?)

### Who teaches it?

### When and where

TTH 9:00-10:45, Olin 106

### How to contact me

email: | striegnk@union.edu |

office phone: | (518 388) 6554 |

office: | Steinmetz 233 |

office hours: | Mondays 2-3:30 Wednesdays 2:30-3:30 by appointment |

### What do you need to do?

**Attend class.** Attendance in this course is mandatory. You get two "free" absences, but any unexcused absence after the second absence will reduce your final grade 1/3 letter grade (for example, from a B to a B-, or from anĀ A- to a B+) for *every* class that you miss. For any excused absence you are required to submit a note from a person of authority.

**Participate.** It is expected that you participate actively in class. In other words you should come to class prepared, having read the material, having completed all assignments, and being prepared to ask questions and to contribute to exercises. (I don't expect you to be able to answer all questions and exercises in class perfectly, but I do expect you to try.)

**Complete the homework assignments.** There will be homework assignments every week. I will typically make the assignments available on Thursdays; the solutions are due the following Thursday.

Hand in your homework on time. I will not accept late homework.

While I will often ask you to work in pairs or groups during class, you should do your homework on your own. It's okay to discuss general solution strategies with your class mates, but then you should go and write your own answer. You need to be able to explain and justify your answer if I ask you.

Write up your solutions neatly. Leave big enough margins so that I have some space where I can write comments. (I will not grade homework that I cannot decipher.)

### Evaluation

Participation | 10% |

Homework | 40% |

Midterm 1 | 15% |

Midterm 2 | 15% |

Final Exam | 20% |