Program tanımlarıBİLGİSAYAR MÜHENDİSLİĞİ YÜKSEK LİSANS PROGRAMI
Programın Amacı
Hızla gelişen ve yaygınlaşan uygulamaları ile Bilgisayar Mühendisliği toplum yaşamının her köşesine girmekte ve yaşamımızı olumlu yönde etkilemektedir. Programın amacı gittikçe karmaşıklaşan ve derinleşen bu alanda öğrencileri yeni ve ileri konularla tanıştırırken, onların araştırıcı ve yaratıcı yönlerini teşvik etmek, uygulamalarda etkin çözümler bulmalarını sağlayacak bilgi ve yetenekler kazandırmaktır.
Program ağırlıkla yazılım mühendisliğindedir. Yazılım uygulamalarının, bilgisayar bilimleri ve mühendisliğindeki gelişmelerle daha verimli, güvenli, hızlı, kaliteli ve akıllı olması için dersler ve araştırmalar sürdürülmektedir. Öğrencilerin önemli bölümünün bilgisayar firmaları ve piyasadaki büyük firmalarda çalışıyor olması, sanayi ile doğrudan ilişki ve etkileşime katkı olarak algılanmaktadır.
Programın diğer bir amacı yapılan bilimsel çalışmaların uluslar arası dergilerde yayınlanması yoluyla üniversitemizin bilime katkısını göstermektir.
Programın Dili : İngilizce
Bilimsel Hazırlık Programı Gerektiren Bilim Alan ve Dalları
Lisans Eğitimini farklı bir mühendislik dalında tamamlayan öğrencilere Bilimsel Hazırlık Programı uygulanır. Bilimsel Hazırlık Programı’ndan 3 den fazla ders alma gereksinimi olanlar Yüksek Lisans Programına başlamadan önce Bilimsel Hazırlık Programını tamamlamak zorundadır. Bilimsel Hazırlık Programında 2 yarıyılda toplam 30 kredi saatinden fazlasını gerektiren dallardan mezun olmuş öğrenciler lisansüstü programına alınmazlar.
Bilimsel Hazırlık Ders Programı
Data Structures
Digital Design
Operating Systems
Database Systems
Info.Sys.Analysis and Design
Systems Programming
Analysis of Algorithms
Computer Organization
Software Engineering
Formal Languages & Auto Th.
DERS İÇERİKLERİ ADVANCED DATABASE SYSTEMS
A variety of advanced issues ranging from transaction management to query processing to data mining. Extensive paper reading and discussion. Development of a term project with research content.
OBJECT ORIENTED DESIGN AND PROGRAMMING
Comparative approach to object-oriented programming and design; the concepts of object, class, meta-class, message, method, inheritance, and genericity. Reviews forms of polymorphism in object-oriented languages. Contrasts the use of inheritance and composition as dual techniques for software reuse, forwarding versus delegation, and sub-classing versus sub-typing. Fosters a deeper understanding of the principles of object-oriented programming and design, including software components and object-oriented software design patterns.
MATHEMATICS FOR COMPUTER SCIENCE
Program correctness and termination, invariants, pre- and post-conditions, axiomatic semantics. Representing time and space requirements of programs by summations, recurrences, and generating functions. Exact and asymptotic solutions.
ADVANCED ENGINEERING MATHEMATICS
Linear algebra and matrix theory, ordinary differential equations, partial differential equations, and complex variables emphasizing both theoretical and numerical aspects as well as engineering applications.
COMPUTATIONAL COMPLEXITY
Sets, relations, languages. Elements of Automata Theory: Finite Automata. Regular Languages and Regular Expressions. Context-Free Languages. Deterministic Turing Machines. Non-deterministic Turing Machines. Uncomputability. Decision Problems, Classes P and NP. NP-completeness: results and examples. NP completeness: more examples. NP-hardness. Approximate Algorithms. Random Algorithms.
INTRODUCTION TO CRYPTOGRAPHY
A rigorous introduction to modern cryptography. Emphasis on the fundamental cryptographic primitives of public-key encryption, digital signatures, pseudo-random number generation, and basic protocols and their computational complexity requirements.
DIGITAL SIGNAL PROCESSING
To provide a comprehensive treatment of the important issues in design, implementation, and application of digital signal processing algorithms. Topics: discrete-time signals and systems, discrete-time Fourier Transform, z-Transform, discrete Fourier Transform, digital filters.
DIGITAL IMAGE PROCESSING
To study the application of digital signal processing to problems in image processing. Topics covered will range from the fundamentals of 2-D signals and systems, to image enhancement, restoration and compression. A brief coverage of video processing (compression) may also be given. Fundamentals of image processing. Image compression, enhancement, and restoration. Image reconstruction from projections and partial information.
AUTOMATA THEORY
Boolean Algebra, Special Boolean Functions; Fault Detection in Logic Circuits; Linear Sequential Machines; Cellular Arrays; Automata and Regular Expressions; Formal Languages; Computability and Turing Machines
COMPUTER ARCHITECTURE
Design of computers, including instruction set design, processor implementation, pipelining, multiple instruction execution and dynamic scheduling; memory organization and management (caches, virtual memory, TLB); I/O processing; parallel architectures; Emphasis on hardware and software tradeoffs.
PARALLEL PROCESSING
Principles and practice of parallel computing; parallel computer architectures; programming methods and libraries for parallel processing; performance and scalability of parallel systems; design and analysis of fundamental parallel algorithms for sorting, arithmetic, matrix and graph problems.
SEMANTICS OF PROGRAMMING LANGUAGES
Introduction to principles of programming languages and programming-language theory. Topics include: lambda-calculus, functional languages, polymorphic functions, type inference, structural induction, lazy evaluation, operational semantics, denotational semantics, and axiomatic semantics.
ADVANCED COMPUTER GRAPHICS
Survey of computer graphics. Image representation, formation, presentation, composition and manipulation. Modeling, transformation, and display of geometric objects in 2 and 3 dimensions. Representation of curves and surfaces. Rendering, animation, multi-media and visualization.
MULTIMEDIA SYSTEMS
Theoretical and practical issues in designing multimedia systems; introduction to multimedia systems, digital video compression techniques, operating system support for digital audio and video, as well as network and transport protocols for multimedia. An emphasis will be placed on current design issues and research topics.
ELECTRONIC COMMERCE TECHNOLOGIES
Basic E-commerce models. Internet infrastructure and tools. TCP/IP, web servers, search engines. Cryptography. Public Key Infrastructure. Key management and Certificate Authorities. Secure Socket Layer, Secure Electronic Transactions. Content presentation: XML. Open Trading Protocol. Intelligent Mobile Agents. Auctions and negotiations. Case studies.
MODERN CONTROL THEORY
Review of linear algebra and matrices. State variable analysis of continuous-time and discrete-time systems. Controllability and observability of linear systems. Stability of linear and non-linear systems. Design of feedback control systems. Introduction to optimal control theory. INTRODUCTION TO DATA MINING
The course provides an overview of leading data mining methods and their application to real-world problems. The topics covered include: knowledge discovery in databases, traditional statistics, artificial neural networks, decision trees, Bayesian learning, association rules, data warehousing, commercial tools, feature selection, and advanced techniques. A special emphasis is made on the application domain of each method.
DESIGN AND ANALYSIS OF ALGORITHMS
Techniques for the design and analysis of efficient algorithms; sorting and searching, divide-and-conquer algorithms; dynamic programming; greedy algorithms; graph algorithms; polynomial and matrix calculations; NP-completeness and intractable problems.
GRAPH THEORY
Theory of graphs, including adjacency and incidence matrices, planarity, Hamiltonian circuits, Euler's formula, directed graphs, and trees. The efficiency of the known algorithms for performing various operations on graphs.
PROBABILITY AND RANDOM PROCESSES
Probability, random variables, statistics, and random processes, emphasizing both theoretical and numerical aspects as well as engineering applications.
ADVANCED COMPUTER NETWORKS
Advanced topics in computer communications networks: Congestion and flow control; Routing; Rate-based protocols; High-speed interfaces and technologies; Metropolitan area networks; Fast packet switching technologies; Advanced applications; Network services: name service, authentication, resource location.
ADVANCED OPERATING SYSTEMS
Advanced concepts in operating system design and coverage of recent research directions. Resource management for parallel and distributed systems. Interaction between operating system design and computer architectures. Topics include: process management, virtual memory, interprocess communication, context switching, parallel and distributed file system designs, persistent objects, process and data migration, load balancing, security, protection.
DISTRIBUTED SYSTEMS
Basic concepts, distributed programming; distributed file systems; atomic actions; fault tolerance, transactions, program & data replication, recovery; distributed machine architectures; security and authentication; load balancing and process migration; distributed debugging; distributed performance measurement; distributed applications.
TASK SCHEDULING IN DISTRIBUTED SYSTEMS
This course deals with principles and practice of task scheduling in distributed systems. Task scheduling and mapping problems, proposed heuristics based on several techniques, scheduling in heterogeneous systems, dynamic task scheduling and resource allocation systems are to be covered in the course. A set of research papers that were published in conferences and journals will be read throughout the semester.
CLUSTER COMPUTING
The objective of this course is to describe in detail each major aspect of cluster computing from a conceptual and practical viewpoint. Relevant examples of real cluster systems to reinforce the concepts and to illustrate the decisions that must be made by cluster system designers are discussed. This course focuses on the concepts, theory, and practice in cluster systems. TEXT PROCESSING
Text Compression: Huffman coding and Arithmetic coding; Dictionary models; Indexing; inverted files and Comparison of indexing methods; Querying: accessing the lexicon, Ranking and information retrieval, Cosine measure, index construction; Search engines in the internet; Implementation
EVOLUTIONARY COMPUTATION
NEURAL NETWORKS
This graduate class is designed to introduce two popular artificial intelligence techniques: artificial neural systems and fuzzy logic. In the fuzzy logic part of the course, we will discuss the “fuzziness” concept, the fuzzy set theory, fuzzy membership functions, and fuzzy logic applications in control and others. In the neural network part, we will discuss the artificial neural network (ANN) concept, similarities of ANNs with biological neural systems, basic network architectures and the learning (or adaptation) process. PATTERN RECOGNITION
Data and patterns in daily life, sensing, perception, measurement, classification, learning, Bayes decision theory, error probabilities, maximum likelihood estimation, dimensionality considerations, hidden Markov models, nonparametric techniques, nearest neighbour estimation, linear discriminant functions, unsupervised learning, clustering.
LEARNING AUTOMATA
The objective of this class is to equip the student with stochastic techniques used to facilitate the flexibility and adaptivity in finite automata so they can deal with noisy and imperfect information. The student will explore ways of how noisy and imperfect information with significant structure can be analyzed by learning automata.
DIGITAL DIVIDE
Information and communication technologies (ICT) in industrialized countries. ICT in developing countries. Diffusion of Internet in developing and developed countries. Software export from developing countries. ICT in Turkey . A statistical approach. E-Governance in Turkey and other countries. Cases of ICT implementation.
INTRODUCTION TO BIOINFORMATICS
Algorithms for computational problems in molecular biology. The course will study algorithms for problems such as: genome sequencing and mapping, pairwise and multiple sequence alignment, modeling sequence classes and features, phylogenetic tree construction, and gene-expression data analysis.