CIT 596 Course Overview (Spring 2014)

Course Objectives

After successfully completing this course, you will appreciate some of the fundamental questions of computer science:

  • What problems can be solved by a computation?
  • How hard is it to compute solutions?
  • How can we express computation?
You will also be aware of some concrete answers to these and related great questions of computer science, the reasons why some questions in this area will remain unanswered forever, and that some answers are still being sought


Class Meeting Times

Tue/Thurs 1:30-3:00pm, Moore 216

Recitation on Friday 11 am - noon, Towne 315

Back to Top


The one required textbook for this class is Sipser. You should also be able to find copies of at least the second edition online as a pdf. This is a very well written book on the topic and I do recommend purchasing a copy.

It's also a good idea to have a copy of a discrete mathematics book handy, since prior knowledge of topics like induction will be assumed.

I will also be using Cormen, Rivest et al for the algorithmic part of the course (when we talk about complexity). That book can be found at algorithms book. Again, this happens to be one of the classic algorithms texts and one of those purchases which should actually help you come interview time.

Back to Top


Please use the following link to sign up for the piazza discussion for this class piazza


Note that these are only guidelines, but final course grades will likely be based on the following:

  • Midterm exam 1 (15%)
    • This will be scheduled for sometime at the end of the first month. Exact date TBD
  • Midterm exam 2 (15%)
    • This will be scheduled for sometime at the end of the second month. Exact date TBD.
  • Final exam (30%)
    • This is scheduled by the university registrar.
    • The exam will be comprehensive, but there will be more questions on the portions that have not been covered in either midterm
  • Homework and programming assignments (40%)
    • Expect homeworks every week. You are allowed to sit and work in study groups, but a) write the final answers yourself and b) please put down the name of your collaborators.
    • There will also be some programming assignments (max 4) in the course. The number is still to be decided. You can choose to work in pairs for those assignments.

Academic Integrity

Do not cheat.

Note: When in doubt always ask the instructor or TA first, to avoid any potential collabration that can lead to academic dishonesty.

You can further read Penn's Code of Academic Integrity page on this subject matter, as well as the SEAS Graduate Student guidelines on the code of ethics.

Back to Top

Homework turn-in procedure

I strongly encourage electronic submission for this course. It can be an opportunity to learn latex. You can submit the pdf/word online on canvas. Else please turn them in at the start of class.

Submissions after the deadline are subject to a 10% per day penalty, up to seven days, after which the submission will not be accepted.

Back to Top