Undergraduate Courses
First Year
| Course Code | Course Name | Description | Prerequisite(s) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CENG 111 | Concepts in Computer Engineering | Basic computer knowledge: History of computing, terms and definitions, system components and processes, computer architecture, data storage, computer networks and internet, software engineering, problem solving and algorithm design, data structures, application fields of computers. Course Objectives: 1. Developing a common understanding about computer science, 2. Gaining ability to describe, analyze and solve the problems, 3. Teaching the algorithmic thinking and design in a higher level, 4. Gaining basic knowledge about computer architecture, programming languages, data storage, software engineering and computer networks, 5. Teaching the application fields of computers. Recommended or Required Reading: J. G. Brookshear. Computer Science An Overview. 7th Ed. 2002. Addison-Wesley. ,G. Michael Scneider, Judith L. Gersting. (1995). An Invitation to Computer Science. 1st Ed. West Publishing Company, USA. ,George Beekman, Micheal J. Quinn. (2005). Computer Confluence. 7th Ed. Prentice Hall. Learning Outcomes:
1. To learn about the history of computing
2. To learn the principle concepts and definitions
3. To have the ability to define, analyze and solve problems
4. To have the habitude of algorithmic thinking
5. To learn design of algorithms
6. To have principle knowledge about the computer architecture
7. To have principle knowledge about programming languages and familiarity of different programming languages
8. To have basic knowledge about different data storage methods
9. To have general knowledge about software engineering concepts
10. To learn the principles of computer networks
11. To learn the application fields of the computers
Grading: Midterm: 25% Homework: 20% Research Presentation: 20% Final: 35% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 112 | Data Structures | Basic concepts of data, data structures and data types: arrays, strings, linear structures, sequential searching and sorting techniques, stacks, queues, pointers, linked lists. Various forms of m-way search and B-trees. Course Objectives To improve the students understanding and abilities related to data structures and algorithms. To improve the students ability to program. Recommended or Required Reading Data Structures and Abstractions with Java, F.M. Carrano and T.M. Henry, 4th ed., Pearson, 2016. Learning Outcomes
Grading:
Submissions: Project, Report
|
CENG 113 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 113 | Programming Basics | Fundamentals of computer programming: sequence, decision, repetion, syntax, compilation, debugging and maintenance, procedures, parameters, arrays, object, top-down structured design, layout and style. The emphasis is on an engineering “right-first-time” approach to solving large problems using computers. Basic concepts of algorithmics and algorithmic terminologies. Course Objectives To give the students the fundamentals of computer programming: sequence, decision, repetion, syntax, compilation, debugging and maintenance, procedures, parameters, arrays, object, top- down structured design, layout and style, To introduce basic concepts of algorithmics and algorithmic terminologies. Learning Outcomes:
References: “Starting Out with Python,” Tony Gaddis “Python How to Program,” Deitel & Deitel “Think Python: How to Think Like a Computer Scientist” by Allen B Submissions: Homework-1 Grading: Yes Grading: Midterm exams: 20% * 2 Final exam: 30% Assignments: 5% * 4 Quizzes: 1% * 10 Prerequisites: There are no prerequisites for the course. Supplementary Courses: Since this is an introductory course to programming, no supplementary courses are required. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 115 | Discrete Structures | Logic, propositions and proof methods. Sets. Functions, sequences and summations. Algorithms and complexity analysis. Integers and division. Matrices. Mathematical induction. Recursive definitions and algorithms. Probability theory. Counting techniques. Graphs. Trees. Course Objectives 1.To teach the problem solving strategies, techniques, and tools Recommended or Required Reading Zeitz, Paul; 1999; “The Art and Craft of Problem Solving”; John Wiley & Sons, Inc. ,Rosen, Kenneth H.; 2007; “Discrete Mathematics and its Applications”; 6th Ed.; McGraw-Hill ,Stein, Clifford, Drysdale, Robert L., Bogart, Kenneth; 2011; “Discrete Mathematics for Computer Scientists”; Pearson Learning Outcomes: 1. To be able to compare and use different discrete structures
Grading Midterm 25% Quiz 15% Homework 30% Final 30% |
Second Year
| Course Code | Course Name | Description | Prerequisite(s) | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CENG 211 | Programming Fundamentals | Control Structures, Classes and Methods, Inheritance, Polymorphism, Interfaces, Exception Handling, Streams and File I/O, Recursion, Dynamic Data Structures and Generics. Course Objectives To provide students with the ability of object oriented programming To teach object oriented software design at beginners level To teach object oriented coding of fundamental algoritms and data structures To teach Java API definition and use at intermediate level To provide students with the ability of simulation programming. Recommended or Required Reading Walter Savitch; 2012; “Java: An Introduction to Problem Solving and Programming”; 6th Ed.; Upper Saddle River, NJ: Prentice-Hall; ISBN 0-273-75142-5 ,Deitel&Deitel; “Java How to Program”; 9th Ed.; Upper Saddle River, NJ: Prentice-Hall; ISBN 0-273-75976-0 Learning Outcomes: Upon the completion of this course a student : 1. Apply the operations for maintaining common data structures in object-oriented way
Grading Midterm 25% Quiz 20% Homework 20% Final 35% |
CENG 113 | ||||||||||||||||||||||||||||||
| CENG 212 | Concepts of Programming Languages | In this course, the fundamental concepts of programming languages and different programming paradigms will be covered. Students will gain knowledge in the following areas: Introduction to Programming Languages: The history of programming languages, types, and fundamental features. Programming Language Syntax: The structure of programming languages, syntax rules, and structural elements of a language. Names, Scopes, and Bindings: Relationships between variables, functions, and other constructs, scope concepts, and how bindings work. Control Flow: Conditional statements, loops, and control structures for managing program flow. Functional Languages (Introduction to Scheme): Functional programming paradigm, features of functional languages, and an introduction to the Scheme language. Data Types: Definition of data types, basic data structures, and type conversions. Subroutines and Control Abstraction: Use of subroutines, functions, and procedures, and control abstraction techniques. Logic Languages (Introduction to Prolog): Logic programming paradigm, fundamentals of Prolog, and practical applications. Data Abstraction and Object Orientation: Object-oriented programming, classes, objects, inheritance, and abstraction. Throughout the course, students will be exposed to how various programming languages are used in practice, as well as a comparison of languages from different paradigms. Additionally, essential programming skills, such as understanding the compilation and execution phases of a program and writing high-level functions, will be developed. Course Objectives The aim of this course is to teach students the fundamentals of programming languages from different paradigms. Students will be able to understand the concepts of syntax, scope, and binding in the context of programming languages and write programs based on these concepts. Additionally, they will gain knowledge of functional and logic programming languages and learn the basic concepts related to these paradigms through practical applications. By the end of the course, students will have the skills to easily learn a new programming language and write high-level functions. Recommended or Required Reading
Learning Outcomes
Assessments Midterm 40% Homework 20% Final 40% |
|||||||||||||||||||||||||||||||
| CENG 213 | Theory of Computation | Abstract automata, especially finite state machines; push-down automata; and Turing machines. Formal languages, especially context-free languages. The relationship between automata and languages. Computability and solvability. Course Objectives To teach mathematical proof making. To teach the concepts of automata, formal languages, and Turing machines. By giving the theoretical grounds in the construction of computers, to ensure the apprehension of the limitations of computing machines. Recommended or Required Reading Lewis, H. R., & Papadimitriou, C. H. (1998). Elements of the Theory of Computation. ACM SIGACT News, 29(3), 62-78. Learning Outcomes
Grading Midterm 35% Final 45% Homework 20% |
|||||||||||||||||||||||||||||||
| CENG 214 | Logic Design | The course content provides the student with the basic knowledge, concepts and experiences required to understand and design computer architecture. The content includes theoretical and experimental studies such as boolean algebra, logic gates, multi-level logic gates, combinational arithmetic and logic systems, sequential logic, registers and counters, memory units and problem solving with programmable logic. The student’s ability to design logic and arithmetic circuits theoretically, test them and apply them in a laboratory environment is developed. Course Objectives Introduction to computer architecture. Number systems. Boolean algebra. Logic gates and flip-flops. Combinational and sequential circuit design. Strings, counters. Bus transfer. RAM, ROM units. Instruction execution and loop control. Learning Outcomes:
Recommended or Required Reading Logic and Computer Design Fundamentals, 4th Edition (2007) Prentice – Hall [M. Morris Mano, Charles Kime] (textbook) Digital Design, 4th Edition (2007) Prentice – Hall [M. Morris Mano, Michael D. Ciletti]
Grading:
|
|||||||||||||||||||||||||||||||
| CENG 215 | Circuits and Electronics | Fundamentals of electric circuits, including the basic concepts (e.g. voltage, current, power), basic components (e.g. resistance, inductance, capacity, MOS transistor, operational amplifier), basic laws (e.g., Ohm’s law, Kirchhoff’s law, equivalent resistance exchange) and methods of circuit analysis. Transient analysis, frequency response, Laplace transforms, Fourier series, introduction to electronic materials and devices, diodes, bipolar transistors and logic families, MOS technology. Course Objectives 1. Understand the basic electrical engineering principles and abstractions on which the design of electronic systems is based. These include lumped circuit models, digital circuits, and operational amplifiers 2. Use these engineering abstractions to analyze and design simple electronic circuits 3. Understand the relationship between the discrete structures and corresponding digital circuit implementations Recommended or Required Reading Anant Agarwal, Jeffrey H. Lang Foundations of Analog and Digital Electronic Circuits . 2005. Morgan Kaufmann Pub Learning Outcomes 1.To be able to analyse circuits and devise solutions to design problems.
Grading Written Midterm Exam : %35 Project Studies: %20 Written Final Exam: %45 |
|||||||||||||||||||||||||||||||
| CENG 216 | Numerical Computation | Surveys and applications of numerical techniques related to matrix inversion, systems of linear equations and optimization, finite difference expressions, interpolation and approximation, numerical differentiation and integration. The problems of speed, accuracy and applicability of the topics are examined with related algorithms. The applications of these numerical methods and subjects on computers using efficient programming techniques and with necessary programming languages. Learning Outcomes:
Reference book(s):
Grading:
Submissions: Prerequisites: There are no prerequisite courses. Supplementary Courses: |
|||||||||||||||||||||||||||||||
| CENG 218 | Analysis and Design of Algorithms | The role of algorithms in computing, Growth of functions, recurrences, probabilistic analysis and randomized algorithms, dynamic programming, greedy algorithms, advanced data structures, graph algorithms, NP-Completeness. Course Objectives With both the theoretical and practical knowledge gained through this course a student is expected to have the necessary qualifications and background to be able to solve the mathematical problems encountered in real life situations Recommended or Required Reading Introduction to Algorithms, 3rd Ed., T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, MIT Press Learning Outcomes: 1. To be able to propose a solution using algorithmic approach
Grading Midterm 35% Homework 20% Final 40% Quiz 5% |
|||||||||||||||||||||||||||||||
| CENG 222 | Probability and Statistics | This course provides an elementary introduction to probability and statistics with an emphasis on experimentation using computer programming. Topics: permutation, combination, random variables, probability distributions, Bayesian inference, hypothesis testing and confidence intervals. Course Objectives Elementary probability theory, conditional probability and independence, random variables, distribution functions, joint and conditional distributions, law of large numbers, central limit theorem, parameter estimation, confidence intervals, and hypothesis testing. Recommended or Required Reading Peter Olofsson, Mikael Andersson, Probability, Statistics, and Stochastic Processes, Wiley. ,Michael Baron, Probability and Statistics for Computer Scientists, CRC Press. ,Allen B. Downey, Think Stats: Probability and Statistics for Programmers, Green Tea Press. Learning Outcomes: 1.To be able to explain and apply the concepts of probability and random variables.
Grading Final Exam 40% Quiz 10% Homework 20% Midterm 30% |
Third Year
| Course Code | Course Name | Description | Prerequisite(s) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CENG 311 | Computer Architecture | Basic computer organization concepts. Instruction set architecture. Assembly-level programming. Processor design. Pipelining. Data and control hazards. Memory hierarchy and cache. Parallelism and system performance. LECTURES & LABS Lectures: 3 hours each week Lab sessions: 2 hours each week OBJECTIVE To equip students with fundamental knowledge of computer organization and design. 1. Understand basic computer organization concepts. LEARNING OUTCOMES 1. Ability to design general-purpose and application-specific microprocessors TEXTBOOK Computer Organization and Design: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design), 5th Edition, by David A. Patterson, John L. Hennessy.
|
CENG 214 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 312 | Computer Networks | Overview of computer networks; packet switching, Internet, layered architecture; network applications; web, email, domain name system; reliable data transfer, congestion and flow control, UDP, TCP; switching, forwarding, routing, IP; medium access control, local area networks, Ethernet. LECTURES 3 hours each week OBJECTIVE To equip students with fundamental knowledge of computer networks. 1. Understand the general structure of computer networks and the layered architecture. LEARNING OUTCOMES 1. Ability to analyze communication systems using fundamental concepts of communication. TEXTBOOK Computer Networking: A Top-Down Approach 8th edition, Jim Kurose, Keith Ross, Pearson, 2022.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 315 | Information Management | Introduction to Database Management Systems, Architecture of Database Management Systems, Relational Model, Relational Database Design, Relational Algebra, SQL (DML), SQL (DDL), Normalization, Consistency and Security, Query Optimization, Concurrency, Term Projects Course Objectives Gain ability to design, implement and query a database which is a component of an information system, teach the methods and techniques to assure the consistency in databases to make them to be able to create and enhance available databases, make it possible to understand and use query techniques in order to be efficient users of data management layer of an information system. Recommended or Required Reading Edward Sciore, Database Design and Implementation, Second Edition, Wiley, 2020. ,Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems, McGraw-Hill, 2001, 3rd Edition. ,J. Ullman, Principles of Database Systems, Second Edition, Computer Science Press, 1982. ,R. Elmasri, S.K. Navathe, Fundamentals of Database Systems, Third Edition, Addison-Wesley, 2000. Learning Outcomes: Upon the completion of this course a student : 1. Capacity to design a relational database 2. Capacity to create a relational database 3. Master relational algebra and SQL 4. Learn concurrecy methods, normalization, security and consistency methods in database management systems 5. Use databases
Grading Midterm 25% Application / Practice 10% Research Presentation 25% Final 40% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 316 | Software Engineering | Reference Standards– Software Design: IEEE STD 1016 – Systems Design—Software Design Descriptions Course ObjectivesBy the end of this course, students will gain knowledge and practical skills in: Weekly Course Schedule
Deliverables and EvaluationEach student group (5–8 members) will complete the following artifacts based on a given project topic: Submission and Evaluation Table
Grading Breakdown
Learning OutcomesC1. Identify functional requirements for a given project C2. Distinguish between functional and non-functional requirements C3. Apply object-oriented design methodology C4. Prepare a project definition document C5. Utilize and apply software development process models Prerequisite Courses– Fundamentals of Programming (CENG211) Having prior knowledge and experience in analysis and design methodologies will be very beneficial. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 318 | Human Computer Interaction | A review of HCI concepts and history, input devices and interaction techniques, information appliances, user interface design paradigms, 3D user interfaces, adaptive interfaces, user modeling, speech recognition and conversational interfaces, wearable computers, multimodal interfaces, and perceptual interfaces. Course Objectives To introduce students with the methods and principles of human factors Recommended or Required Reading Dix, A., Finlay, J. , Abowd, G., and Beale, R. ;2003; “Human-computer interaction (3rd ed.)”; Prentice Hall. ,Preece, J., Rogers, Y., and Sharp, H.;2002; “Interaction design : beyond human-computer interaction”; John Wiley & Sons. ,Norman, D.; 1988; “The design of everyday things”; New York: Basic Books. ,Carroll, J.M. ;2001; “Human Computer Interaction in the New Millenium”; Prentice Hall. Learning Outcomes: 1.To be able to gain an understanding of human-computer interaction theory and research.
Grading Midterm : 10% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 322 | Operating Systems | The course provides the main operating system functionalities and implementation details. It covers basic operating systems concepts, introduces process concepts and process management policies, discusses main memory and virtual memory techniques, and storage and I/O management issues. Course Objectives 1. Understand basic operating systems concepts. 2. Understand process/thread execution, synchronization, and scheduling issues. 3. Understand operating system memory management policies. 4. Understand storage management techniques. Recommended or Required Reading A. Silberschatz, P.B. Galvin, G. Gagne: Operating System Concepts, 10th Edition, John Wiley & Sons, 2018. Learning Outcomes: 1. Analyze and design modern architecture and operating systems by acquiring the basic concepts of operating systems. 2. Analyze systems that include operating systems and identify related problems. 3. Compare different solution methods for operating system problems and choose the most appropriate one.
Grading Midterm 20% Assignments 40% Final 40% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 323 | Project Management | Reference book(s):
Course Objectives: By the end of this course, students will be able to: Comprehend the software development lifecycle, covering aspects such as problem analysis, software requirements analysis, and software project management.
In this course, a project description is given to the class, and students form teams of 5-8 members. Each team participates in a range of activities, from preparing the project charter to problem analysis, requirements analysis, and software project management. The output documents of these activities are the Project Charter, the Problem Analysis Report (including AS-IS and TO-BE), the Software Requirement Specification, and the Software Project Management Plan.
Grading: Course Learning Outcomes: C1.To be able to recognize the personal and technical properties required for a project manager. Overlapping with or complementing topics in courses: Familiarity with the fundamentals of the field
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 370 | Mainframe Computing | Mainframe Computers, Hercules mainframe emulator, VM/SP Operating System, GCS/RSCS, Rexx and COBOL Programming Course Objectives This course introduces students to the fundamentals of mainframe computer systems, including their history and their current implementations on personal computers. Recommended or Required Reading IBM.(1988). Virtual Machine/System Product Release 6Terminal Reference, IBM,GC19-6206-05, IBM Press ,Hugenbruch,BrianW,The Basics of Using z/VM, IBM Press, www.vm.ibm.com/education/basics/j0usezvm.html ,Fosdick, Howard. (2005). Rexx Programmer’s Reference, Wiley Publishing ,IBM. (1982).VM-SP Introduction,GC19-6200-1 File No. S370/4300-20, IBM Press ,IBM. (1984). VM/SP Installation Guide, Release 3.1,IBM Press ,Lewis,Richard.(2015).z/VM For beginnersHands onLab,share.confex.com/share/125/webprogram/Session17471.html ,IBM.(2012).Introduction to the newMainframe,www.redbooks.ibm.com/abstracts/sg246366.html Learning Outcomes 1. Learn the workings of the IBM mainframe operating systems
Grading Midterm 20% Homework 30% Research Presentation 25% Final 25% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 381 | Stochastic Processes | A brief review of the concepts of probability, random variables, and parameters; probability distributions; moments; inequalities related to probabilities; the central limit theorem; stochastic processes; the Poisson process; birth-death processes; Markov chains; an introduction to queueing theory and its fundamental concepts; Little’s Law; and M/M/1 queueing systems. Course Objectives To develop the ability for stochastic, logical, and mathematical thinking. To build the foundational knowledge necessary for understanding stochastic systems. To equip students with the ability to analyze and interpret simple queueing systems. To foster the ability to understand and interpret certain performance criteria of stochastic systems. To possess knowledge of classical and computationally intensive statistical methods, and to be able to perform probabilistic modeling. Recommended or Required Reading Arnold O. Allen.(1990) Probability, Statistics, and Queueing Theory with Computer Science Applications. (2nd Ed.), Academic Press, Boston,Sheldon M. Ross (1996) Stochastic Processes, (2nd Ed.) J. Wiley & Sons. New York Learning Outcomes 1.The ability to understand and define random variables. 2.Gaining knowledge of stochastic processes and the ability to perform basic analyses. 3.The ability to understand queueing systems and to analyze simple queueing models. 4.The ability to compute and analyze certain performance criteria in queueing systems.
Grading Midterm: 40% Final: 60% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 382 | Information Theory | An introduction to Shannon’s information theory and elementary binary coding schemes with and without noise. The concept of information, entropy, simple sources, Markov sources, continuous sources, information channels, average error, ambiguity, transformation, capacity, noiseless coding, Kraft-McMillan theorem, Shannon-Fano and Huffmann coding schemes, error-correcting codes, linear codes, cyclic codes. Data Compression. Course Objectives: To teach the fundamental concepts of information theory. To teach that how to define and formulate the problems of communication and signal processing. Teaching that how to solve the problems for communication and signal processing. Recommended or Required Reading: T. M. Cover, J. A. Thomas, ‘Elements of Information Theory’, 2nd. Edition, Wiley,2006 ,P. S. Nuggehalli, ‘Information Theory and Coding’, CEDT, IISc, Bangalore, http://nptel.iitm.ac.in/courses/Webcourse-contents/IISc-BANG/Information%20Theory%20and%20Coding/Learning%20Material%20-%20ITC.pdf ,R. G. Gallager, ‘Principles of Digital Communication’, Chapters 1 to 3, Cambridge Univ. Press, 2008 ,R. G. Gallager, ‘MIT 6.450 Principles of Digital Communications I, Lectures 1 to 7’; YouTube: MIT OCW, 2006 ,R. W. Yeung, ‘A First Course in Information Theory’, NY: Kluwer Academic/Plemu Publishers, 2002 ,A. E. Gamal and Y.-H. Kim, ‘Lecture Notes on Network Information Theory’, online, 2010 Learning Outcomes: 1. To do analyzing and modeling by using of fundamental concepts of information theory for signal processing and communication. 2. Analyzing, defining and doing research capability for the new requirements of information theory depend on technological evolution. 3. To have the ability for analyzing, developing and using of information theory for interdisciplinary projects. 4. To be able to measure and analyse the signal proceesing and communication quality and efficiency.
Grading: Midterm: 25% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 383 | Real-Time Systems | Specification and verification techniques for real-time systems with many interacting components. formal design of real-time systems using (a) programming languages with unambiguous semantics of time – related behavior and (b) scheduling algorithms. Real-time operating systems, concepts of programming languages for real-time systems. Synchronous programming languages for reactive systems and their mathematical background. Software development for real-time systems. Course Objectives To introduce the fundamentals of real-time systems. To be able to create real-time operating systems. Recommended or Required Reading Phillip Laplante, Real-Time Systems Design and Analysis – An Engineer’s Handbook, IEEE Press, 1993. S.H.Son, Advances in real-time systems, Englewood Cliffs, N.J.: Prentice Hall, c1995. Learning Outcomes 1. To classify various kinds of real-time systems
Grading Written Midterm Exam: 20% Written Final Exam: 30% Assignments: 10% Term Project: 40%
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 384 | Microprocessors | 8051 hardware and software. 8051 assembly language. 8051 architecture. 8051 I/O port programming, timer programming, serial port programming, interrupt control. Course Objectives Elements of microprocessors and microcomputers, software and hardware for microprocessors; microcontrollers; embedded system design with microcontrollers, memory interface, analog-digital input/output interfaces and interrupt interface of typical microprocessors/controllers; programming with assembly. Recommended or Required Reading The 8051 Microcontroller, 4th Edition (2007) Prentice- Hall [Scott MacKenzie, Raphael Chung-Wei Phan] (textbook) Learning Outcomes OC1: Teaching 8051 programming with assembly language.
Grading Midterm 40% Final 20% Lab 40% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 385 | Mathematical Logic | Using propositional, predicate and temporal logics, in order to logically analyse, specify and solve complex problems. Course Contents 1.Specify in mathematical logics sentences given in natural languages 2.Infer mathematical conclusions from specifications given in mathematical logics 3.Specify mathematically uncertainty, multi-valence interpretation and temporal change of complex problems 4.Solve sample complex problems using automated reasoning applications Recommended or Required Reading Mendelson, Elliott; 1997; “Introduction to mathematical logic”; Chapman& Hall; ISBN 0-412-80830-7 ,Bell,J.L.; 1997; “A course in mathematical logic”; 1997; N.H.; ISBN 0-7204-2844-0 ,Kelly, John; 1997; “The Essence of Logic”; ISBN 0-13-396375-6 ,Enderton, Herbert B.; 2001; “A mathematical introduction to logic”; Academic Press; ISBN 0-12-238452-0 ,Gabbay, Dov M.; 2000; “Temporal logic:mathematical foundations and computational aspects”; Oxford: Clarendon press; ISBN 0-19-853768-9 Learning Outcomes 1. Resolve ambiguities in natural language sentences 2. Specifies problems in mathematical logics 3. Explains mechanisms for automated reasoning 4. Develops logical systems
Grading Midterm: 24% Quiz: 6% Homework: 10% Presentation: 30% Final: 30% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 386 | Fuzzy Logic Systems | Analyse the mathematical basics of fuzzy logics; analyse properties of theoretical fuzzy logical systems; model flexible human logics using fuzzy systems; develop applications of sample fuzzy systems. Course Objectives 1.Learn the mathematical basics of fuzzy logics. 2.Learn properties of fuzzy logical systems. 3.Develop sample applications that mimic the flexible logic of human. Recommended or Required Reading Nguyen, Hung. T; Walker, Elbert A.; 2005; “A First Course in Fuzzy Logic”, 3rd Edition; Chapman & Hall/CRC; ISBN-10: 1584885262; ISBN-13: 978-1584885269 ,Yen, John; Langari, Reza; 1999; “Fuzzy Logic: Intelligence, Control, and Information”; Prentice Hall; ISBN-10: 0135258170; ISBN-13: 9780135258170 ,Sivanandam, S.N.; Sumathi, S.; Deepa, S.N.; 2006; “Introduction to Fuzzy Logic Using MATLAB”; Springer; ISBN-10: 3540357807; ISBN-13: 978-3540357803 Learning Outcomes 1. Model adaptive logic using fuzzy logic 2. Simulate flexible system behaviours using fuzzy logic 3. Develop possibilistic systems 4. Evaluate reasonable system behaviour
Grading Midterm: 10% Quiz: 10% Homework: 10% Presentation: 20% Final: 30% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 388 | Web Programming | Web and .NET framework, software development with ASP.NET, web services programming, MVC programming. Recommended or Required Reading Cal Henderson, Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications, O Reilly Media, 2006. ,John Allspaw, The Art of Capacity Planning: Scaling Web Resources, O Reilly Media, 2008 ,Theo Schlossnagle, Scalable Internet Architectures, Sams, 2006 Learning Outcomes Upon the completion of this course a student : 1. To introduce Web software development with ASP .NET
Grading Midterm: 25% Homework: 40% Final: 35% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 389 | Mobile Application Development | This course covers the fundamentals of programming mobile devices, how to access and use mobile device hardware, and the interaction between mobile apps and web services. Topics include the design and implementation of user interfaces on the Android platform, cross-platform mobile application development, and programming with sensor such as the camera and the GPS. Course Objectives To develop mobile device programming skills. To familiarize with the Android platform components. The develop practical skills in integrating mobile applications and web services. Recommended or Required Reading Android Programming: The Big Nerd Ranch Guide by Bill Phillips, Brian Hardy, 2nd Ed. Learning Outcomes Be able to explain the fundamental concepts of mobile device programming Be able to design and implement mobile application user interfaces Be able to design and implement mobile applications that utilize network services Be able to analyze the user experience of mobile applications
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 390 | Cloud Computing | This course provides a hands-on comprehensive study of Cloud concepts, the history and fundamentals of cloud computing across various cloud service models including IaaS, SaaS, PaaS, including requirements, constraints, architecture, principals, areas of implementation, advantages/disadvantages and comparison to hybrid and local architectures. PaaS topics covers a range of Cloud platforms such as Google App Engine, Amazon Web Services(AWS), Microsoft Azure and others. Topics include the design, development and implementation of cloud based mobile applications, web applications, databases and systems as well as migrating existing software applications to the cloud, working on hybrid solutions. Course offers wide range of case studies of globally recognized technology startups, products and brands which are built on cloud platforms and analyze and review them in terms of technology, operations, finance, branding and business plan aspects. Course Objectives To introduce cloud concepts, principals and evolution of cloud computing paradigm. To develop mobile application, web application and software development & programming skills on cloud architecture and cloud platforms. To discuss and understand parallel processing, storage, security, scalability, management issues and benefits of the cloud services and architecture. Recommended or Required Reading K. Hwang, G. Fox and J. Dongarra, Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, Elsevier, 2012 Learning Outcomes Be able to explain the fundamental concepts of cloud computing Understand the advantages and disadvantages of cloud computing systems and be able to use tools on cloud platforms When developing an application or system, be able to determine and decide on the appropriate platform and configuration by understanding non-functional requirements and considering aspects such as cost, performance, suitability, and security Be able to design and implement mobile or web applications that run on PaaS platforms such as Amazon Web Services, Microsoft Azure, and Google App Engine Be able to analyze and monitor applications built on cloud systems and optimize the system according to changing requirements Be able to productize, brand, and commercialize software developed on cloud systems by establishing it as a company and launching it to the market
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 391 | Introduction to Image Understanding | This course covers the basic image processing techniques and approaches for image content analysis.. The course content includes memory representation of images, basic image processing techniques, keypoint extraction and description, image matching and fundamentals of camera geometry. Course Objectives The main aim of the course is to familiarize the students with image processing and image content analysis. The course’s target audience is advanced undergraduate and beginning graduate students. The course will play a preparatory role for the graduate courses covering topics such as digital image processing and 3D photography. Recommended or Required Reading Computer Vision: Algorithms and Applications, R. Szeliski, 2010 Learning Outcomes: To be able to apply image analysis methods to industrial problems
To be able to compare different image content analysis methods for a given problem
To be able to use basic image processing methods in problem solving
To be able to list basic image processing methods and their features
|
Fourth Year
| Course Code | Course Name | Description | Prerequisite(s) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CENG 400 | Summer Practice | ReferenceDepartment of Computer Engineering Internship Directive Course ObjectivesThe purpose of the internship is to enable students to put into practice the theoretical knowledge they have acquired in their field of study. Through this process, students begin to get acquainted with the professional world and start identifying the areas of interest that may shape their future careers. An internship also helps computer engineering students gain knowledge about the structure and management of an organization, as well as the information systems and system analysis conducted within the company. The internship allows students to engage in practical work, understand the overall structure of the firm, and participate in ongoing projects. Weekly PlanThe internship must be completed in a minimum of 20 working days. Internship dates must not conflict with academic semester dates or the summer school period. DeliverablesThe following documents must be submitted at the end of the internship: – Internship Report – Company Survey – Student Survey GradingInternship Report – 100% Learning OutcomesLO1. Ability to transfer theoretical knowledge acquired during university education to real-life applications. LO2. Awareness of the computer engineering profession, including its roles and responsibilities. LO3. Ability to observe the working environment during the internship and identify a preferred industry sector. LO4. Ability to develop solutions individually or as part of a team for problems encountered in practice. LO5. Ability to improve verbal and written communication skills and understand the importance of foreign language proficiency. LO6. Ability to present acquired knowledge in the form of a formal report. PrerequisiteIt is recommended that students complete all coursework up to the end of the third year. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 411 | Professional Issues in Computer Engineering | Study of the larger ethical and social issues of computing, including the role of a digital society in the modern world. Practical and theoretical applications of computer privacy and security, including network security measures and encryption protocols. Ethical theory and its application to problems in computing. Seminar discussion on valuesystems, social impact, and human factors, and about use and misuse of computers. Course Objectives: – To learn ethical concepts in information technologies – To learn concepts about ethical theories – Learning privacy and property rights issues Learning Outcomes: 1.Understanding the ethical phenomenon and legal dimensions in information technology. Recommended or Required Reading
Grading: Midterm 40% Homework 10% Final 50% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 415 | Senior Design Project & Seminar I | Writing technical reports, project management and planning, system analysis, requirement analysis, engineering ethics, data design, software design, presenting a project Learning Outcomes: 1.To be able to identify problem.
Grading Homework: 75% Application/ Practical: 25% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 416 | Senior Design Project & Seminar II | Invited speakers, change management, coding documentation, coding standards, testing, reliability, security, protyping, user manuals, group demos. Learning Outcomes: 1. To be able to identify problem.
Grading Application/ Practical: 25% Presentation: 75% |
CENG 415 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 418 | Information Security | Information Security is a comprehensive study of the principles and practices of computer system security including operating system security, network security, software security and web security. Topics include common attacking techniques such as virus, trojan, worms and memory exploits; the formalisms of information security such as the access control and information flow theory; the common security policies such as BLP and Biba model; the basic cryptography, RSA, cryptographic hash function, and password system; network intrusion detection; software security theory; web security; legal and ethical issues in computer security. Course Objectives The main goal of this course is to provide students with a background, foundation, and insight into the many dimensions of information security and to support them to understand information security’s importance in our increasingly computer-driven world. Recommended or Required Reading Computer Security: Art and Science, ISBN 0-201-44099-7; Publisher Addison Wesley Professional; Copyright 2003 Learning Outcomes 1. Students learn the common security threats in digital world. 2. Students learn the foundational theories of information security. 3. Students learn what are the basic principles and techniques when designing a secure system.
Grading Midterm 25% Quiz 20% Homework 20% Final 35% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 421 | Network Programming | This course covers all aspects of TCP/IP and network programming. Starting with a review of IP and TCP, including its services and Ipv6, we will then learn about socket programming, web programming (PHP and MySQL), and time permitting, we will be exploring new trends in networking and programming. Course Objectives: To gain experience on TCP/IP programming. * To gain experience on PHP and MySQL web programming. Recommended or Required Reading Data Communications and Networking, Behrouz A. Forouzan ,Course Web Site: http://www.kalfaoglu.com/ceng421 Learning Outcomes 1. To acquire knowledge on TCP/P layers and its applications. 2. To program in C/C++ using TCP sockets 3. To be able to create a full-fledged web site using PHP, MySQL and HTML. 4. To improve the student s ability to write programs
Grading: Midterm: 40% Homework: 20% Final: 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 422 | Network Design & Management | LAN/WAN analysis and design; LAN standards, internetworking, recent technologies, LAN design procedures; WAN design, network services, WAN design procedures; LAN management, SNMP (simple network management protocol); design tools, network simulators. Course Objectives To introduce analysis and design techniques for LAN and WAN. To give the latest network technologies. Recommended or Required Reading Arne Mikalsen, Per Borgesen, Local Area Network Management, Design & Security (Paperback), Wiley; 1st edition (June 15, 2002) ,Andrew S. Tanenbaum, Computer Networks, Prentice-Hall Learning Outcomes 1. To have the necessary knowledge and experience to design LANs and WANs 2. To demonstrate the ability of analysing and configuring network protocols 3. To demonstrate the ability of designing a new protocol 4. To have the experience and familiarity with simulators and other tools to analyse and design networks 5. To know the fundamentals of network security
Grading Midterm 30% Homework 35% Final 35% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 424 | Embedded Computer Systems | Nature of embedded systems, particular problems, special issues; role in computer engineering; embedded microcontrollers, embedded software; real time systems, problems of timing and scheduling; testing and performance issues, reliability; low power computing, energy sources, leakage; design methodologies, software tool support for development of such systems; problems of maintenance and upgrade; networked embedded systems; FPGA design issues. Course Objectives To introduce embedded computer systems and applications together with their analysis and design. Recommended or Required Reading Berger, Arnold. Embedded systems design:an introduction to processes tools and tecniques. San Francisco;Lawrence, Kan: CMP Books, c2002 ,Adamski, Marian Andrzej. Design of Embedded Control Systems, Boston, MA : Springer Science+Business Media, Inc., 2005. ,Tebbs, David. Real time systems: management and design, McGraw-Hill London 1977 ,Herman Lam, John O Malley, Fundamentals of Computer Engineering: Logic Design and Microprocessors, Wiley. ,Enoch O. Hwang, Digital Logic and Microprocessor Design with VHDL. Learning Outcomes:
Grading Midterm : 10% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 431 | Building Software Systems | Object oriented analysis and design. UML usage. Advanced topics of object oriented programming. Software reuse, refactoring, unit testing. Fundamental design patterns. Software components, libraries and framework usage and ve creation. Course Objectives 1. To provide students with the ability of object oriented analysis and design. 2. To provide students with the ability of object oriented design programming. 3. To teach reuse, refactoring, unit testing subjects. 4. To teach fundamental design patterns at intermediate level. 5. To provide students with the fundamentals of software components and software frameworks. Recommended or Required Reading X. Jia, Object-Oriented Software Development Using Java. , Addison Wesley. 2nd Edition, 2003. ,C. Larman, Applying UML and Patterns , Prentice Hall, 3rd Edition, 2004. ,M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts, Refactoring: Improving the Design of Existing Code , Addison-Wesley, 1999. Learning Outcomes Upon the completion of this course a student : 1. Know interleaved activities between specification, design, coding and testing 2. Use Object Oriented architecture components 3. Know and compare different software system development approaches 4. Analyze problems, design and implement solutions 5. Demonstrate the ability to abstract in software systems context 6. Apply software engineering methods to real world problems
Grading Midterm 30% Final 40% Homework 30% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 432 | Fundamentals of Enterprise Application Development | Course Objectives:
Submissions/Homeworks/Projects: In this course, an ERP requirement document is given to project groups consisting of 5-6 members. Each team determines which SAP modules and processes will be included based on the requirement document and submits a detailed project report including FS (Functional Specification) and TS (Technical Specification) documents. Grading: Midterm %30 Course Learning Outcomes: C1. To be able to define and explain different types of Enterprise Applications C2. To be able to describe the development and implementation strategies of Enterprise Applications C3. To be able to demonstrate configuration, customization and programming of Enterprise Applications with examples using SAP sources |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 433 | Scalable Software Development for Internet | Logical / physical arhitecture design and server components, performance measurement, advanced caching strategies, horizontal scaling with MySQL and handling peak load. Course Objectives The goal of this course is to dive into advanced software development, architecture design topics for Internet projects. At the end of the term, expected outcome is to establish the basis of a background with which students can design and implement sites that can scale up to thousands of concurrent users. Recommended or Required Reading http://www.infoq.com/ ,http://aws.amazon.com/ ,http://www.slideshare.net/Blaine/scaling-twitter ,Cal Henderson, Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications, O Reilly Media, 2006 ,John Allspaw, The Art of Capacity Planning: Scaling Web Resources, O Reilly Media, 2008 ,Theo Schlossnagle, Scalable Internet Architectures, Sams, 2006 ,Martin L. Abbott and Michael T. Fisher, The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise, Addison-Wesly, 2009 ,http://highscalability.com/ ,http://www.ahmetalpbalkan.com/blog/put-io-nun-altyapisi-ve-olceklenebilirligi-uzerine-roportaj/ Learning Outcomes 1. To be able implement sites that can scale up to thousands of concurrent users. 2. To develop a project on Play Framework. 3. To be able implement various cache mechanisms 4. To be able to perform horizontal scaling with MySQL and handling peak load
Grading Midterm 15% Research Presentation 60% Final 25% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 434 | Enterprise Application Integration | This course topics include types of enterprise application integration, their design and implementation issues as well as their qualites such as security, reliability and fault tolerance. Course Objectives 1. To provide with the ability of web service programming. 2. To provide with the ability of enterprise integration programming. 3. To provide with the ability to develop multi-layer enterprise integrations. 4. To provide students with the fundamentals of enterprise integration deployment. Recommended or Required Reading K. Hammer, T. Timmerman, Fundamentals of Software Integration , Jones & Bartlett Publishers, 2007. ,G. Hohpe, B. Woolf, Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , The Addison-Wesley Signature Series, 2003. Learning Outcomes Upon the completion of this course a student : 1. Use web service based programming techniques. 2. Know and compare different enterprise software integration approaches. 3. Analyze enterprise integration problems, design and implement solutions. 4. Demonstrate the ability to abstract in enterprise integration context. 5. Apply enterprise applicaton integration methods to real world problems.
Grading Midterm: 30% Research Presentation: 40% Final: 30% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 435 | Database System Design and Implementation | Revisiting database systems, data definition, relational algebra, disk management, file management, memory management, transaction management, record management, metadata management, query processing, parsing, planning, database server, indexing, query optimization Course Objectives To master the topic of data management in computer science field, to be able to produce parts of a database management system, to gain to skill of researching Recommended or Required Reading E. Sciore, Database Design and Implementation, Secon Edition, Wiley, 2020., M. Fisher, J. Ellis, J. Bruce, JDBC(TM) API Tutorial and Reference , 3rd Edition (Java Series), Addison Wesley, Reading, Massachisetts, 2006. Learning Outcomes 1. To install SimpleDB database management system, customize it as required 2. To develop applications that realize all the functions of a database management system 3. To learn the approaches and methods behind the functions of a database management system 4. Finding, implementing and presening solution to an engineering problem by means of software development in a team
Grading Midterm 30% Research Presentation 30% Final 40% |
CENG 315 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 436 | Distributed Information Management | This course investigates principles of distributed database systems including design and architecture, security, integrity, query processing and optimization, transaction management, concurrency control, and fault tolerance. The course blends theory with practice in that each student will use distributed database concepts to develop a JDBC application and to implement a JDBC driver onto Web-based distributed databases. Course Objectives 1.To enrich his technical background 2.To make him able to think analytically 3.To gain the skill of proposing solutions for a given need 4.To gain the skill of using new technologies. Recommended or Required Reading M. T. Ozsu and P. Valduriez, Principles of Distributed Database Systems , Springer, 3rd Edition, 2011 Learning Outcomes Upon the completion of this course a student : 1. Learn design and planning principles of distributed database management systems 2. Gain the ability of creating and using distributed database 3. Learn the methods to provide consistency and security methods in distributed database management systems 4. Learn query optization in distributed databases in detail 5. Gain the skills to prepare projects as teams
Grading Midterm: 30% Research Presentation: 30% Final: 40% |
CENG 315 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 437 | Software Quality Management | This course covers the topics of software quality management, quality management paradigms (CMMI, ISO, IEEE), methods used in quality management, enhancement of quality process, management of quality cost, error, preventive error avoidance. Course Objectives This course aims to teach software quality management within software development lifecycle. Recommended or Required Reading John W. Horch, “Practical Guide to Software Quality Management”, Addison Wesley, 2003. Learning Outcomes Ability to explain the components of Software Quality Assurance Ability to apply quality components starting from the early stages of the project Ability to measure the effectiveness of Software Quality Assurance processes Ability to control the impact of Software Quality Assurance processes on the project budget and schedule
|
CENG 316 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 441 | Introduction to Parallel Programming | Introduction to the programming techniques to effectively utilize modern multicore computers. Identifying the parallelism, naming shared data, synchronizing threads, the latency and bandwidth associated with communication, analyzing & improving parallel performance, parallel programming tools, miscallenous lab works & exercises. Course Objectives To teach the parallel programming models. To teach and analyzing the different parallel programming tools. Teaching the parallelization methodologies by experimentally. To teach the analyzing methodology of a parallelized algorithm. Recommended or Required Reading Grama, A. Gupta, G. Karypis, V. Kumar, ‘Introduction to Parallel Computing’, Addison-Wesley, 2nd Ed., 2003 , Behrooz Parhami, ‘Introduction to Parallel Processing Algorithms and Architectures’, Plenum Series in Computer Science, 1999 Learning Outcomes 1. Analyze the requirements for the usage of parallel programming models and efficiently implement them. 2. Comparing different parallel programming methodologies and tools, then effectively take a decision which one will be used. 3. Efficiently analyzing and conversion of sequential algorithm to parallel algorithm. 4. Analyze the efficiency of a parallelized algorithm.
Grading Midterm: 25% Homework: 30% Research Presentation: 20% Final: 25% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 442 | Multicore Architectures and Operating Systems | An evolutionary approach to the multicore architectures, integration of multicore architectures with operating systems, OS kernel design for multiprocessors and multithreding, OS support for threads, User level threads, Kernel level threads, An example: Solaris threads, Threads and libraries, Hardware support for multithreading in a uniprocessor and in a multiprocessor. Course Objectives To teach the components and steps of the architecture design for multicore structures. To teach the contemporary operating systems and multicore architecture design models. To develop the critical thinking and analyzing for the relationship between operating system and multicore architecture design. Recommended or Required Reading U. Ramachandran, W. D. Leahy Jr.,’Computer Systems: An Integrated Approach to Architecture and Operating Systems’, Addison Wesley, 2010 ,C. Hughes,T. Hughes,’Professional Multicore Programming Design and Implementation for C++ Developers’, Wiley Publishing, Inc., 2008 ,B. Parhami, ‘Introduction to Parallel Processing Algorithms and Architectures’, Plenum Series in Computer Science, 1999. Learning Outcomes: 1. Analyze and implement the design steps of computer architecture by using different multicore architecture models. 2. Analyzing the components of the operating systems for multicore architectures. 3. Analyzing hardware design problems of multicore architectures. 4. Analyzing the limits of solutions and restrictions of operating systems for different multicore architecture models.
Grading Midterm: 30% Presentation: 35% Final: 35% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 443 | Heterogenous Parallel Programming | The course provides GPU-based heterogeneous programming basics. It covers the basic concepts of parallel architectures and parallel programming, CUDA programming model topics, and practical examples by presenting the fundamentals of accelerated computing with CUDA. Course Objectives 1. Understand CPU-GPU heterogeneous architectures. 2. Design and implement heterogeneous parallel programs. 3. Understand GPU execution units and memory hierarchy to foster execution performance. 4. Understand performance evaluation and optimization methods targeting GPU devices. Recommended or Required Reading – David B. Kirk, Wen-Mei W. Hwu: Programming Massively Parallel Processors: A Hands-on Approach, Morgan Kaufmann Publishers – NVIDIA Accelerated Computing Teaching Kit – NVIDIA Deep Learning Institute (DLI) Workshops Learning Outcomes: 1. To demonstrate the ability to design and implement programs for heterogeneous parallel programming platforms 2. To demonstrate the experience to apply the parallel programming patterns on various programming problems 3. To be able to analyze the parallel program performance and make performance optimizations
Grading Midterm: 20% Assignments/Final Project: 40% Final: 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 444 | Parallel Programming Patterns | The course presents basic parallel algorithm design skills and parallel programming patterns. It covers the basic concepts of parallel architectures and parallel programming, OpenMP programming model topics, and control and data patterns by presenting the fundamentals of parallel software development. Course Objectives 1. Understand shared-memory parallel architectures. 2. Design and implement parallel programs for multicore systems. 3. Understand parallel program execution and performance optimization techniques. 4. Understand parallel software development techniques and programming patterns. Recommended or Required Reading – Arch Robison, James Reinders, and Michael David McCool, Structured Parallel Programming: Patterns for Efficient Computation. Learning Outcomes: 1. To be able to understand the parallel programming problems and related patterns 2. To demonstrate the experience to apply the parallel programming patterns on various programming problems 3. To be able to make a qualitative evaluation of different programming patterns and models
Grading 20% Midterm Exam 40% Assignments/Final Project 40% Final Exam |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 451 | Advanced Digital System Design | Finite state machine design and analysis; high-level hardware description languages, VHDL, automated synthesis in design; digital integrated circuit design and advanced design principles; electrical properties of digital circuits, synchronous and asynchronous circuits, computer arithmetic, and interfacing to external circuitry, digital system testing and design for testability; implementation of embedded computing systems in terms of Application Specific Integrated Circuits; Design for reuse. Course Objectives To give the students design issues of embedded system hardware and to introduce the latest technologies. Recommended or Required Reading Berger, Arnold. Embedded systems design:an introduction to processes tools and tecniques. San Francisco;Lawrence, Kan: CMP Books, c2002. Learning Outcomes Ability to analyze complex digital circuits Ability to design complex digital circuits Demonstrating the ability to use VHDL in hardware design Having fundamental knowledge of digital signal processing Ability to use design tools
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 452 | Building Software for Embedded Systems | Design and implementation of software for programmable embedded systems; software tools such as compilers, schedulers, code generators, and system-level design tools; data-flow and control models of computation and software synthesis for uniprocessor and multiprocessor architectures; synchronous/reactive languages and their mathematical properties; implementation of signal processing, communication and control algorithms using variety of technologies such as digital signal processors, microcontrollers, FPGAs, ASICs and real-time operating systems; real-time kernel design; software implemented fault-tolerance techniques. Course Objectives To give students the knowledge of latest technologies on software development for various types of embedded systems. Recommended or Required Reading Berger, Arnold. Embedded systems design:an introduction to processes tools and tecniques. San Francisco;Lawrence, Kan: CMP Books, c2002. ,Adamski, Marian Andrzej. Design of Embedded Control Systems, Boston, MA : Springer Science+Business Media, Inc., 2005. ,Tebbs, David. Real time systems: management and design, McGraw-Hill London 1977. Learning Outcomes: 1. Have knowledge on the requirements of embedded software development 2. Have knowledge on various standards and tools 3. Be able to analyze and design common algorithms used in various embedded systems 4. Be able to use the knowledge of software verification, validation and test on a real project
Grading Midterm: 30% Presentation: 30% Final: 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 461 | Artificial Intelligence | Declarative programming; problem solving; knowledge representation; reasoning; acting logically; uncertainty; learning; communicating. Course Objectives – To help students to conceptualize information representation and reasoning methods – To emphasize the relatioship between problem solving and logical behavior – To form the background for development of sophisticated applications that are capable of learning and can reason under uncertainty Recommended or Required Reading Russell, Stuart; Norvig, Peter; 1995; “Artificial Intelligence – A Modern Approach”; Prentice-Hall; 0-13-103805-2 ,- Luger, George F.; 1993; “Artificial intelligence: structures and strategies for complex problem solving”; Benjamin-Cummings; 0-80534-785-2 Learning Outcomes 1. Comprehension of different artificial intelligence techniques used for simulation of human behavior
Grading Midterm 30% Homework 30% Final 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 462 | Soft Computing | This course introduces students to the many concepts and techniques in Artificial Intelligence (AI). Topics covered include: problem spaces and search, heuristic search techniques, predicate logic, game playing techniques, planning, learning, natural language processing, and machine perception Course Objectives 1. Analysing cognitive models 2.Analysing interaction models 3.Develop sample smart systems Recommended or Required Reading Luger, George; Stubblefield, William; 2004; “Artificial Intelligence: Structures and Strategies for Complex Problem Solving”; The Benjamin/Cummings Publishing; ISBN 0805347801 ,Russell, Stuart; Norvig, Peter; 2003; “Artificial Intelligence – A Modern Approach”; Prentice-Hall; 0131038052 ,Giarratano, Joseph C.; Ritel, Gary D.; 2005; “Expert Systems – Principles and Programming”; Thompson Course Technology; 0534384471 ,Munakata, Toshinori; 2007; “Fundamentals of the New Artificial Intelligence Neural, Evolutionary, Fuzzy and More”; Springer; 9781846288395 ,Maedche, Alexander; 2002 ; “Ontology learning for the semantic web”; Kluwer Academic Publishing; 0792376560 ,Hjelm, Johan; 2001; “Creating the semantic Web with RDF: professional developer s guide”; John Wiley; ,Goertzel, Ben; Pennachin, Cassio; 2007; “Artificial General Intelligence”; Springer; 9783540237334 ,Nabiyev, Vasif V.; 2005; “Yapay Zeka”; Seçkin Yayıncılık; 9753479859 Learning Outcomes 1. Effectively use evolutionary computation in applications 2. Effectively use artificial neural networks in applications 3. Effectively use fuzzy logic in applications 4. By using these meta heuristics, provide applications with smart behaviours
Grading Midterm: 24% Quiz: 6% Homework: 10% Research Presentation: 30% Final: 30% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 463 | Introduction to Machine Learning | An introduction to the machine learning with examples in different application areas. Bayesian decision theory. Supervised learning techniques. Model selection. Dimensionality reduction. Clustering. Support vector machines. Graphical models. Introduction to neural networks. Reinforcement learning. Course Objectives 1. To form background related to the machine learning 2. To provide students with the ability of analyzing the machine learning problems and recognizing appropriate solution techniques 3. To develop the ability to implement proper solution algorithms to the problems given Recommended or Required Reading Ethem Alpaydın, Introduction to Machine Learning (2nd Edition), MIT Press, 2010. ,Christopher Bishop, Pattern Recognition and Machine Learning, Springer, 2006. ,Richard Duda, Peter Hart and David Stork, Pattern Classification, 2nd ed. John Wiley & Sons, 2001. ,Tom Mitchell, Machine Learning, McGraw-Hill, 1997. Learning Outcomes 1. To be able to describe the fundamental concepts in machine learning 2. To be able to analyze the machine learning problems and identify appropriate solution techniques 3. To be able to apply proper algorithms using proper tools to solve the encountered machine learning problems 4. To be able to interpret the output of the implementations from algorithmic point of view
Grading Midterm 30% Homework 30% Final 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 464 | Text Mining | In this course, we will cover important topics in text mining including: basic natural language processing techniques, document representation, text categorization and clustering, document summarization, sentiment analysis, social network and social media analysis, probabilistic topic models and text visualization. Course Objectives This course provides an opportunity to learn key components of text mining and analytics aided by the real-world datasets and the text mining toolkit written in Python. Hands-on experience in core text mining techniques including text preprocessing, sentiment analysis, and topic modeling help students be trained to be a data scientists. Recommended or Required Reading J. Eisenstein,” Introduction to Natural Language Processing”, MIT Press, 2019. ,S. Ghosh & D.Gunning, “Natural Language Processing Fundamentals”, Packt, 2019. Learning Outcomes 1. Using Python and NLTK (Natural Language Toolkit) to build out your own text classifiers and solve common NLP problems
Grading Midterm 25% Research Presentation 35% Final 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 465 | Principles of Data-Intensive Systems | In this course, students will gain knowledge in the following areas: Data models and query languages; storage and retrieval; replication and partitioning in distributed data; transactions; challenges of distributed systems, consistency, and consensus in distributed systems; batch and stream processing. Objectives of the Course The main aim of this course is to familiarize students with the fundamental concepts underlying a broad range of data-intensive systems. Students will learn to compare different approaches, techniques, and tools for storing and processing data, evaluate their strengths and weaknesses, and determine the most appropriate solutions for various application needs. Recommended or Required Reading Learning Outcomes 1. To be able to define the basic terminology used in data-intensive applications
Assessments Midterm 40% Project 20% Final 40% Supplementary Course: CENG315 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 467 | NATURAL LANGUAGE UNDERSTANDING AND GENERATION | This course focuses on deep learning methods for natural language understanding and generation. It covers tokenization and pre-training for language models, the transformer architecture, machine translation, parsing, summarisation, question answering, instruction fine tuning, ethics in NLP, in context learning and retrieval-augmented generation. The main objective of the course is to provide students with a basic knowledge of natural language processing, machine learning and programming with a more advanced knowledge of existing deep learning techniques for natural language understanding and generation. The target audience is senior undergraduate students. The course covers the foundations for the deep learning for natural language processing graduate course. The Natural Language Understanding and Generation course contributes to students’ ability to conduct research and develop products in the field of Generative Artificial Intelligence at the graduation stage.
Course Materials: Speech and Language Processing, D. Jurafsky and J.H. Martin, 3rd Ed., 2025. Midterm: 30% Assignments: 30% Final Exam: 40%
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 471 | Cryptography | Basic terminology, history & background, Symmetrical cryptosystems, DES-AES, DES-AES likes, Asymmetrical cryptosystems, primality, hashing, factorization based (RSA)- ECC-Lattice cryptosystems, cryptographic protocols & applications, secrecy, authentication, integrity-authenticity, digital signatures, standards. Course Objectives To teach the security functions. To teach that which security functions are realized by which cryptographic tools. Teaching the relationship between the historical evolution of the symmetrical/asymmetrical cryptosystems and the developments of the technological and social life. Teaching that how the measure of the security level for cryptographic solutions and how the implement the international standards. To teach the currently relevant security solutions of information and communication technologies. Recommended or Required Reading W.Trappe, L.Washington, ‘Introduction to Cryptography with Coding Theory’, Pearson, 2006 ,P. Gutman, ‘Cryptographic Security Architecture’, Springer, 2004 ,D. R. Stinson, ‘Cryptography, Theory and Practice’, Chapman & Hall/CRC Press, 2002 ,B. Schneider, ‘Applied Cryptography, Protocols, Algorithms, and Source Code in C’, John Wiley & Sons, 1996 Learning Outcomes 1. Analyze vulnerabilities, threats and which security functions are realized. 2. Selection, implementation and testing of cryptographic tools for essential security functions. 3. Objectively read the technological evolution and efficiently analyzing of new requirements for the cryptographic solutions. 4. Usage ability of the international standards for the developed cryptographic solutions. 5. Selection of the best solution and implementation ability for a cryptographic security solution depends on security requirements of domain.
Grading Midterm: 25% Homework: 30% Presentation: 20% Final: 25% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 472 | Network Security | Link Encryption, End-to-End Encryption, Network and Internet Based Attacks, Firewalls, Email Security Issues, Web Based Security Issues, Disaster Recovery, C2 Functionality Stand-alone vs Network Operation, Hackers and Crackers, Network Crackings. Course Objectives 1. To teach the fundamentals of computer network security. 2. To provide students with the fundementals of network package security. 3. To teach the fundementals of computer local/cooperate network security. Recommended or Required Reading w. Stallings, Network Security Essentials: Applications and Standards , Prentice-Hall, 2010. ,C. Kaufman, R. Perlman, M. Speciner, Network Security: PRIVATE Communication in a PUBLIC World , Prentice-Hall, 2002. Learning Outcomes 1. Know and compare different network security approaches. 2. Analyze network security problems, design and implement solutions. 3. Demonstrate the ability to abstract in security context. 4. Apply security engineering methods to real world problems.
Grading Midterm: 30% Presentation: 40% Final: 30% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 473 | Security of Information and Communication Technologies | Introduction to security of information and communication technologies, fundamental security functions and related cryptographic tools, network security and related problems, protection mechanisms and tool will be evaluated. Then current hot topic security problems will be analyzed for “cloud computing”, “web applications and services”, “wireless networks”, etc. and at last security management of information systems will be discussed. Students will have a term project for the course about an up-to-date problem of these topics, which they are interested in and will prepare a written report about it then, present their work. Course Objectives 1. To teach the security problems of information and communication technologies and related solution tools. 2. To teach the open security problems and their risks. 3. Teaching the unsolved security problems and continued researches for current information and communication technologies. 4. Teaching the designing, building and managing of a secure information system. Recommended or Required Reading B. Schneider, ‘Applied Cryptography, Protocols, Algorithms, and Source Code in C’, John Wiley & Sons, 1996 Learning Outcomes 1. Having the competence to analyze security risks related to information and communication technologies. 2. Being able to select and test the appropriate tools for solving security problems. 3. Gaining the ability to follow technological developments and identify potential security risks and threats. 4. Possessing the fundamental knowledge and methodology to carry out the security design and management of information systems.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 481 | Theoretical Approaches in Computer Science | Turning theoretical ideas into solution sets in computer science. Integration of mathematical approaches with general problem solving techniques and computer science applications. Topics will be from Algorithms, Complexity Theory, Game Theory, Probability Theory, Graph Theory, Automata Theory, Algebra, and Cryptography. Course Objectives To teach the fundamentals topics and theorems of computer science. To teach the research, analyze, compare and modeling techniques of computer science. To teach the hot topic concepts, research areas and problems of computer science. Recommended or Required Reading The text book/books are determined by decided topics. Learning Outcomes 1. Analyzing capability to find new requirements and problems of current application areas of computer scince 2. Defining and modelling capability of computer science hot topic research problems. 3. To have the vision and to be able to do an evaluation for the future career plans on computer science 4. To be able to apply fundamental theorems of computer science with interdisciplinary research and studies.
Grading Midterm: 20% Homework: 20% Presentation: 40% Final: 20% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 482 | Evolutionary Computation | Evolutionary computation methods, discrete and continuous optimization problems, software libraries for evolutionary computation, Genetic Algorithms, Genetic Programming, Evolution Strategies, Differential Evolution, Particle Swarm Optimization, Multi-objective optimization. Course Objectives This course aims to provide information about evolutionary computation techniques and their application to optimization problems. Recommended or Required Reading Introduction to Evolutionary Computing by A.E. Eiben and J.E. Smith, Springer, 2nd Edition Global Optimization Algorithms – Theory and Application –Thomas Weise, 2009 Essentials of Metaheuristics, Sean Luke, Second Edition, 2012 Learning Outcomes: 1. To be able to explain evolutionary computation and its main components. 2. To be able to identify the most appropriate evolutionary computation method to a given problem. 3. To be able to apply evolutionary computation methods to optimization problems. 4. To be able to design experimental studies for evolutionary algorithms
Grading:
Submissions: Project, Report Supplementary course: CENG 462 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 483 | Behavioural Robotics | Approach robotics mainly software- and application-oriented; inspect mechatronic parts and hardware architectures of robots; analyse software components and software architectures; analyse software architectures and their properties that might provide smart behaviours; analyse hardware and software requirements for collaborative robots; develop collaborative and smart appearing robot applications. Course Objectives 1. Learn hardware properties of robots (CO 1) Recommended or Required Reading Mataric, Maja J; 2007; “The Robotics Primer”; The MIT Press; ISBN 026263354x ,Craig, John. J.; 2003; “Introduction to Robotics: Mechanics and Control”; Prentice Hall; ISBN 0201543613 ,Jones, Joe; 2003; “Robot Programming: A Practical Guide to Behaviour-Based Robotics”; McGraw-Hill, ISBN 0071427783 ,Enderton, Herbert B.; 2001; “A Mathematical Introduction to Logic”; Academic Press; ISBN 0-12-238452-0 ,Kelly, John; 1997; “The Essence of Logic”; ISBN 0-13-396375-6 ,Bell,J.L.; 1997; “A course in mathematical logic”; 1997; N.H.; ISBN 0-7204-2844-0 ,Gabbay, Dov M.; 2000; “Temporal logic: mathematical foundations and computational aspects”; Oxford: Clarendon press; ISBN 0-19-853768-9 ,Lootsma, Freerk A.; 1997; “Fuzzy logic for planning and decision making”; Kluwer Academic Publishers; ISBN 0-7923-4681-5 Learning Outcomes 1. Distinguish robot types and behaviours 2. Use techniques for smart robot behaviours 3. Use techniques for collaborative robot behaviours 4. Develop robots from robotics kits
Grading Midterm: 20% Quiz: 10% Homework: 1o% Presentation: 20% Final: 30% Report: 10% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 484 | Data Mining | Knowledge discovery overview, data mining in general, data preparation, basics of data mining, association rule mining, classification and prediction, cluster analysis, web mining, data mining applications, term projects. Course Objectives 1.To enrich his technical background by meeting a new area, 2.To gain the skill of making research, 3.To be able to understand a complex problem and to be able to propose a solution, 4.To be able to manage a technical process, 5.To learn effective oral and written communication. Recommended or Required Reading J. Han, Data Mining: Concepts and Techniques , Morgan Kaufman, 2000. ,M. H. Dunham, Data Mining Introductory and Advanced Topics , Prentice Hall, Pearson Education, 2003. ,R. J. Roiger and M. W. Geatz, Data Mining A Tutorial Based Primer , Addison Wesley, 2003. ,M. J. A. Berry and G. S. Linoff, Mastering Data Mining , Wiley, 2000 Learning Outcomes 1. Learn the process of knowledge discovery and data mining algorithms 2. Gain the ability of using data mining tools 3. Understand a data mining problem, design the process overflow and implement the steps 4. Document and present a Project
Grading Midterm: 30% Presentation: 30% Final: 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 485 | Information Technology Entrepreneurship | In addition to an introductory treatment of business fundamentals in information technology, course topics will include paradigms, strategies and methods in goal setting, team formation, intellectual property, customer projects and business management for information technologies. Course Objectives This course aims to present an entrepreneurial perspective with particular emphasis on information technology. This course emphasizes the entrepreneurial mindset, which is necessary to create or grow economically viable enterprises in information technology business. Recommended or Required Reading Stephen Covey, The 7 Habits of Highly Effective People, Free Press, 2004. ,Thomas Friedman, The World Is Flat, 3.0, A Brief History of the Twenty-First Century, Picador, Paperback, 2007. ,Fuat Alican, Yol, 2010. Learning Outcomes 1. To know entrepreneurship in information sciences industry. 2 To understand entrepreneur vision and thinking. 3 To be prepared to build business and products. 4 To understand the sustainable growth concept.
Grading Midterm: 30% Presentation: 40% Final: 30% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 486 | Entrepreneurship for Smart Business | Components of smart business and its ecosystem. Automation of business processes. Business models for Smart Business and their implementation. Course Objectives Cloud computing, automation, data science and machine learning-based definition of Entrepreneurship for Smart Business. Recommended or Required Reading Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers Paperback – July 13, 2010 by Alexander Osterwalder (Author), Yves Pigneur (Author) ,Smart Business: What Alibaba’s Success Reveals about the Future of Strategy, Ming Zeng, Harvard Business Review Press, 2018. ,Dealing with Darwin: How Great Companies Innovate at Every Phase of Their Evolution Paperback – May 27, 2008 by Geoffrey A. Moore Ph.D. (Author) Learning Outcomes 1. To be able to identify the needs of the real (International Business) world 2. To be able to analyze chaotic business situations and improve using Internet-based technologies 3. To be able to identify critical components and systems that impact success in business 4. To be able to demonstrate development in data transformationa and pathway to smartness 5. To be able to demonstrate ability to improve business processes with automation and smartness in smart business
Grading Midterm: 25% Homework: 15% Presentaion: 25% Final: 35% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 487 | Introduction to Computer Graphics | This course covers rendering techniques and programming interfaces for Computer Graphics. The course topics include basic mathematical concepts in Computer Graphics (two and three dimensional transformations), lighting models, methods for basic scene modeling and visibility analysis. Application of these Computer Graphics techniques on modern hardware using OpenGL is also covered. Course Objectives The main aim of the course is to familiarize the students with basic concepts in Computer Graphics such as modeling, rendering, texturing, and lighting. The students will gain practice in applying their knowledge using standard programming interfaces such as OpenGL. Recommended or Required Reading Interactive Computer Graphics: A Top-Down Approach with OpenGL, by Edward Angel and Dave Shreiner Learning Outcomes 1. A bility to apply computer graphics techniques using standard programming interfaces
2. Ability to derive the mathematical relationship between 3D objects and image representations 3. Ability to compare different lighting models 4. Ability to optimize rendering software using visibility data structures
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 488 | Computer Graphics | This course covers advanced rendering techniques for Computer Graphics. The course topics include advanced lighting models, acceleration and volume rendering techniques. Acceleration of these Computer Graphics techniques on modern hardware is also covered. Course Objective The main aim of the course is to familiarize the students with advanced techniques in Computer Graphics topics such as modeling, rendering, texturing, and lighting. The students will also gain practice in applying their knowledge. Recommended or Required Reading Computer Graphics: Principles and Practice. 3rd Ed., J.F. Hughes et al. Learning Outcomes 1. Apply advanced computer graphics techniques in practice 2. Derive the mathematical equations for illumination and volume rendering techniques 3. Compare different kinds of lighting models 4. Optimize rendering software
Grading Midterm: 25% Homework: 30% Final: 35% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CENG 499 | Cooperative Education (COOP) | The CENG499 Cooperative Education (COOP) course aims to provide students with hands-on experience in real working environments through part-time positions in collaboration with the industry. As part of this course, students work part-time at partner companies for 13 weeks, one or two full days per week. To be eligible, students must be in their senior year, have a minimum cumulative GPA of 3.00, and successfully complete all courses from the first four semesters. CENG499 is a 3-credit (0+6) technical elective course. Through this course, students are expected to: · reinforce their theoretical knowledge through industrial applications, · develop project management, reporting, and communication skills in professional environments, · identify their career goals and establish strong connections with the industry. All work conducted during the course is evaluated based on the reports. Insurance and contract procedures are coordinated by the Faculty of Engineering Dean’s Office. You can access the Cooperative Education Regulation through the link. |
