I have been a full-time lecturer in the Computer Engineering Program of Middle East Technical University Northern Cyprus Campus (METU NCC) since 2009. I have been teaching a number of fundamental computer engineering courses which include the following:
- CNG101 – Computer Engineering Orientation [Introduces Computer Engineering discipline/program, ethical and legal issues and the computer engineering curriculum.]
- CNG140 – C Programming [Advanced programming with C: storage and control structures, recursion and programming with dynamic data structures.]
- CNG213 – Data Structures [Classification of data structures, space and time considerations. Linked lists, stacks and queues. Tree structures, binary search trees. Array and pointer based implementations. Recursive applications. Sorting and searching.]
- CNG301 – Algorithms and Data Structures [Linked lists, stacks, queues, recursion, trees, sorting, searching, introduction to graphs, space and time consideration.].
- CNG351 – Data Management and File Structures [Sequential files. Unordered sequential files. Ordered sequential files. External sorting. Heap sort. Replacement selection sort. Large memory sorting. B+tree index. Hashing. Classical hashing. Linear hashing. Introduction to DBMSs. Relational databases. Relational query languages. Relational algebra. Relational calculus. SQL. QBE.QUEL. Implementing the join operation. Entity-Relationship data model.]
- CNG352 – Database Management System [Relational model of data, relational algebra, query optimization, entity-relationship data model, normalization, physical database design and tuning, transaction management, concurrency control in DBMSs, crash recovery, client-server architectures, security and authorization, XML, XQuery, Web data management, Web services.]
- CNG443 – Introduction to Object-Oriented Programming Languages and Systems [Object-Orientated Programming Basics. Advanced Object-Orientation Programming Concepts. Exception Handling. I/O Streams and Decorator Pattern. Concurrency. GUI Development. Security Issues. Objects over Network. Database Connectivity. Serialization and Deserialization. Remote Method Calls. Introduction to Enterprise Components.]
- CNG462: Artificial Intelligence [Knowledge representation, heuristic search, problem solving, game-playing, logic and deduction, planning, introduction to machine learning and natural-language processing.]
I also give training on Web Accessibility, in particular in Turkish. An Introduction to Web Accessibility in Turkish (Web Erişilebilirliği: Standartlar, Kilavuzlar ve Değerlendirme Teknikleri) is available on METU Open Courseware platform. I have also given training in Turkish on Web Accessibility (in 2020) that has three parts: Introduction to Web accessiblity, Web accessibility stakeholders, and Evaluation and Measurement.