CENG 500 Numerical Methods and
Optimization (3-0-3)
Optimization problems, extreme of functions
of n variables, linear programming and the
simplex method, non-linear programming,
definition of optimization, applications of
optimization problems.
CENG 502 Computer
Networks and Communication (3 0 3)
Basics of data communication, computer
networks, ISO /OSI basic reference model,
routing, flow control, congestion control,
TCP/IP suite of protocols, data links,
Internetworking, higher level protocols.
CENG 503 Image Processing
(3 0 3)
Discrete time signals, reconstruction,
quantization, digital image representation,
image fundamentals, image transforms, image
enhancement, image restoration,
segmentation, description, sampling.
CENG 505 Parallel
Computing I (3 0 3)
Parallel computers, parallelism and data
processing. Taxonomy of parallel
architectures. Interconnection networks.
Performance of parallel systems: speedup,
efficiency, cost, granularity and sources of
parallel overhead. Fundamental concepts:
memory hierarchy, communication, locality,
latency, synchronization, load balancing.
Parallel programming models: data parallel,
shared address space, message passing.
CENG 506 Microprocessors
and Embedded Systems I (3 0 3)
Basic components of a Single-Board-Computer.
Microprocessors and micro controllers.
Microprocessor based systems. Machine
coding, assembly language programming and
High-Level-Languages (HLL). Computer
architecture and assembly language.
Hardware-software design. From gates to
registers. Review of digital electronics.
Register model of memories, and input and
output (I/O) ports. Basic I/O protocols.
Interrupts.
CENG 507 Neural Computing
(3 0 3)
Fundamentals of neural Networks. Perception
,multilayer perceptions and backpropagation
algorithms. Unsupervised learning and self
organization maps. Neurodynamics (Hopfield
Model). Radial basis function networks.
CENG 508 Artificial
Intelligence I (3 0 3)
Exploring natural events, goal reduction,
finding solution paths, games, logic,
knowledge representation, natural language
of understanding, matching, applications.
CENG 509 Pattern
Recognition (3 0 3)
Machine perception, parameter estimation,
learning, linear discriminate functions,
clustering, scene analysis, Bayes decision
theory, non-parametric techniques,
applications of pattern recognition.
CENG 510 Parallel
Computing II (3 0 3)
Parallel programming languages and runtime
systems: data parallel languages, message
passing libraries and shared memory
programming, multithreading. Parallel
methods for scientific computations in the
areas computational physics, computational
chemistry and other disciplines. The main
aim of the course will be
understanding/development of
parallel/distributed algorithms
CENG 511 Algorithms (3 0
3)
The Complexity of Algorithms. Lower and
Upper Bound Theory. Design of The
Divide-and-Conquer, The Greedy Approach,
Dynamic Programming, Backtracking,
Branch-and-Bound. NP-Complete and NP-Hard
Problems, Deterministic and
Non-Deterministic Polynomial Type
Algorithms, Introduction to Cryptography
Algorithms, Public Key Cryptosystems.
CENG 513 Object Oriented
Analysis and Design (3 0 3)
Classical and modern methods, comparative
analysis of software development paradigms.
Object orientation. Object oriented analysis
and design of Coad-Yourdon and Rumbaugh.
Applying OOD criteria. Introducing UML
(Unified Modeling Language). Introducing
Component based development and design
patterns.
CENG 514 Computer
Graphics (3 0 3)
Review of hardware and software used in
graphic systems. Introduction to programming
with OpenGL. Graphic 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. Introduction to ray
tracing.
CENG 516 Microprocessors
and Embedded Systems II (3 0 3)
Design of systems that use a microprocessors
or micro controllers including both hardware
and the software considerations. Memory
interface. Basic input/output (I/O) ports
and interface. Internal architecture.
Address, data, control busses and bus
timing. Memories. I/O interface with hand
shaking protocols. DAC, waveform generation
experiment. ADC, a digital voltmeter
experiment. Basic I/O operation, timers and
timer generated interrupts in micro
controllers.
CENG 517 Cognitive
Aspects of Natural Language Processing (3 0
3)
A quick review of Prolog. DCG grammars and
DCG parsers. Parsing Algorithms. Semantics
and Logic. Computational aspects of
linguistic theories. Human sentence
processing. Interpretation. Information
structure. Ambiguity resolution.
Interactions in multi-component grammars.
CENG 519 Artificial
Intelligence II (3 0 3)
Knowledge representation. Uncertain
knowledge and reasoning. Learning in neural
and belief networks. Natural language
processing.
CENG 520 Information
Security (3 0 3)
Essentials of information security,
determination of IT-security risks,
specification of security objectives and
security policy will be introduced.
Furthermore, network packet capture and
analysis, protocol decoding, security
scanning, and attacks. Techniques and tools
in penetration testing. Attends will learn
to analyze security risks, design and test
IT-security procedures and mechanisms, scan
IP networks, discover and monitor intrusions
and vulnerability within a specific range of
threats.
CENG 521 Topics in
Advanced Database (3 0 3)
Principles, facilities and applications of
database management systems. Relational data
model: relational operators, relational
algebra, relational calculus, relational
database design, functional dependencies,
normal forms. Distributed databases,
distributed database design, distributed
query processing, concurrence control
Deductive databases: syntax and semantics
query processing. Object Oriented data
model, complex values, additional operators.
Practical query language.
CENG 522 Advanced Object
– Oriented Programming (3 0 3)
Object-Oriented Programming and Procedural
Programming, Classes and Abstract Data
Types, Inheritance and Polymorphism,
Interfaces and Components. Object-Oriented
Programming and UML. Graphics and Event
Handling.
CENG 525 Introduction to
Functional Programming (3 0 3)
Lambda-calculus, reductions, Church-Rosser
theorems, recursive functions,
implementation details, semantics and the
use of functional languages in programming.
Emphasis on programming, analysis and
optimization of programs written in the
functional style.
CENG 526 Software
Architecture (3 0 3)
The need for software architecture,
construction versus development of software,
non-functional requirements and essentials
of architecture, modeling software
architecture, reviewing and analyzing
software architecture, tradeoff analysis,
architecture description languages, the role
of agile methodologies in architecture,
pattern-oriented development,
interface-oriented development,
service-oriented architecture and software
product lines.
CENG 530 Computing
Fundamentals (3 0 3)
Computer parts, flow of data, level of
abstractions, number systems, operating
systems, office tools, logic, gates, spread
sheet, database, Internet.
CENG 531 Information
Technology (3 0 3)
Introduction to information systems:
information systems in an organization,
information systems investigation and
analysis, information technology policy of
an organization. Information Technology
infrastructures and Architecture: data
Communication and Networking. Internet,
Intranet and Web Based systems. Information
Processing Requirements. Enterprise Resource
Management (ERM): information Technology in
Business.
CENG 532 Computer Systems
(3 0 3)
Implementing Enterprise Resource Planning
(ERP) Systems: introduction to ERP (SAP,
Oracle, ASP). System design and
implementation: distributed systems and
Client/Server architecture, centralized
print spooling. Back Office Systems: tools
and applications.
CENG 533 Programming and
Problem Solving (3 0 3)
Structured problem solving and top-down
analysis and design of solution algorithms.
Control structures, data types, input output
format, program structure, functions,
recursion, files, pointers and dynamic data
structures. Advanced Problem Solving
Applications.
CENG 534 Multimedia and
Internet (3 0 3)
Architectures for Multimedia Systems,
Digital Audio, Video Technology and Image
Compression, Computer Graphics, Multimedia
Information Systems, Multimedia
Communication Systems. Structure of the
Internet, Methods of Storing and Accessing
Data on the Internet.
CENG 535 Database
Management (3 0 3)
Introduction to database systems, data
storage and retrieval problems, data
definition, relational database management
systems, Tables, Queries, Relationships.
Entity-Relationship models. Introduction to
Sequential Query Language (SQL), Writing
queries in Visual environments, Embedded
SQL. Database programming with Visual Basic
and MS-ACCESS
CENG 537 Object-Oriented
Construction (3 0 3)
The focus in this course is on the
abstraction, specification, and
object-oriented design of computer programs
in advanced skills. The student will learn
to construct reliable, high-quality
software, and will be deeply familiar with
current notions of object-oriented
specification, design, and programming, The
emphasis is on modularity: how to get the
components and interfaces right and how to
organize a program as a collection of
reliable components through interfaces. The
C++, Java programming languages are used as
a vehicle for learning these concepts even
thought the techniques presented are
language independent. Programming skills
will be developed in an accompanying
Laboratory section.
CENG 550 Internet
Architecture (3 0 3)
Internet services, communication protocols.
Fundamental anatomy of communication systems
used by diverse Internet services and
systems: data communication concepts
(mechanisms, techniques, procedures,
structures, architectures, and information
packet analysis).
CENG 557 Software Quality
Assurance and Testing (3 0 3)
Process models. Software quality. Quality
assurance. Quality metrics. Construction of
SQA. SQA planning. Quality standards, CMM,
IEEE, ISO(9001). Software testing
techniques. Black box and white box testing.
Test strategies, unit test, integration
testing, and system testing.
CENG 558 Distributed
Object Computing (3 0 3)
General structure of distributed object
computing, distributed object architecture
and middleware technologies, Common Object
Request Broker Architecture (CORBA), object
invocation, communication protocols for
remote object invocation, e.g., IIOP,
development of distributed client/server
systems. Java will be used as the major
programming language, especially for client
side programming, but C++ will also be used
to develop server side applications.
CENG 567 Data Mining (3 0
3)
What is data mining? Data mining strategies
and techniques, Decision trees, Association
rules, K-means algorithm, and statistical
models. Tools used for data mining,
Knowledge discovery in databases, Evaluation
methods, Advanced data mining techniques,
Intelligent systems
CENG 568 Knowledge
Engineering (3 0 3)
Overview of AI. Overview of knowledge-based
systems. Knowledge acquisition methods.
Knowledge representation techniques.
Backward, forward and hybrid chaining in
rule-based production systems. Conflict
resolution. Treatment of uncertainty. Rule
and decision-tree induction. Case studies.
CENG 590 Graduate Seminar
(Non-credit)
Presentation and discussion of current
issues and works by graduate students in
their relevant fields.
CENG 591 Special Studies
(0 4 0)
This course is required for students who are
en rolled in “Thesis” course.
CENG 595 Selected Topics
in Computer Engineering (3 0 3)
This course consists of lectures, seminars,
and readings covering the latest advances
and research in Computer Engineering such as
simulation, communication, signal
processing, computer hardware and software.
CENG 599 Thesis
(Non-credit)
Directed independent research on a specific
topic approved by the student’s adviser.