Çetin Kaya Koç | Teaching

My Teaching

There are essentially 4 groups of courses that I organize, prepare, and teach.
  • The first group consists of basic computer science and computer engineering courses. I had taught and have been teaching courses for large classes (from 40 up to 200) with titles such as Introduction to Computer Science, Data Structures and Algorithms, and Computer Architecture. I have also taught interdisciplinary courses, such as Computational Thinking for Scientists and Understanding Science and Technology.
  • The second group consists of graduate-level courses in my research interests: Elliptic Curve Cryptography, Computational Algebra, and Cryptographic Engineering. I had also taught graduate-level courses in fields related to my background and education, such as Computer Arithmetic, Embedded Systems, and Parallel Computation.
  • The third group includes short courses in my research and development interests. I organize and teach two such courses regularly, one at UC Santa Barbara: Applied Cryptography and Hardware Security and the other at École polytechnique fédérale de Lausanne (EPFL): Cryptographic Engineering. I also offer and teach on-site courses, for example, I taught such courses at Intel (Oregon), Samsung Electronics (South Korea), KACST (Kingdom of Saudi Arabia), and Turkey.
  • The final group of courses are special projects in cryptography for undergraduate students. I started teaching such a course at the Honors College at Oregon State University in 2003. Now, I teach one at the College of Creative Studies of University of California Santa Barbara. The objective is to teach advanced, research-level, and original material to undergraduate students in order to motivate and lead them for independent research.

  • UCSB Courses