Theory of Computation

Share This

Theory of Computation

Mata kuliah yang membahas tentang dasar-dasar teori komputasi, khususnya tentang automata, computability dan complexity. Mata kuliah ini adalah mata kuliah dasar yang wajib diambil bagi mahasiswa computing, dimana pengetahuan yang didapat dari mata kuliah ini akan dapat mempermudah pemahaman bagi mata kuliah lain yang berhubungan, misalnya bahasa formal dan otomata, teknik kompilasi, pemrograman, pemrosesan teks, dan machine learning. Fokus utama mata kuliah ini adalah mahasiswa dapat memahami apa yang bisa diselesaikan oleh komputer (computability theory) dan seberapa cepat komputer mampu menyelesaikan suatu masalah (complexity theory). Matematika dasar, seperti himpunan, fungsi, graf, string dan logika juga diajarkan pada mata kuliah ini.

Slide:

  1. Introduction
  2. Math Fundamentals 1: Sets, Sequence, Function
  3. Math Fundamentals 2: Graph, String, Logic
  4. Finite AUtomata
  5. Pushdown Automata
  6. Turing Machines

Software Requirements:

  1. Java SE Development Kit 8
  2. Netbeans IDE 8

Textbooks:

  1. Michael Sipser, Introduction to the Theory of Computation Third Edition, Cengage Learning, 2012
  2. George Tourlakis, Theory of Computation, Wiley, 2012
  3. John Martin, Introduction to Languages and the Theory of Computation, McGraw-Hill , 2010
  4. Robert Sedgewick and Kevin Wayne, Introduction to Computer Science, Addison-Wesley, 2015
  5. Albert Endres dan Dieter Rombach, A Handbook of Software and Systems Engineering, Pearson Education Limited, 2003