Detaylı bilgi için tıklayınız
ANA DERSLER
An orientation course to provide information to the students about the department and Computer Engineering discipline in general. The main topics introduced are: fundamentals of computer systems, programming languages and algorithms, computer organization, operating systems, networking, database design and software engineering. Meetings with CSE faculty. (Prerequisite: None).
CSE 123 INTRODUCTION TO COMPUTING (offered to non-CSE students) (3+2) 4
The course content includes two main parts. Lecture part gives the student literacy on computing; i.e, computer components, hardware and software systems, data representations, concepts of programming. The second part covers programming in a high level language. The lab sessions start with a set of application software packages such as word processing, spreadsheet and data management packages. Then, students should have programming practices during the lab sessions. (Prerequisite: None).
CSE 141 INTRODUCTION TO COMPUTER PROGRAMMING (3+2) 4
An introduction to the process of program design and analysis for students who have no prior programming experience. Topics to be covered include basic data types and their operators, expressions and assignment statements, I/O, control structures (selection, loops), classes (including methods and fields), arrays, functions and procedures, files. (Prerequisite: None).
CSE 142 INTERMEDIATE PROGRAMMING (3+2) 4
Programming methodology: specification, design, coding and program correctness. Review of data types (scalar and structured types), procedures and functions, recursion, files (sequential and random access), arrays, character strings and records. Basic data structures and their implementations: linear structures (linked lists, stacks and queues) and nonlinear structures (trees and sets). Exercises in a structured or an object-oriented programming language. (Co-requisite: CSE 141).
CSE 225 DATA STRUCTURES (3+2) 4
Review of basic data structures. Trees and heap structures. Hashing. Searching and sorting. Structure, organization and processing of files. Sequential and direct file processing techniques. Indexed and hash files, creation and update; B-trees and derivatives. Representation of graphs and basic graph operations. (Prerequisite: CSE 142).
CSE 238 SYSTEMS PROGRAMMING (2+2) 3
The course content includes two main parts. First part introduces computer hardware and software, addressing methods, instruction sets and formats and details of assembly language programming. Overview of compilers, interpreters, assemblers, linkers and loaders are given as part of the course. The second part introduces UNIX environment by including shell programming, UNIX system calls and signals, UNIX programming and multithreading. Programming assignments are given on both assembly language and UNIX/Linux environment. (Prerequisite: CSE 142).
CSE 246 ANALYSIS of ALGORITHMS (3+0) 3
Algorithm design and analysis techniques; Analysis and design of selected group of algorithms: sorting, searching, string processing and graph algorithms. Computational complexities of algorithms. Divide-and-conquer approach. Recursive algorithms and solving recurrence equations. Dynamic programming and greedy algorithms. Introduction to NP-completeness and example of NP-complete problems. (Prerequisite: CSE 225).
CSE 300 SUMMER PRACTICE (Non-Credit)
Students are supposed to spend 6 weeks in industry and obtain practical experience on a topic related to Computer Engineering. At the end of the summer practice, students should write a technical report and submit it to the department.
CSE 315 DIGITAL DESIGN (3+2) 4
Number systems, Boolean algebra and functions, logic gates. Analysis and design of combinational circuits. Combinational MSI components. Flip-flops, counters and shift registers. Analysis and design of sequential circuits. State table, state minimization and state assignment. Sequential MSI components. Register transfer and micro-operations. Basic computer organization and design: arithmetic logic, memory and control units. Laboratory experiments and applications of digital logic design.
CSE 333 OPERATING SYSTEMS (3+2) 4
Overview and evolution of operating systems. Multiprogramming and time sharing concepts. Process management issues including processes and threads, CPU scheduling, mutual exclusion, synchronization, deadlocks and starvation. Memory management, swapping, paging, segmentation and virtual memory. File system structures, allocation methods and directory implementation. I/O interfaces and secondary storage structure. Protection and security issues. Introduction to distributed systems, client/server programming. LINUX case studies and programming. (Prerequisite: CSE 238).
CSE 338 COMPUTER ORGANIZATION (3+2) 4
Basic computer organization and design. Instruction formats and addressing modes. Instruction fetch, decode and execution. Arithmetic algorithms and design of arithmetic logic unit. CPU organization. Hardwired and microprogrammed control organization. Memory organization: virtual-memory, caches and their management. Input-Output organization: interfacing processors and peripherals. Pipelining and other techniques for performance improvements. Machine language and assembly language. (Prerequisite: CSE 238 and CSE 315).
CSE 344 SOFTWARE ENGINEERING (3+2) 4
The software life cycle and the phases in software development: feasibility study, estimation, analysis, specification, design, implementation and testing, documentation and maintenance. Tools, techniques, environments and methodologies. Management issues: planning, organization and control. Software quality assurance and software configuration management. An integral part of the course is the involvement of students working in teams in the organization, management and development of a medium size software product. (Prerequisite: CSE 355).
CSE 355 DATABASE SYSTEMS (3+2) 4
Logical organization of data: Entity-relationship modeling of data. Relational, network and hierarchical data models. Data description and query languages. SQL, QBE and QUEL. Logical database design and normalization. Physical design and access strategies. Query optimization, security, integrity, reliability and concurrency issues in databases. Distributed databases. Object-oriented databases. Students will design and implement a database management system as a project. (Prerequisite: CSE 225).
CSE 364 FORMAL LANGUAGES and AUTOMATA THEORY (3+0) 3
Classification of automata and formal languages. Finite state machines, regular languages and their limitations. Tape automata. Push-down automata and context-free languages. Normal-form grammars. Context-sensitive languages. Turing machines, halting problem and unsolvability. Recursive functions. (Prerequisite: MATH 257).
CSE 400 SUMMER PRACTICE (Non-Credit)
Students are supposed to spend 6 weeks in industry and obtain practical experience on a topic related to Computer Engineering. At the end of the summer practice, students should write a technical report and submit it to the department.
CSE 418 MICROPROCESSORS (2+2) 3
Microcomputer hardware organization. Understanding and comparison of microcomputer architectures. Data, address and control buses. Memory system design. Interface units and their usage. Parallel/serial ports, timers, interrupt controllers, DMA services. Input and output peripherals and devices. Assembly language programming. Microprocessor applications. Laboratory experiments and applications of microprocessor based systems. (Co-requisite: CSE 338).
CSE 453 INFORMATION SYSTEMS: ANALYSIS AND DESIGN (3+0) 3
Information systems: characteristics, components, applications, business and organizational systems, requirement analysis, design, implementation, testing, operation and maintenance, prototyping. Information system technology: CASE tools, database management systems, data communication, networking, distributed business systems, Hardware and software selection. (Prerequisite: Consent to Instructor).
CSE 461 COMPILER DESIGN (3+0) 3
Development of the logical design of a compiler: lexical analyzer, parser, semantic analyzer, code generator, code optimizer, and error recovery routines, interpreters and intermediate code. Analysis of formal algorithms for each component, description of overall compiler construction techniques. (Prerequisite: CSE364).
CSE 473 COMPUTER NETWORKS (3+2) 4
Basic concepts of data transmission. Overview of network layers and network architectures. ISO-OSI reference model. Physical layer and data communication issues. Circuit switching, packet switching. Network topology. Data link layer and its protocols, error-detection and correction. Local area networks, Ethernet, bridges and switches. Network layer issues and protocols, routing algorithms, congestion control, Internet Protocol. Transport layer and internet transport protocols (TCP and UDP). Network applications and programming: the socket interface, DNS, SMTP, FTP, and WWW. (Prerequisite: Consent to Instructor).
CSE 497 ENGINEERING PROJECT I (0+4) 2
A technical project emphasizing engineering design principles on a specific topic in any field of computer science or engineering to be carried out by the senior student under the supervision of a faculty member. Involves design and implementation phases by applying a synthesis of knowledge and skills acquired in different courses during the undergraduate study. (Prerequisite: Senior Standing).
CSE 498 ENGINEERING PROJECT II (0+4) 2
Continuation of projects given in CSE 497 with emphasis on realization of the design and implementation. The students are required to submit a written report summarizing the accomplishments of the project. Oral presentations and demonstration sessions on the completed projects are required as part of the course requirements. (Prerequisite: CSE 497).
SEÇMELİ DERSLER (Danışman onayı ve 2. sınıfı bitirmiş olmak kaydıyla seçilebilir )
CSE 414 VLSI CIRCUIT DESIGN (3+0) 3
Size and complexity of integrated circuits (IC), IC design process, trends in very large scale integrated (VLSI) circuit design, IC production process, semiconductor processes, design rules and process parameters, layout techniques and practical considerations, device modeling, circuit simulation, basic integrated circuit building blocks.
CSE 432 DISTRIBUTED SYSTEMS (3+0) 3
Hardware and software concepts of distributed systems. Issues in distributed operating systems: transparency, reliability, performance, scalability, group communication and synchronization. Client/server programming model and remote procedure calls (RPCs). Distributed file and directory systems. Distributed programming tools. Distributed coordination, concurrency control, deadlock detection and election algorithms. Distributed applications.
CSE 434 ADVANCED UNIX PROGRAMMING (3+0) 3
Programs and processes, process creation, interprocess communication. UNIX File I/O, pipes, file locking. Signals and timers. Critical section and semaphores. Threads and thread synchronization. Semaphores. Client-Server communication, socket and network programming, basics of remote procedure calls (RPCs).
CSE 438 PARALLEL PROCESSING (3+0) 3
History and basic concepts of parallel computing. Classification of parallel processing systems. Parallel computer architectures. Programming methods and libraries for parallel processing. Design and analysis of fundamental parallel algorithms for sorting, arithmetic and matrix-related applications. Parallel programming assignments of selected applications using the parallel programming tools and libraries covered in the course.
CSE 444 SOFTWARE PROJECT MANAGEMENT (3+0) 3
Life cycle of software system development, project specification, defining end-product, standard techniques and tools, testing, project planning and re-planning, project organization and structure, people management, project control, configuration management.
CSE 454 DISTRIBUTED DATABASES (3+0) 3
Architectural models for distributed DBMS, transparencies, alternative design strategies, distribution design issues, semantic data control, security, integrity, query decomposition and data localization, optimization of distributed queries, centralized and distributed algorithms, transaction management and distributed concurrency control. Distributed reliability protocols, distributed multi-database systems. Current trends.
CSE 456 MANAGEMENT of INFORMATION SYSTEMS (3+0) 3
Decision making process, planning and control, organizational structure, management concepts, information-based support systems, support systems for planning, control and decision making, strategies for determination of information requirements, organization and management of information resources function, management information systems (MIS), organizational and social implications of MIS.
CSE 457 INFORMATION SYSTEM SECURITY (3+0) 3
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.
CSE 458 FUNDAMENTALS OF ELECTRONIC COMMERCE (3+0) 3
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.
CSE 459 INTERNET PROGRAMMING (3+0) 3
WWW-based applications. Design and implementation of a software architecture for connecting applications, WWW and databases. Client side and server side programming. Personalization. Network programming. Java and Javascript programming. Perl and ASP programming. XML. Current trends in internet programming.
CSE 460 PRINCIPLES OF PROGRAMMING LANGUAGES (3+0) 3
Syntax and semantics of programming languages, grammars, design of programming languages, data types, variables, expressions and statements, procedures, recursion, parameter passing, dynamic and static memory management. Comparative study of functional, logic and object-oriented programming languages.
CSE 464 OBJECT-ORIENTED SOFTWARE DESIGN (3+0) 3
Software quality, object-oriented approach, dynamic objects, genericity and parameterizing classes, assertions, preconditions and postconditions, class invariants and class correctness, exceptions handling, inheritance, polymorphism, deferred classes, multiple inheritance, persistent objects and classes, operations on persistent objects, object oriented databases, object oriented analysis and design, object oriented languages.
CSE 466 INTRODUCTION TO CRYPTOGRAPHY (3+0) 3
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.
CSE 475 WIRELESS and MOBILE NETWORKS (3+0) 3
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.
CSE 482 ARTIFICIAL INTELLIGENCE (3+0) 3
Representation of knowledge. Search and heuristic programming. Logic and logic programming. Application areas of artificial intelligence: problem solving, game playing and game trees, puzzles, expert systems, planning, learning, vision, and natural language understanding. Basic LISP or prolog programming.
CSE 483 COMPUTER GRAPHICS (3+0) 3
Hardware and software components of graphic systems. Output and filled-data primitives. 2D and 3D geometric transformations. Two dimensional viewing: Viewing pipeline, clipping, and windowing. There dimensional viewing: Viewing pipeline, viewing parameters, projections, viewing transformations, clipping. Visible surface detection. Introduction to illumination models and surface rendering.
CSE 484 MULTIMEDIA SYSTEMS (3+0) 3
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.
CSE 488 MACHINE LEARNING (3+0) 3
Paradigms and issues of machine learning. Supervised and unsupervised learning. Statistical models. Learning decision trees. Clustering. Feature extraction. Artificial neural networks. Reinforcement learning. Applications of machine learning.
CSE 493 SEMINAR IN COMPUTER ENGINEERING (3+0) 3
In this course, students are given a topic in one of the major fields in computer science or engineering. They are asked to present and to write a technical report by summarizing the various aspects of the topic.
CSE 494 SPECIAL TOPICS IN COMPUTER ENGINEERING I (3+0) 3
Selected topics of current interest in computer science and engineering.
CSE 495 SPECIAL TOPICS IN COMPUTER ENGINEERING II (3+0) 3
Selected topics of current interest in computer science and engineering.