Curriculum

Course Code Course Name Credit Theoretical Lab/Practical ECTS
CPE501 PROGRAMMING LANGUAGES 3 3 0
Brief historical perspective. Understanding and using Integrated Development Environment (IDE). Java basics, introduction to graphical user interfaces (GUI) for Java, using Swing Components and Java Listeners, Swing dialogue boxes, developing GUI applications, theory of Object Oriented Programming with Unified Modeling Language (UML). Object-Oriented (OO) problem solving, Object-Oriented (OO) concepts (inheritance, composition, abstract classes etc.), object relations, developing Object-Oriented (OO) applications with design patterns, Unit Testing, Project Presentations.
CPEXX1 ELECTIVE 3 3 0
CPEXX2 ELECTIVE 3 3 0
CPEXX3 ELECTIVE 3 3 0
Course Code Course Name Credit Theoretical Lab/Practical ECTS
CPE555 ADVANCED TOPICS IN SOFTWARE ENGINEERING 3 3 0
The main topics discussed in this course are development methodologies and design patterns. Software life cycle phases like requirements, design, implementation, testing and deployment will be discussed with methodologies like Waterfall, prototyping and Extreme Programming. Also design patterns like creational, structural and behavioral patterns will be evaluated.
CPE590 SEMINAR 0 3 0
This is a Non-credit course. The widening of students perspective and awareness of topic of interest to computer engineers through seminar offered by faculty, guest speakers and graduate students.
CPEXX4 ELECTIVE 3 3 0
CPSXX5 ELECTIVE 3 3 0
Course Code Course Name Credit Theoretical Lab/Practical ECTS
CPE500 THESIS 0 3 0
Program of research leading to M.S. degree, arranged between a student and the faculty member. Students register to this course in all semesters starting from the beginning of their second semester while the research program or write-up of the thesis is in progress.
Course Code Course Name Credit Theoretical Lab/Practical ECTS
CPE540 ADVANCED DATABASE MANAGEMENT SYSTEMS 3 3 0
This course covers a number of advanced topics in database management systems and modern database applications. The specific topics include advanced concurrency control techniques, query processing and optimization strategies for relational database systems, advanced indexing methods, parallel and distributed database systems, next-generation data models, data mining on large databases, data on the web, and topics in data security and privacy.
CPE511 COMPUTER ARCHITECTURE 3 3 0
Pushing a single processor to its limits. Instruction set design and its effect on computer performance. micro-programming. Addressing techniques. Memory hierarchy. Associative, virtual and cache memory. Memory management. Interrupts, DMA and channels. Comparative study of commercial computer architecture.
CPE523 PERFORMANCE EVALUATION OF COMPUTER NETWORKS 3 3 0
CPE526 OPERATING SYSTEM AND NETWORK SECURITY 3 3 0
This course gives essential information for operating system and computer network security basics, risk analysis, security policies, concept of trusted computers and networks. Conventional and public key cryptography. Authentication and digital signatures. Authentication protocols and applications, certification, LINUX security issues. Data link layer, network layer and application level security. Firewalls and security tools. Secure payment systems. Case studies and programming projects.
CPE530 COMPUTER NETWORKS AND COMMUNICATIONS 3 3 0
CPE513 SYSTEMS PROGRAMMING AND APPLICATIONS 3 3 0
Design and develop applications by using the benefits of operating system and computer architecture. Threads and concurrent programming, TCP/UDP, RPC/IPC, System calls, remote procedure calls (RPC) and web services, xml and xml parsing, socket communication, logging.
CPE537 COMPUTER VISION 3 3 0
Image formation. Early processing: low-level vision and feature extraction. Boundary detection. Region growing. Texture. Motion. Two-dimensional and three-dimensional representation. High-level vision: learning and matching.
EMN525 RESEARCH METHODS 3 3 0
CPE545 ARTIFICIAL NEURAL NETWORKS 3 3 0
Introduction to cognitive science. Parallel, distributed problems. Constraint satisfaction. Liopfield model. Supervised vs. unsupervised learning. Single vs. multi-layer perceptions. Static vs. dynamic network architecture. Comparison of neural approaches with parametric and non-parametric statistical methods. Neural network applications.
MIS523 MANAGEMENT INFORMATION SYSTEMS 3 3 0
CPE351 OPERATING SYSTEMS 0 0 0
MIS542 DATA MINING AND BUSINESS INTELLIGENCE 3 3 0
CPE313 OBJECT ORIENTED PROGAMMING 0 0 0
MIS565 EDUCATIONAL TECHNOLOGY 3 3 0
CMPE343 DATABASE MANAGEMENT SYSTEMS AND PROGRAMMING-I 0 0 0
CPE431 COMPUTER NETWORK DESIGN AND APPLICATIONS 0 0 0
ELE525 ADVANCED DIGITAL SIGNAL PROCESSING 3 3 0
CPE537 COMPUTER VISIONS 3 3 0
CMPE223 ALGORITHMS AND PROGRAMMING 0 0 0
MIS555 MANAGEMENT SCIENCE 3 3 0
MIS524 INFORMATION SYSTEMS DESIGN AND MANAGEMENT 3 3 0
EMN517 OPERATIONS RESEARCH TECHNIQUES 3 3 0
ISE537 COMPUTER VISION 3 3 0
Image formation. Early processing: low-level vision and feature extraction. Boundary detection. Region growing. Texture. Motion. Two-dimensional and three-dimensional representation. High-level vision: learning and matching.
ELE561 ADVANCED COMMUNICATION SYSTEMS 3 3 0
ELE566 SELECTED TOPICS IN DIGITAL COMMUNICATIONS 3 3 0
CMPE344 DATABASE MANAGEMENT SYSTEMS AND PROGRAMMING II 0 0 0
CMPE538 BIOMETRIC SYSTEMS 3 3 0
This course will present an introduction to the principles of operation, design, testing, and implementation of the unimodal and multimodal biometric systems. Major and emerging biometric technologies (fingerprint, face, hand, iris, hand geometry, palmprint, keystroke, handwriting, signature, gait, voice etc.) performance and issues related to the security and privacy aspects of these systems will be addressed. Students will be introduced to a variety of methods used for processing data from various biometrics (especially signature biometric modality) and to statistical methods employed to achieve acceptable recognition performance rates (i.e. false accept rate, false reject rate, equal error rate and correct classification rates).
CPE525 ADVANCED NETWORK PROGRAMMING 3 3 0
The goal of this module is to introduce the students to advanced network programming concepts. They will study issues such as multitasking, multi-threading, processes, inter-process communications and network communications. Client-server communications for long term (e.g. large file transfer, multimedia streaming) and short term sessions (e.g. Web traffic) will be presented. P2P, RMI, applet-servlet, e-mail and multimedia mail will be introduced. The course will also address issues related to the programming of network equipment, including router architecture, network signaling, firewall and deep packet probes, network processors, network support for unicast, multicast and broadcast, and the use of techniques for dynamically changing router code, such as mobile agents and active networks