Bilgisayar Mühendisliği Doktora Derecesi Yeterlilik Sınavı Yönergesi
Orta Doğu Teknik Üniversitesi Öğrenci El Kitabı'nda yer alan kural ve yönetmeliklere ek olarak Bilgisayar Mühendisliği Doktora Yeterlik Sınavı için aşağıdaki yönergeler belirlenmiştir.
Genel bilgi
- Doktora yeterlik sınavı yazılı ve sözlü kısımdan oluşur. Aday her iki bölümü de geçtiğinde başarılı sayılır.
- Doktora yeterlik sınavı Mayıs ve Kasım aylarında olmak üzere yılda iki kez yapılır.
- Adayın sınavdan en az bir ay önce danışmanının onayını alıp bölüme dilekçe vermesi gerekmektedir. Öğrencinin sözlü (alan) sınavına ilişkin yazısının bir sayfalık özetini alan sınavına girme dilekçesi ekinde teslim etmesi gerekmektedir.
- Doktora yeterlik sınavını geçemeyen adaya bir sonraki sınavda ikinci bir şans verilir. İkinci denemede başarısızlık, öğrencinin doktora programından ilişiğinin kesilmesine neden olur.
Doktora Yeterlik Sınavı
Sınav iki bölümden oluşmaktadır; Yazılı (Ana) sınav ve Sözlü (Alan) sınav.
Yazılı (Çekirdek) Sınav
Sınavın bu bölümü aşağıdaki 7 ana konuyu kapsamaktadır:
- Data Structures (CENG 213),
- Algorithms (CENG 315),
- Discrete Math (CENG 223),
- Theory of Computation (CENG 280),
- Programming Languages (CENG 242),
- Operating Systems (CENG 334),
- Digital Design and Computer Architecture (CENG 232 & CENG331)
Temel bölümdeki sorular lisans düzeyinde olacak ve aşağıdaki Temel konular tablosunda listelenen içeriği kapsayacaktır. Sınavda her konudan iki soru sorulacak ve öğrencinin her bir konudan yalnızca bir soruyu denemesi istenecektir. Her derse 20 puan üzerinden not verilir ve toplam notu 140 üzerinden 84 (maksimum notun %60'ına tekabül eden) olan öğrenci başarılı sayılır. Ayrıca öğrenci çekirdek sınavda başarısız olursa 20 üzerinden en az 14 puan aldığı konulardan muaf tutulacaktır. Bir sonraki sınavda ise yalnızca kalan konulardan maksimum notun %60'ı kadar puan alması beklenecektir. Öğrenci dilerse “muaf olmama” hakkını saklı tutar. Bir dersten muafiyet durumu yalnızca bir sonraki sınav dönemi için geçerlidir.
Sözlü (Alan) Sınavı
Sınavın Amacı, öğrencinin doktora düzeyinde araştırma yapma yeteneğini ve potansiyelini değerlendirmek ve öğrenciyi araştırmaya daha erken katılmaya teşvik etmektir.
Sınav Öncesi Öğrenciden Beklentiler
- Öğrencinin araştırma alanı dahilinde bir konu seçmek.
- Bu konuya aşağıda açıklandığı gibi katkıda bulunmak.
- “IEEE konferans bildirisi formatında” en az 6 en fazla 8 sayfalık bildiri hazırlamak.
- Bildiri için Özgünlük Raporu hazırlanmalı ve tez danışmanı tarafından imzalanmalıdır. Başkalarının çalışmaları ile benzerlik %20’yi geçmemelidir. Orijinallik Raporu Turnitin (https://www.turnitin.com/) veya Ithenticate (https://www.ithenticate.com/) intihal kontrol yazılımı kullanılarak hazırlanabilir. Özgünlük raporu için benzerlik indeksinin ilk sayfasının çıktısının alınması yeterlidir.
- Alan sınavına girme dilekçesi ekinde bu bildirinin bir sayfalık özetini göndermek.
- Bu belgeyi Özgünlük Raporu ile birlikte sözlü (alan) sınav döneminin ilk gününden en az 10 gün önce sınav komitesine (jüriye) teslim etmek.
Sınav Sırasında Öğrenciden Beklentiler
- Öğrencinin çalışmasını sunmak (en fazla 20 dakika)
- Çalışmayla ilgili soruları yanıtlamak (10 dakika)
- Öğrencinin doktora alanından sorulacak genel soruları yanıtlamak. (20 dakika, jüri gerekli görürse soru cevap kısmı uzatılabilir).
Beklenen Katkı Öğrenci aşağıdaki katkı türlerinden bir veya daha fazlasını yapmayı seçebilir:
- Literatür değerlendirmesi: Her çalışmada literatür taraması yapılması zorunludur ancak bu kategoriyi seçen öğrencilerden daha önce yapılan çalışmaların avantaj ve dezavantajlarını belirleyerek daha detaylı bir literatür taraması yapmaları, seçilen konudaki literatürü birbirleriyle karşılaştırmaları ve bir analiz-sentez sunmaları beklenecektir.
- Uygulama: Öğrenci, danışmanıyla birlikte seçmesi gereken bir konuda bir makale uygulayacak ve varsa çeşitli parametre değerlerini değiştirerek sonuçlar üretecektir.
- Yeni yaklaşım: Öğrenci seçilen bir soruna yeni bir yaklaşım önerecek ve bu yaklaşımı sonuç üretmek için uygulayacaktır. Bu kategori, mevcut bir algoritmanın farklı bir yaklaşım kullanılarak geliştirilmesini içerir.
- Karşılaştırma: Öğrenci, seçtiği iki veya daha fazla algoritmayı danışmanıyla karşılaştıracak ve bu karşılaştırma sonucunda elde edilen sonuçları tartışacaktır.
- Teorik katkı: Öğrenci formül, teori, kanıt vb. gibi yeni bir teorik yaklaşım önerecek ve bu yaklaşımın doğruluğunu, faydasını ve arkasındaki mantığı gösterecektir.
- Vaka çalışması: Öğrenci mevcut bir yöntemi veya süreci gerçekçi bir probleme uygulayacak ve elde edilen sonuçları tartışacaktır.
Notlandırma Öğrencinin performansı her jüri üyesi tarafından aşağıdaki tabloya göre ayrı ayrı değerlendirilir. 60 ve üzeri not, o jüri üyesinin "geçer" oyu olarak kabul edilir. En az üç jüri üyesinin "geçti" oyu vermesi durumunda öğrenci başarılı sayılır, aksi takdirde öğrenci sınavda başarısız olur.
Oran |
Puan [0-100] |
|
%40 |
Yazılı eser |
|
%20 |
Sunum ve sunumla ilgili sorular |
|
%40 |
Seçilen alandaki genel sorular |
|
Ağırlıklı Toplam: |
100 |
Sınavın Uygulanmasına İlişkin Genel Esaslar
- Yeterlik sınavı komitesi, bu sınava girecek her öğrenci için doktora derecesine sahip 5 kişiden ve seçilen alanda uzman kişilerden oluşan bir jüri oluşturacaktır. Bu jüride öğrencinin danışmanı yer alacaktır. Jüri üyelerinin sınav öncesinde çalışmayı okuması ve sınav sırasında sorulacak soruları hazırlaması önemlidir.
- Yeterlik Sınavı Komitesi, jüri üyelerinden birini başkan olarak belirler. Başkan, sınav sürecinin yürütülmesinden sorumludur.
- Öğrencinin hazırladığı yazılı eserin özgün olması gerekmektedir. Önceki çalışmalardan kopyalayıp yapıştırılarak bir araya getirilmemelidir.
- Jüri üyeleri, öğrencinin sunduğu belgeyi intihal açısından ODTÜ'nün abone olduğu https://www.ithenticate.com/ adresinden kontrol edebilir.
- Yüksek lisans tezi için hazırlanan çalışma doğrudan sınavında kullanılamaz. Konu aynı kalsa dahi doktora çalışmaları sırasında katkı sağlanması beklenmektedir.
- Bu sınavda öğrencinin asıl yazarı olarak yazdığı (yayınlanmış veya yayınlanmamış) bir makale kullanılabilir. Ancak aynı makale birden fazla öğrenci tarafından kullanılamaz ve yayımlanmışsa sınava 12 aydan fazla süre kala yayımlanmamalıdır.
- İlk kez başarısızlık durumunda yeni bir konu seçilebilir veya aynı konunun kullanılması durumunda jürinin ikinci sınav için öğrenciden beklentilerini belirtmesi gerekir.
- Öğrencinin aynı konudan ikinci kez bu sınava girmesi durumunda, çalışmanın son hali ile birlikte önceki versiyona göre değişiklikleri açıklayan destekleyici bir belgenin öğrenci tarafından jüriye sunulması gerekmektedir.
Yazılı (Temel) Sınav Müfredatı
Ders |
Konular |
Kaynaklar |
Data Structures |
Algorithm analysis for data structures |
* Mark Allen Weiss, Data Structures and Algorithm Analysis in C++ (3rd ed.), Addison Wesley, 2006 |
Lists, stacks, queues |
||
Trees |
||
Priority queues |
||
Hashing |
||
Algorithms |
Analysis of Algorithms |
* Introduction to Algorithms, T. H. Cormen, C. E. Lieserson, R. L. Rivest, C. Stein, Mc Graw-Gill |
Sorting, Searching |
||
String Processing |
||
Graph Algorithms |
||
Greedy Approach |
||
Divide and Conquer Algorithms |
||
Dynamic Programming |
||
Exhaustive Search |
||
Complexity Classes, NP-completeness |
||
Discrete Mathematics |
Propositional Logic: Logic, Equivalences |
* K.H. Rosen, Discrete Mathematics and its Applications, (Sixth Edition) McGraw-Hill, 2007. |
Predicate Logic: Predicates and Quantifiers, Nested Quantifiers, Methods of Proof |
||
Sets and Functions: Sets, Set Operations, Functions, Growth of Functions, Complexity of Algorithms |
||
Integers: Integers and Division, Integers and Algorithms |
||
Induction and Recursion: Sequences and Summations, Mathematical Induction, Recursive Definitions and Structural Induction, Recursive Algorithms |
||
Counting: Permutations and Combinations, Recurrence Relations, Solving Recurrence Relations, Generating Functions, Inclusion and Exclusion |
||
Relations: Relations and Their Properties, Representing Relations, Closure of Relations, Equivalence Relations, Partial Orderings |
||
Graphs: Int to Graphs, Graph Terminology, Representing Graphs, Connectivity, Euler and Hamiltonian Paths, Shortest Path Problem, Graph Coloring |
||
Trees: Int to Trees, Applications of Trees, Spanning Trees, Min Spanning Trees |
||
Theory of Computation |
Finite Automata and Regular Expressions: Alphabets and languages, Finite representations of languages,Deterministic finite automata, Nondeterministic finite automata, Equivalence of DFA and NFA, Finite automata versus regular languages, Pumping lemma and its applications, State minimization |
* Elements of the Theory of Computation, H.R.Lewis, C.H.Papadimitriou, (2nd ed.), Prentice-Hall, 1998. |
Push-down Automata and Context Free Grammars: Parse trees and derivations,Pushdown automata, Pushdown automata versus context-free grammars, Closure properties,Pumping theorem and its applications, Deterministic PDAs |
||
Regularity and context-freeness of languages |
||
Turing Machines and unrestricted grammars: Turing machines – definition and examples, Computing with TMs, Recursive and recursively enumerable languages, Extensions of TMs, Nondeterministic TMs, Unrestricted grammars |
||
Church-Turing thesis, universal Turing machines |
||
Halting problem |
||
Programming Languages |
Storage structures, control structures, scope and binding |
* Programming Language Concepts and Paradigms, D.A. Watt, Prentice-Hall, 1990. |
Data and procedural abstraction |
||
Type systems |
||
Lexical and syntactic description of languages |
||
Object-oriented programming languages |
||
Functional programming languages |
||
Logic programming languages |
||
Operating Systems |
Operating Systems Structures |
* Modern Operating Systems, A.S. Tanenbaum, Prentice-Hall, ISBN 0-13-595752-4, 1992. |
Processes, Threads and Their Management |
||
Process and Processor Scheduling |
||
Process Synchronization |
||
Interprocess Communication |
||
Deadlocks |
||
Memory Management |
||
Storage Management (I/O Processing, File Systems) |
||
Protection and Security |
||
Digital Design and Computer Architecture |
Combinational Circuits |
* Digital Design, M. Mano, Prentice-Hall, ISBN 0-13-212994-9, 1991. |
Combinational Circuit Minimization: Algebraic and Karnaugh-map minimization |
||
Synchronous Sequential Circuits |
||
Registers, Counters |
||
RAM, ROM, PLA, and PAL |
||
Arithmetic Logic Unit, Multiplication and Division, Floating Point operations |
||
Pipelining: Hazards, Forwarding, Branch Prediction |
||
Memory Hierarchy: Interleaving, Cache Memory, Virtual Memory |
||
I/O Systems: Buses, I/O Interfaces, Interrupts, DMA |
Sözlü (Alan) Sınav Müfredatı
Ders |
Konular |
Kaynaklar |
Artificial Intelligence |
Uninformed and Heuristic Search |
* Artificial Intelligence: A Modern Approach, S.Russell, P.Norvig, Prentice Hall, 1995. |
Game Playing |
||
Constraint Satisfaction and Propagation |
||
Knowledge and Reasoning |
||
Theorem Proving |
||
Planning |
||
Reasoning with Uncertainty |
||
Machine Learning: Learning from examples (supervised learning, decision trees, Regression and classification, ANN, SVM), Learning probabilistic models (Bayesian learning, Naive Bayes classifiers, EM algorithm), Reinforcement Learning (passive RL, active RL) |
||
Computer Graphics |
Rendering Pipeline: Major stages of the rendering pipeline |
* Computer Graphics: Principles and Practice, Foley, Van Dam, Feiner, Hughes, (2nd ed.), Addison Wesley, 1995. |
Geometric Transformations: Homogeneous coordinates, Vectors, points, normals, Translation, scaling, rotation, sheer transformations (2D and 3D) |
||
Raster Algorithms: Line rasterization, Triangle rasterization, Antialiasing |
||
Viewing: Parallel projections, Perspective projections, Clipping, Viewport transformation |
||
Visible Surface Detection: Back-face elimination, Z-buffer algorithm |
||
Phong Shading Model: Ambient Light, Diffuse Reflection, Specular Reflection |
||
Polygonal Surface Shading: Flat shading, Goraud shading, Phong shading |
||
Texturing: Generating of uv coordinates (for both 2D and 3D texture mapping), Mipmapping, Bilinear interpolation, Bump mapping |
||
Volume Rendering: Marching cubes algorithm, Direct volume rendering |
||
Three Dimensional Object Representations: Hermite curve, Natural cubic splines, Bezier curves and surfaces, Geometric continuities, Joining curves and surfaces |
||
Ray tracing: Parametric lines, Parametric and implicit surfaces, Ray-object intersections (triangle, sphere, plane), Basic ray tracing algorithm, Generating simple shadows with ray tracing, Accelleration structres (bounding boxes, oct-tree, kd-tree) |
||
Radiosity: Basic radiosity algorithm, Radiosity equation, Hemicube method for form factor calculations, Jacobi iteration and Gauss Seidel for solving Ax=b |
||
Natural Language Processing |
Linguistic knowledge representation and propagation |
* Speech and Language Processing, Jurafsky and Martin, Prentice-Hall, 2000. |
Computational aspects of Morphology |
||
Syntactic representation in NLP (phrase structure, dependency, unification) |
||
Parsing strategies for natural languages (bottom-up,top-down, mixed) |
||
Parsing decisions and improvements (determinism, non-determinism, charts) |
||
Grammar formalisms (dependency grammars, categorical grammars, phrase-structure grammars) and hierarchy for natural languages |
||
Handling non-local dependencies |
||
Compositional semantics: Lambda-calculus and logical form |
||
Basics of data-intensive linguistics (n-grams, language models, classifiers) |
||
Database Systems |
Physical data organization |
* Database Management Systems, Raghu Ramakrishnan, McGraw-Hill. |
Data models |
||
Relational database design theory (normalization) |
||
Relational query languages |
||
Integrity and security |
||
Transaction management |
||
Concurrency control |
||
Recovery techniques |
||
Query optimization |
||
Numerical Computation |
Numerical stability of algorithms and conditioning of problems |
* Numerical Methods, G.Dahlquist, A.Björck, Prentice-Hall. |
Linear systems: Norms, matrix norms, Gaussian elimination, forward and backward substitution, pivoting, Householder’s reflection, Given’s rotations, Gram-Schmidt method, QR, Singular Value Decomposition, Linear Least Squares problems and curve fitting, Relaxation methods (Jacobi, Gauss-Seidel) |
||
Matrix eigenvalue Problems: Power method, inverse iteration, Rayleigh Quotient, and QR iterations, Jacobi method, Arnoldi and Lanczos processes, Krylov subspace methods for solution of linear systems (GMRES, CG, BiCGStab), preconditioning |
||
Finding roots of nonlinear equations: Bisection, Secand, Newton’s methods, fixed point iteration |
||
Interpolation: Lagrange interpolation, Newton’s interpolation and divided differences, Runge’s phenomenon, Splines, Orthogonal polynomials |
||
Numerical integration: Interpolatory quadrature, Composite quadrature rules |
||
Software Engineering |
Lifecycles and process models |
* Software Engineering: a Practitioners Approach, R.S. Pressman, (4th ed.), McGraw-Hill. |
Software project management |
||
Specification and modeling techniques |
||
Traditional, object oriented and component based approaches |
||
Software metrics |
||
Software quality |
||
Testing and integration methods |
||
Maintenance |
||
Pattern Recognition and Image Analysis |
Image Transform: Discrete Fourier transform (FFT excluded), Discrete Haar Wavelet transform |
* Digital Image Processing, R. C. Gonzales and R. E. Woods, Prentice-Hall, 3rd edition, 2008. |
Image Enhancement Techniques: Point Processing (basic intensity transformations), Histogram processing, Image negation, power law, log transformations, Spatial Filtering, Convolution (smoothing, sharpening) |
||
Image Compression: Redundancy and measuring image information, Huffman coding |
||
Morphological Operations: Erosion, dilation, opening, closing |
||
Image Segmentation: Edge detection (Canny, Hough transform), Thresholding |
||
Image Representation and Description: Chain codes, Polygons, Regional descriptors |
||
Texture: Texel-based Texture Descriptions, Quantitative Texture Measures |
||
Content-based image retrieval: Image Distance Measures (Color, Texture and Shape Similarity Measures), Precision, Recall and F-score Performance Analysis |
||
Motion from 2D images: Image Subtraction |
||
Stereo Vision: Matching: Cross Correlation, Symbolic Matching, The Epipolar and The Ordering Constraints |
||
Bayesian Decision Theory: Gaussian Density Estimation, Classifier Discriminant Functions |
||
Maximum Likelihood Method: Gaussian Density Estimation |
||
Non-parametric techniques: Parzen Window, K-Nearest Neighbor |
||
Unsupervised learning: Mixture Resolving, Unsupervised Bayes Method, Maximum Likelihood Method |
||
Clustering: K-means Clustering, Hierarchical Clustering, Component Analysis |
||
Neurocomputing |
Learning and generalization |
* Neural Computing: Theory and Practice, P.D. Wasserman. |
Multilayer perceptrons and the backpropagation algorithm |
||
Hopfield model |
||
Recurrent networks |
||
Unsupervised learning and self organizing maps |
||
Adaptive resonance theory |
||
Radial basis function networks |
||
Higher order neural networks |
||
Neurodynamics |
||
Parallel Computing |
Parallelism and classification of parallel computers: Performance bottlenecks, Classification of parallel computers and applications, Programming models for parallel computers |
* Introduction to Parallel Computing, by Grama, Gupta, Kumar, and Karypis, Addison Wesley, 2003. |
Pipelining and vector processing: Instruction pipelining, superscalar execution, and instruction scheduling, Pipelining arithmetic operations, Performance analysis of pipelined operations |
||
Interconnection topologies and implementing various communication operations: Metrics for evaluating performance of interconnection networks, Point to point and collective communication operations and their implementation |
||
Task decomposition and design of parallel algorithms: Principles of parallel algorithm design, Task interaction and dependency graphs, Graph partitioning/clustering, Load balancing |
||
Analysis of parallel algorithms: Speed improvement and efficiency, Amdhal’s law, Gustafson’s law, Weak and strong scalability |
||
Parallelism in various applications (e.g. matrix problems in scientific applications, sorting and searching, etc.) |
||
Distributed Systems |
Time Synchronization |
* Distributed Systems: Principles and Paradigms, 2nd edition, A.S. Tanenbaum, M. Van Steen, Pearson Higher Education, 2007. |
Coordination |
||
Structuring Distributed Systems |
||
Process Interaction and Group Communication |
||
Distributed File Systems |
||
Concurrency Control |
||
Distributed Shared Memory |
||
Basics of Fault-Tolerance and Real-Time Systems |
||
Programming Languages and Compilers (Advanced) |
Typed lambda calculus |
* Foundations for Programming Languages, (first six chapters) J.C. Mitchell, MIT Press, 1996. |
Semantic specification of languages: Operational, denotational and axiomatic approaches |
||
Algebraic specification of data types |
||
Partial correctness proofs with before and after assertions |
||
Lexical and syntactic analysis of languages |
||
Syntax-directed translation, attribute grammars |
||
Abstract machines, intermediate languages |
||
Code generation |
||
Networked Systems |
The principles and techniques employed in computer and wireless networks; the seven-layer protocol suite known as ISO model |
* Computer Networking: A top down approach, 6th Ed., J.F. Kurose, K.W. Ross, Addison-Wesley, 2012. |
Data link layer issues (medium access control, reliable data transfer) |
||
Network layer issues (packet- versus circuit-switching, routing algorithms, IP, QoS) |
||
Transport layer issues (error control, flow control, congestion control, end-to-end argument, TCP, UDP) |
||
Network programming (socket interface) |
||
Performance evaluation of computer networks |
||
Security of computer networks (confidentiality, integrity, and authentication) |
||
Wireless networks (Cellular networks, mobility management, WLAN) |
||
Bioinformatics |
Sequence analysis, next generation sequencing: Genome annotation, Computational evolutionary biology, Comparative genomics, Genetics of disease, Analysis of mutations in cancer |
* Understanding Bioinformatics, M. Zvelebil and J.O. Baum, Garland Science, 2008. |
Gene and protein expression, gene regulation |
||
Structural bioinformatics: Protein folding problem, prediction of secondary/tertiary structure, Structural alignment, Multiple structural alignment, Protein docking |
||
Functional classification of proteins, human genome annotation |
||
Statistical modeling of biological data |
||
Biological Text Mining |
||
Bioimage Informatics: High-throughput image analysis |
||
Biological networks and computational systems biology |