Web Site of the Department
Acting Head of Department : Arzucan Özgür Türkmen
Associate Department Heads: İnci Meliha Baytaş, Berk Gökberk
Professors : Lale Akarun Ersoy, Fatih Alagöz, Şefik Şuayb Arslan, Cem Ersoy, Tunga Güngör, Sadık Fikret Gürgen, Can Özturan, Ahmet Celal Cem Say, Mehmet Alper Şen, Tuna Tuğcu, Arzucan Özgür Türkmen, Arda Yurdakul, Ayşe Başar*
Associate Professors : .Mehmet Turan.
Assistant Professors : İnci Meliha Baytaş, Berk Gökberk, Bahri Atay Özgövde, Emre Uğur, Doğan Ulus, Susan Michele Üsküdarlı, Hüseyin Birkan Yılmaz.
Instructors : Murat Özyurt, Can Arık Saraçoğlu*, Dr. Pınar Yanardağ*, Onur Güngör*, Can Tunca*, Çağatay Sönmez*
Assistants : Dr. Berrenur Saylam, Suzan Ece Ada, Furkan Akkurt, Deniz Baran Aksoy, Kutay Altıntaş, Emre Bilgili, Özdeniz Dolu, Nevzat Ersoy, Utkan Gezer, Cem Sevinç, Mehmet Özer, Gökçe Uludoğan, Mehmet Beyza İrem Urhan.
*Part-time
• Adjunct
† Professor Emeritus
The undergraduate program in Computer Engineering is designed so that students have a balanced background in computer hardware, software, and computer applications, and that they can adapt themselves to the rapidly changing technologies in their professional carreers. Emphasis is on the engineering aspects of the field such as the analysis and design of both hardware and software systems.
The course requirements for the Bachelor of Science in Computer Engineering total a minimum of 145 credit hours of formal course work. The first five semesters of the program are common to all students. Starting in the sixth semester, students take elective courses in order to specialize in the subject according to their interests. During their study students must complete an industrial training of a minimum of 60 work days.
Established
1982
ISCED Code
48
Educational goals and objectives
1.Pursue the practice of computer engineering in various industrial sectors, not only at the national but also at the international level.
2.Pursue advanced degrees and engage in research activities in world-class institutions.
3.Pursue a life-long career of personal and professional growth in the rapidly changing computing world with ethical consciousness and global awareness.
4.Be able to assume innovative, executive, leadership, and entrepreneurial roles in their careers.
Admission and special requirements
In Turkey, student placement to universities and departments is carried out centrally, through exams administered by the ÖSYM. A two-phase standard centralized exam, called YKS is given once a year. The first phase exam is called TYT and the second phase exam is called AYT. During the last five years, Boğaziçi University Computer Engineering Department has admitted students who ranked in the top ~500.
Acknowledgement of previous learning
If a student has already mastered the topics of any of the following courses
•CMPE 150: Introduction to Computing
•MATH 101: Calculus I
•PHYS 121: Introduction to Mechanics and Thermodynamics
•CHEM 105: General Chemistry
he/she can take waiver examination(s) to be exempt from taking that course(s). Upon receiving a successful grade in an exemption examination, the student earns the associated credits without having to take the associated course.
Graduation requirements
Students are awarded a Bachelor of Science in Computer Engineering degree when they satisfy all graduation requirements. Each student has to satisfy (i) the course work and (ii) the internship requirement in order to graduate. The courses must be taken in an order that satisfies all prerequisites. Also, elective courses must be taken from specified pools of courses. Boğaziçi University's OBIKAS online registration system offers a tool (Curriculum Planner) for making sure that students register inappropriate courses as planned. Curriculum Planner on OBIKAS can be used to record the courses taken in appropriate slots in the curriculum. In order to assure that students follow the correct courses, advisors carefully check the courses the student wants to take at the beginning of each semester and approve them if appropriate. When the student is ready to graduate, the academic advisor of the student examines all the courses taken by the student and makes sure that all the required courses and eligible elective courses have been taken. The GPA requirements are also checked. A list of students satisfying the internship requirements are published by the internship advisor. After performing all the necessary checks, a table consisting of information of all graduating students is prepared and sent to the School of Engineering Executive Board, which performs further checks to assure their eligibility for graduation. The list of students approved by this board is sent to the Registrar’s Office as official graduates.
Program learning outcomes
- An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
- An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and
welfare, as well as global, cultural, social, environmental, and economic factors.
- An ability to communicate effectively with a range of audiences.
- An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must
consider the impact of engineering solutions in global, economic,
environmental, and societal contexts.
- An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment,
establish goals, plan tasks, and meet objectives.
- An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
- Knowledge of probability and statistics, including applications appropriate to computer engineering.
- Knowledge of mathematics through differential and integral calculus and basic sciences.
- Knowledge of engineering topics including computing science necessary to analyze and design complex electrical and electronic devices, software, and systems containing hardware and software components.
TYYÇ Ulusal Yeterlikler
TYYÇ Alan Yeterlikleri
UNDERGRADUATE PROGRAM
First Semester |
Cr. |
ECTS |
MATH 101 |
Calculus I |
4 |
6 |
PHYS 121 |
Int.Mechanics& Thermo |
4 |
8 |
CHEM 105 |
General Chem. |
4 |
6 |
CMPE 150 |
Int. to Comp. |
3 |
5 |
EC 101 |
Princ. of Microecon. |
3 |
6 |
|
|
18 |
31 |
Second Semester |
Cr. |
ECTS |
MATH 102 |
Calculus II |
4 |
6 |
PHYS 201 |
Physics III |
4 |
6 |
CMPE 160 |
Intermediate Prog. |
4 |
8 |
HSS -- |
HSS Elective |
3 |
6 |
EC 102 |
Princ. of Macroecon. |
3 |
6 |
|
|
18 |
32 |
Third Semester |
|
ECTS |
MATH 201 |
Matrix Theory |
4 |
5 |
PHYS 202 |
Physics IV |
4 |
6 |
EE 210 |
Electrical Eng. |
3 |
6 |
CMPE 220 |
Discrete Comp. Struct. |
3 |
5 |
CMPE 250 |
Data Structures and Algorithms |
4 |
6 |
TK 221 |
Turkish I |
2 |
3 |
|
|
20 |
31 |
Fourth Semester |
|
ECTS |
MATH 202 |
Differential Eq. |
4 |
7 |
EE 212 |
Prin. of Electr. Eng. |
3 |
4 |
CMPE 230 |
Systems Prog. |
4 |
6 |
CMPE 240 |
Digital Systems |
4 |
6 |
CMPE 260 |
Princ.of Prog. Lang. |
3 |
5 |
TK 222 |
Turkish II |
2 |
3 |
|
|
20 |
31 |
Fifth Semester |
|
ECTS |
CMPE 300 |
Analysis of Algorithms |
3 |
5 |
CMPE 322 |
Operating Systems |
4 |
6 |
CMPE 343 |
Intro. to Probability and Statistics for Comp. Eng. |
3 |
6 |
CMPE 344 |
Computer Organization |
4 |
6 |
IE 310 |
Operations Research |
4 |
5 |
HTR 311 |
Hist. Turk. Rep. I |
2 |
3 |
|
|
20 |
31 |
Sixth Semester |
|
ECTS |
CMPE 321 |
Int. to Database Sys. |
4 |
6 |
CMPE 350 |
Formal Languages and Automata Theory |
3 |
5 |
CMPE 352 |
Fundamentals of Software Engineering |
2 |
4 |
CMPE 362 |
Intro. to Signals Processing for Comp. Engineers |
3 |
6 |
IE 306 |
System Simulation |
4 |
7 |
HTR 312 |
Hist. Turk. Rep. II |
2 |
3 |
|
|
18 |
31 |
Seventh Semester |
|
ECTS |
CMPE 451 |
Project Dev. in Software Eng. |
2 |
5 |
CMPE 443 |
Principles of Embedded Systems Design |
4 |
6 |
CC -- |
Comp. Course |
3/4 |
6 |
CC -- |
Comp. Course |
3/4 |
6 |
CC -- |
Comp. Course |
3/4 |
6 |
|
|
15/18 |
29 |
Eighth Semester |
|
ECTS |
CMPE 492 |
Project |
4 |
8 |
CC -- |
Comp. Course |
3/4 |
6 |
CC -- |
Comp. Course |
3/4 |
6 |
CC -- |
Comp. Course |
3/4 |
6 |
HSS -- |
HSS Elective |
3 |
5 |
CMPE 400 |
Engineering Internship |
0 |
10 |
|
|
16/19 |
41 |
Total: 145/151 Credits Total ECTS: 257 ECTS
* Three out of the six CC courses must be departmental electives.
COURSE DESCRIPTIONS
ENG 101 Introduction to Computers (2+0+2) 3 ECTS 7
(Bilgisayara Giriş)
Basic keyboard skills, word processing spreadsheets, data base programs, simple programming applications, view of education software, laboratory.
CMPE 140 Introduction to Computing for Economics and Management (2+1+2) 3 ECTS 5
(Ekonomi ve İşletme için Bilgi İşleme Giriş)
Introduction to Computing for Economics and Management. Basics of data analyis. Fundamentals of programming using Spreadsheet programs and matrix based high level languages. Elementary matrix computations (logical, mathematical and statistical), control flow and programming constructs (conditionals, loops and subroutines), data processing, simulation and visualization techniques.
CMPE 150 Introduction to Computing (1+0+4) 3 ECTS 5
(Bilgi İşleme Giriş)
The aim of the course is twofold: To give the student literacy on computers and data processing, and to make him/her a computer user either as a programmer or as an application software packages user. The course has separate components for these two aims. The first component is the weekly lecture on computer hardware, computer software, applications, computer industry and social issues. The second component is organized in terms of labs, workshops and recitations. Students follow one of two alternatives as chosen by their department: 1) programming in a high level language such as Pascal, C or Fortran, 2) the use of a set of application software packages such as word processing, spreadsheet, and data management packages.
CMPE 160 Introduction to Object Oriented Programming (3+0+2) 4 ECTS 8
(Nesne Tabanlı Programlamaya Giriş)
Programming methodology: specification, design, coding, program correctness. Review of data types: scalar types, structured types. Data Structures: linear structures (stacks, queues, linear lists), nonlinear structures (trees, sets), files (sequential, random access). Implementation of data structures: linked list implementation, multidimensional array implementation, record implementation, character string, stack, queue, tree and set implementations. Recursion.
Prerequisite: CMPE 150.
CMPE 210 Fundamentals of Object Oriented Programming (3+0+2) 4 ECTS 5
(Nesneye Yönelik Programlamanın Temelleri)
Review of scalar and structured data types. Object oriented programming concepts: classes and abstract data types, inheritence, polymorphisms, operator overloading. Classical and object oriented program specification, design, coding and testing. Linear (stacks, queues, linear lists) and nonlinear data structures (trees, sets). Sequential and random access files. Implementation of data structures: Linked lists, multidimensional arrays, records, character strings, stacks, queues, trees and sets. Recursion.
Prerequisite: CMPE 150.
CMPE 220 Discrete Computational Structures (3+0+0) 3 ECTS 5
(Kesikli Hesaplama Yapıları)
Propositional logic and proofs. Set theory. Functions and relations. Algebraic structures. Groups and semi-groups. Graphs, lattices and Boolean algebra.
CMPE 223 Data Structures and Algorithms I (3+0+0) 3 ECTS 5
(Veri Yapıları ve Algoritmalar I)
Basic data types and data structures: Stacks, queues, linked lists, trees and graphs. Search and sort algorithms. Storage allocation, garbage collection and compaction. Logical and physical organization of files. File processing and management.
Prerequisite: CMPE 150.
CMPE 224 Data Structures and Algorithms II (3+0+0) 3 ECTS 5
(Veri Yapıları ve Algoritmalar II)
Continuation of CMPE 223.
Prerequisite: CMPE 223.
CMPE 230 Systems Programming (3+0+2) 4 ECTS 6
(Sistem Programlama)
Overview of compilers, interpreters, assemblers, linkers and loaders. Unix environment and system calls. Shell programming. Signals and exceptions. Localization and Unicode. PERL and CGI programming. Assembly language programming. Introduction to multithreading. Introductory Graphical User Interface (GUI) programming.
Prerequisite: CMPE 160.
CMPE 235 Operating Systems and Their Use (1+0+4) 3 ECTS 7
(İşletim Sistemleri ve Kullanımı)
Introductory operating system concepts. DOS, Windows, NT, Unix. Exercise in operating systems.
CMPE 240 Digital Systems (3+0+2) 4 ECTS 6
(Sayısal Sistemler)
Number systems. Boolean algebra, logic networks and their simplification. Logic design with gates. MSI and LSI technologies. Combinatorial circuits and sequential circuits. Counters, shift registers, computer organization, arithmetic logic, memory and control units, mini and microcomputer systems. Laboratory experiments and applications of digital logic design.
CMPE 250 Data Structures and Algorithms (3+0+2) 4 ECTS 6
(Veri Yapıları ve Yordamlar)
Graphs. Advanced Sorting. Hashing. Heap Structures. Search Structures. Complexity. Parallel algorithms. File organization.
Prerequisite: CMPE 160 or CMPE 210 or IE 201
CMPE 260 Principles of Programming Languages (3+0+0) 3 ECTS 5
(Programlama Dillerinin Prensipleri)
Syntax, semantics and pragmatics of programming languages. Data, storage and control. Binding of identifiers. Procedural abstraction. Definitions, sequences and concurrent processes. Types. Formal semantics. Study of key features of existing programming languages.
Prerequisite: CMPE 250.
CMPE 300 Analysis of Algorithms (3+0+0) 3 ECTS 5
(Algoritma Analizi)
Analysis of computer science algorithms: Sorting, searching, paging and parallelism. Analysis of mathematical algorithms: games and puzzles, network algorithms, and probabilistic algorithms.
Prerequisite: CMPE 250.
CMPE 321 Introduction to Database Systems (3+0+2) 4 ECTS 6
(Veri Tabanı Sistemlerine Giriş)
Logical organization of data: Entity-relationship modeling of data. Hierarchical, network and relational models. Data description and query languages. Normal forms and database design. Physical design and access strategies. Security, integrity and reliability. Design and implementation of a simple database management system that includes file security and a simple query language.
Prerequisite: CMPE 250.
CMPE 322 Operating Systems (3+0+2) 4 ECTS 6
(İşletim Sistemleri)
Evolution of operating systems. Multiprogramming and time sharing concepts. User and program interfaces. Concurrent processes, CPU scheduling, process synchronization, critical section problem. Deadlock prevention, avoidance, detection and recovery. Memory management, swapping, multiple partitions. Paging, segmentation, virtual memory, page replacement algorithms. File system structures, allocation methods, directory implementation. I/O interfaces, secondary storage structure. Protection and Security: Access matrix and rights, capabilities, security issues. LINUX case studies.
Prerequisite: CMPE 250.
CMPE 343 Introduction to Probability and Statistics for Computer Engineers (3+1+0) 3 ECTS 6
(Bilgisayar Mühendisleri için Olasılık ve İstatistiğe Giriş)
Introduction to probability theory. Random variables, expectation, variance and moment generating functions. Distributions: Bernoulli, binomial, uniform, Gaussian, exponential, Poisson, gamma. Introduction to statistical concepts. Sampling and sample statistics. Point and interval estimation. Hypothesis testing. Regression. Numerical and computational aspects of random variable generation, sampling, and estimation.
Prerequisite: MATH 101.
CMPE 344 Computer Organization (3+0+2) 4 ECTS 6
(Bilgisayar Organizasyonu)
Register transfer level design. Basic computer layout. Instruction sets and their implementation. Addressing techniques. ALU, hardwired and microprogrammed controllers. Memory unit. I/0 structures and interrupt handling. Improvements on von Neumann machine. Bus structures. Assembly programming.
Prerequisite: CMPE 240 or EE 240 or EE 243
CMPE 350 Formal Languages and Automata Theory (3+0+0) 3 ECTS 5
(Biçimsel Diller ve Makineler Kuramı)
Strings and languages. Classification of grammars. Finite-state automata and regular expressions. Pushdown automata and context-free grammars. Context sensitive grammars and linear bounded automata. Turing machines.
Prerequisite: CMPE 220 or MATH 162 or MATH 111
CMPE 352 Fundamentals of Software Engineering (2+1+0) 2 ECTS 4
(Yazılım Mühendisliği Temelleri)
Introductory concepts in software engineering. The software life cycle and the phases in software development: feasibility study, analysis, specification, design, implementation and testing, documentation and maintenance. Tools, techniques, environments and methodologies. Management issues: planning, organization and control. Professional ethics.
CMPE 362 Introduction to Signal Processing for Computer Engineers (3+0+0) 3 ECTS 6
(Bilgisayar Mühendisleri için Sinyal İşlemeye Giriş)
Introduction to discrete and continuous time signals and systems with computer engineering applications. Time-domain signal representations, impulse response of linear time-invariant systems; convolution. Fourier series. Spectrum representation of signals. Fourier transform. Digital signals and sampling. Reconstruction, Filtering, Z-transform representation, discrete Fourier transform. Algorithms for signal processing. Floating point and quantization errors. Exercises with applications in audio and image processing.
Prerequisites: MATH 202.
ENG 380-399 / 480 - 499 Special Topics in Engineering (3+0+0)3 ECTS 5
(Mühendislikte Özel Konular)
Special topics of current interest in engineering and technology.
CMPE 415 Theory of Computation (3+0+0) 3 ECTS 6
(Hesaplama Kuramı)
Basic concepts of computation. The theory and representation of algorithms and models of computation. Computability and recursive functions. Formal specification and proofs of programs. Automata theory.
Prerequisite: CMPE 220.
CMPE 416 Introduction to Cryptography (3+0+0) 3 ECTS 6
(Şifrelemeye Giriş)
Basic concepts of cryptography and cryptanalysis. Classical methods: DES and other algorithms. Public key systems: RSA, El-Gamal and other algorithms. Number theory and complexity fundamentals. Digital signatures. Hash functions. Key distribution problems. Network aspects of cryptography. Secret sharing.
Prerequisite: Consent of the instructor.
CMPE 422 Database Systems (3+0+0) 3 ECTS 6
(Veri Tabanı Sistemleri )
Fundamentals of data modeling concepts. Examination of deductive and object oriented models. Storage structures and query processing algorithms for deductive and object oriented models.
Prerequisite: CMPE 321.
CMPE 425 Compiler Design (3+0+0) 3 ECTS 6
(Derleyici Tasarımı)
Overview of the compilation process. Lexical analysis, regular expressions, finite automata and lexical analyzer generators. Symbol tables. Grammars. Top-down and bottom-up syntax analysis. Recursive-descent. SLR, canonical LR, LALR and operator precedence parsing techniques. Parser generators. Semantic analysis and attribute grammers. Abstract machines ad intermediate code. Syntax directed translation schemes. Implementation of a compiler for a simple imperative language.
Prerequisite: CMPE 320.
CMPE 434 Introduction to Robotics (3+0+0) 3 ECTS 6
(Robotbilime Giriş)
Designing, building and programming mobile robots; sensors, effectors, locomotion, basic control theory, control architectures, path planning, localization, mapping, learning. Teamwork; robot contest.
CMPE 436 Concurrent and Distributed Programming (3+0+0) 3 ECTS 6
(Koşutzamanlı ve Dağıtık Programlama)
Multithreaded, Distributed, and Mobile Programming with Java. Concurrency. Fundamentals of distributed computing. Synchronization. Logical and vector clocks. Global snapshot. Global properties. Property detection. Detecting termination and deadlocks. Message ordering. Distributed leader election. Distributed agreement. Distributed transactions
CMPE 441 High-Level Digital Design (3+0+0) 3 ECTS 6
(İleri Düzey Sayısal Tasarım)
Programmable logic devices. Levels of abstractions in digital design. Basic processes in behavioral synthesis. Description of a digital system for behavioral synthesis using a hardware description language. Development of test-benches using a hardware description language. Design re-use. Reconfigurable computing. Case studies: Digital design of some well-known digital signal processing and encryption algorithms using behavioral descriptions.
Prerequisite: Consent of the instructor.
CMPE 443 Principles of Embedded Systems Design (3+0+2) 4 ECTS 6
(Gömülü Sistem Tasarım Temelleri)
Embedded systems design flow. Hardware-software co-design. Real-time software design. Real-time debugging techniques and tools. Hardware-software integration: interface design. Examples on the design of data acquisition and control systems. Laboratory.
Prerequisites: CMPE 240.
CMPE 444 Microprocessor-Based System Design (3+0+4) 4 ECTS 6
(Mikroişlemciye Dayalı Sistem Tasarımı)
Microcomputer hardware organization. Understanding and comparison of microprocessor architecture. Interfacing of microprocessors. Monitor program. Assembly language programming. Hardware and software development aids. Laboratory experiments and applications of microprocessor based systems and single board microcomputer systems.
Prerequisite: CMPE 344.
CMPE 446 Introduction to Computer Architecture (3+0+0) 3 ECTS 6
(Bilgisayar Mimarisine Giriş)
Performance limits of Von Neumann architecture. Reduced Instruction Set Computer (RISC) architecture. Pipelined processor design. Instruction pipeline and arithmetic pipelines. Array processors. Dynamic and static interconnection networks. Shared memory multiprocessor systems. Message passing multiprocessor systems.
Prerequisites: CMPE 344 and CMPE 322.
CMPE 448 Multi-Core Programming (3+0+0) 3 ECTS 6
(Çok Çekirdekli Programlama)
Introduction to parallel and multi-core computer architectures. Parallel processing concepts. System overview of threading. POSIX, OpenMP and Threading Building Blocks multi-threading programming interfaces. Graphics Processing Unit (GPU) programming. Tools for debugging and performance analysis.
CMPE 451 Project Development in Software Engineering (1+0+2) 2 ECTS 5
(Yazılım Mühendisliği'nde Proje Tasarımı)
Management and implementation of a large software development as a group. Application of software engineering principles in a project setting.
Prerequisites: CMPE 352 and CMPE 321.
CMPE 455 Programming Methodologies (3+0+0) 3 ECTS 6
(Programlama Metodolojileri)
Comparative study of functional, logic, and object oriented programming methodologies and programming languages. Case study: programming in a logic, functional or object-oriented programming language.
CMPE 460 Introduction to Computer Graphics (3+0+0) 3 ECTS 6
(Bilgisayar Grafiğine Giriş)
Overview of graphics systems. Rasterization of 2D graphics primitives. Geometrical transformations. Viewing in 3D. Visible surface determination. Illumination and shading. Texture mapping. Modeling. Representation of curves and surfaces. Solid modeling. Introduction to advanced topics in computer graphics: ray tracing.
Prerequisite: Consent of the instructor.
CMPE 461 Human Computer Interaction (3+0+0) 3 ECTS 5
(İnsan Bilgisayar Etkileşimi (İBE))
Human factors, human computer interaction (HCI) theories, principles and guidelines; designing user interfaces, software design methodologies, evaluating user interfaces, interface design tools.
CMPE 462 Machine Learning (3+0+0) 3 ECTS 6
(Yapay Öğrenme)
Overview of artificial learning systems. Supervised and unsupervised learning. Statistical models. Decision trees. Clustering. Feature extraction. Artificial neural networks. Reinforcement learning. Applications to pattern recognition and data mining.
Prerequisite: Consent of the instructor.
CMPE 463 Data Mining (3+0+0) 3 ECTS 6
(Veri Madenciliği)
Relationship between databases, data warehouse, data mining, and machine learning. Data preprocessing and cleansing. Knowledge representation; association mining, segmentatinon, feature exraction, classification and regression. Case studies: Basket analysis and credit risk scoring.
Prerequisite: Consent of the instructor.
CMPE 464 Image Processing for Computer Graphics (3+0+0) 3 ECTS 6
(Bilgisayar Grafiği için İmge İşleme)
Relationship of computer graphics and image processing. Introduction to signal theory: sampling, transforms. Image sampling and aliasing. Fundamentals of color. Color representation and display systems. Color quantization and image compression. Digital halftoning. Filtering, edge detection, image enhancement. Image composition. Warping and morphing.
Prerequisite: Consent of the instructor.
CMPE 465 Computer-Aided Design and Manufacturing (3+0+0) 3 ECTS 6
(Bilgisayar Destekli Tasarım ve Üretim)
Computer-aided design: hardware, computer graphics and graphics databases. Numerical control: NC part programming, computer control in NC. Robot technology and applications. Group technology and computer-aided process planning. Computer integrated production management: production planning and control, inventory management and MRP, shop floor control and process monitoring. Computer control: computer process interfacing, computer process control, computer-aided quality control, computer-integrated manufacturing.
Prerequisite: Consent of the instructor.
CMPE 468 Multimedia Computing (3+0+0) 3 ECTS 6
(Çokluortam Hesaplama)
Multimedia system applications and problems. Fundamentals of multimedia signal processing. Issues in effectively representing, processing, retrieving and compression of multimedia data such as text, graphics, sound and music, image and video.
Prerequisite: Consent of the instructor.
CMPE 470 Computer Performance Evaluation (3+0+0) 3 ECTS 6
(Bilgisayar Performansı Değerlendirmesi)
Nature of computer performance evaluation. Job processing models. Analytical techniques. Simulation. Management and control of system hardware and software resources. Performance of multiprocessing systems.
Prerequisite: Senior standing in CMPE.
CMPE 471 Information Systems Security (3+0+0) 3 ECTS 6
(Bilişim Sistemlerinde Güvenlik)
Principles and underlying concepts for security policy setting and for management of information security. Fundamental security principles: confidentiality, integrity, availability. Principles of information systems analysis for security; concept of analysis, basic features of information systems, semiotic model. Principles of policy for security. Principles of risk and contingency; risk analysis and risk management. Nature of responsibility and policy in the management of security. Role of cryptography in secure systems. Secure payment systems: SET, digital certificates, trusted third parties. Case studies.
Prerequisite: Consent of the instructor.
CMPE 472 Fundamentals of Electronic Commerce (3+0+0) 3 ECTS 6
(Elektronik Ticaretin Temelleri)
A critical review and analysis of electronic commerce with emphasis on multidisciplinary aspects and team projects. Technology infrastructure for electronic commerce. Internet-based businesses. Economics, business and technical models of the Internet. Internet security. Social, legal, ethical and public policy issues of the Internet. Business plan creation and a prototype for an Internet-based operation.
Prerequisite: Consent of the instructor.
CMPE 473 Internet Programming (3+0+0) 3 ECTS 6
(İnternet Programlama)
WWW-Application-Database server architectures. WWW-based applications. Client side and server side programming. Personalization. Network programming. Database connectivity. Java programming. XML.
Prerequisite: Consent of the instructor.
CMPE 474 Introduction to Satellite and Space Communications (3+0+0) 3 ECTS 5
(Uydu ve Uzay İletişimine Giriş)
Introduction to satellites and space systems. Satellite communication systems, interplanetary Internet. Satellite applications and services, direct video broadcast (DVB). Satellite network principles. Satellite communication systems design. Algorithms in satellite networks.
CMPE 475 Computer Networks (3+0+0) 3 ECTS 6
(Bilgisayar Ağları)
Network layers and architectures, reference models. Physical layer and data communications issues. Metallic, fiber optic and wireless transmission media. Telephone system, switching, ISDN, ATM, SDH, DSL, cellular systems and satellites. Data link layer issues, elementary and sliding window protocols. Multiple access protocols, local area networks, Ethernet, bridges and switches. Network layer issues, routing algorithms, congestion control, Internet Protocol, routing protocols. ATM network layer.
Prerequisite: Consent of the instructor.
CMPE 476 Distributed Systems (3+0+0) 3 ECTS 6
(Dağıtık Sistemler)
Transport layer services and protocols. Internet protocols TCP and UDP. ATM Adaptation Layer protocols. Client-server and peer-to-peer programming models. Network programming. Remote procedure call. Application layer issues and protocols. Network security. Domain name system. Network management. Electronic mail and news services. Overview of distributed systems and structures. Distributed file and directory systems. Distributed coordination, concurrency control, deadlock detection and election algorithms.
Prerequisite: Consent of the instructor.
CMPE 477 Wireless and Mobile Networks (3+0+0) 3 ECTS 6
(Telsiz ve Gezgin Ağlar)
Introduction to wireless and mobile networks and network architectures. Cellular networks. Mobility and handoff management. GSM, GPRS, 3G networks. WAP. Cellular network planning. Wireless LANs and Mobile IP. Ad hoc wireless networks. Wireless broadband networks. Satellite networks.
Prerequisite: Consent of the instructor.
CMPE 478 Parallel Processing (3+0+0) 3 ECTS 6
(Paralel İşlem Görme)
Parallel machine and performance models: PRAM, speedup, work efficiency, scalability, Brent's theorem. Parallel programming with message passing and multi-threading libraries. Parallel algorithms: Prefix computation, pointer jumping, list ranking, Euler tours on trees, sorting. Parallel architectures: Multiprocessors, multicomputers and Flynn's taxonomy, SIMD, MIMD, SPMD, interconnection topologies. Load balancing and graph partitioning methods.
Prerequisite: CMPE 322.
CMPE 480 Introduction to Artificial Intelligence (3+0+0) 3 ECTS 6
(Yapay Zekaya Giriş)
Representation of knowledge. Search and heuristic programming. Logic and logic programming. Application areas of artificial intelligence: problem solving, games and puzzles, expert systems, planning, learning, vision, and natural language understanding. Exercises in an artificial intelligence language.
Prerequisite: Consent of the instructor.
CMPE 491 Special Project in Computer Engineering (0+0+6) 3 ECTS 6
(Bilgisayar Muhendisliğinde Özel Proje)
Prerequisites: Senior standing in CMPE and consent of the instructor.
CMPE 492 Project (0+0+8) 4 ECTS 8
(Proje)
Prerequisite: Senior standing in CMPE.
CMPE 493-498 Special Topics in Computer Engineering I- VI (3+0+0) 3 ECTS 6
(Bilgisayar Muhendisliğinde Özel Konular I- VI)
Prerequisite: Consent of the instructor.