Graduate Program Course List

Compulsory Departmental Courses

Elective Courses

Elective Courses Taken From Other Departments

Service Courses Taken From Other Departments



Compulsory Departmental Courses

CMPE 538 - Advanced Computer Networks
Advanced concepts of TCP/IP computer networks. Routing principles and routing algorithms in TCP/IP networks. Wireless-networking. Multimedia networks. Network security. Network management.

CMPE 541 - Advanced Databases
Database system concepts, transaction processing, concurrency control and database recovery, object-oriented and object-relational databases, semi-structured data and XML, parallel and distributed databases, advanced concepts of distributed databases, introduction to big data, temporal databases.

CMPE500 - Graduation Project
Realization of literature survey and the typical phases of the system development life cycle, project documentation, presentation of project's progress.

Elective Courses

CMPE 524 - Advanced Algorithms
Design and analysis of algorithms, O-notation, graph algorithms, topological sort, minimum spanning trees, single-shortest paths, all-pairs shortest paths, flow networks, NP-hard and NP-complete problems.

CMPE 525 - Object Oriented Design & Programming
Thinking object-oriented, abstraction, object-oriented analysis and design concept, design patterns. UML: Introduction, role of modeling, models and views, core diagrams, fundamental elements, sequence, class, and package diagrams, development lifecycle, Java and UML: Responsibility-Driven Design (RDD), and CRC, classes, methods, messages, instances, initialization, inheritance, subclass, subtype, static and dynamic behavior, substitution, multiple inheritance and polymorphism.

CMPE 531 - Advanced Operating Systems
Advanced topics in process scheduling, multiprocessor and real-time scheduling, concurrent programming fundamentals, review of inter-process communication, semaphores and monitors, synchronization and communication, fault tolerance, recent advances in operating systems.

CMPE 532 - Advanced Computer Architecture
Quantitative principles of computer design, instruction set principles and examples, advanced pipelining and instruction-level parallelism, memory-hierarchy design, storage systems, thread level parallelism.

CMPE 533 - Computer and Network Security
Encryption techniques and algorithms, public-key encryption, hash functions, digital signatures, authentication, network security, web security, operating system security (Unix and Windows), Bell-LaPadulla model, software and database security.

CMPE 535 - Cyber Security
Basic concepts in cyber space and security, cyber crime, IT law, computer law and cyber law, computer forensics, information security and assurance, computer and network security, cyber warfare, international standards on cyber security.

CMPE 536 - Advanced Network Programming
Introduction to networking, overview of programming language that will be used to implement course content, threads and multi threading, exceptions, sockets, web sockets, streaming, file streaming, memory I/O streams, object streaming, client-side networking, server-side networking, HTTP networking, message queuing, synchronous and asynchronous communication.

CMPE 537 - Distributed Computing
Introduction to the core concepts and principles of distributed programming techniques, computing paradigms, protocols, and application program interfaces (APIs), sockets, multicast, Remote Method Invocation (RMI), Common Object Request Broker Architecture (CORBA), Interface Definition Language (IDL), applets, servlets, Common Gateway Interface (CGI), REST, and Simple Object Access Protocol (SOAP), MPI

CMPE 543 - Big Data Analytics
Infrastructure as a Service(IaaS), Hadoop framework, hive infrastrucure, data visualization, MapReduce model, NoSQL databases, large-scale data workflows, clustering, using R.

CMPE 562 - Multiagent Systems
Agent paradigm, abstract agent architectures, design of intelligent agents, agent cooperation, auction systems, negotiation, argumentation, interaction languages and protocols, distributed problem solving, coordination, applications for multi-agent systems.

CMPE 563 - Information Retrieval
Organization, representation, and access to information; categorization, indexing, and content analysis; data structures for unstructured data; design and maintenance of such databases, indexing and indexes, retrieval and classification schemes; use of codes, formats, and standards; analysis, construction and evaluation of search and navigation techniques; and related search engines.

CMPE 564 - Natural Computing
Problem solving by search, hill climbing, simulated annealing, artificial neural networks, genetic algorithms, swarm intelligence (including ant colony optimization and particle swarm optimization), artificial immune systems.

CMPE 565 - Machine Learning
Concept learning, decision tree learning, artificial neural networks, evaluating hypotheses, Bayesian learning, computational learning theory, instance-based learning, genetic algorithms, analytical learning, reinforcement learning.

CMPE 566 - Advanced Data Mining
Introduction to data mining, concepts, attributes and instance, data processing (cleaning, integration and reduction), data warehousing and online analytical processing (OLAP), data mining algorithms, credibility, advanced pattern mining, classification, engineering the input and output, data mining software and applications.

CMPE 567 - Semantic Web Programming
XML, resource description language, web ontology language, ontologies and rules, query languages-SPARQL, ontology engineering, semantic web applications and semantic web services.

CMPE 568 - Advanced Artificial Intelligence
Intelligent agents, problem solving by searching, informed/uninformed search methods, exploration, constraint satisfaction problems, knowledge and reasoning, first-order logic, knowledge representation, learning, selected topics: neural networks, natural computing.

CMPE 571 - Biometric Identification and Verification Systems
Biometric identification and verification, performance calculations of biometric systems, fingerprint verification, face recognition, iris and retina based identification, hand geometry and DNA based identification, multimodal biometric systems, biometric system standards.

CMPE 575 - Parallel and Cluster Computing
Models of parallel computing - dependence on architecture, trade-off between computation cost and communication cost, performance measures for parallel computation - computational complexity, techniques for parallel computation - divide and conquer, partitioning, and pipelining, parallel algorithms for sorting, searching and matrix computations, MPI and OpenMP environments for parallel programming.

CMPE 578 - Penetration Testing
Penetration testing concepts, ethical issues in penetration testing, building a testing infrastructure, legal issues with penetration testing, port scanning, vulnerability scanning, exploitation, password attacks, web application penetration testing, wireless penetration testing, reporting of the obtained test results.

CMPE 579 - Current Trends in Internetworking Technologies
Overview and history of the community organizations related to internet technologies and standard organizations, open and proprietary standards, widely used current techniques and technologies in internet, latest technologies under development, latest techniques and their states that are under development and discussed by the communities.

Elective Courses Taken From Other Departments

ISE 513 - Systems Integration
Integration of information systems in organizations. The processes by which different computing systems and software applications are linked together physically or functionally. Examine the strategies and methods for blending a set of interdependent systems into a functioning or unified whole, thereby enabling two or more applications to interact and exchange data seamlessly. Explore tools and techniques for systems integration as well as proven management practices for integration projects.

ISE 514 - Cloud Computing
Basics of cloud computing, discovering the value of the cloud computing for business, advantages of cloud computing, elements of cloud computing, technical foundation of cloud computing, managing data in cloud, standards, managing and securing cloud services, virtualization, service oriented architecture, managing cloud environment.

SE 552 - Advanced Software Project Management
Introduction to project management; algorithmic cost estimation models; advanced cost estimation models; function points estimation; risk assessment; life cycle models; prototyping; management of software reuse; software maintenance; software maturity framework; case studies

SE 564 - Service Oriented Architecture and Business Process Management
Basics of SOA; SOA design principles; SOA standards, foundations, BPEL, SOAP, WSDL and UDDI; governance; business process models; business process management from process and content management to collaboration and analytics; BPM enabled by SOA

Service Courses Taken From Other Departments

MDES600 - Research Methodology and Communication Skills
The principles and practice of research design and data collection. Research methodology, experimental design, career options, professional ethics and academic integrity, and oral and written presentation techniques. The core of the course will be a structured, supervised "mini-research project" on a topic of the student's choice. Students will be required to perform a literature survey on their topic, construct a research proposal that includes an experimental design, and write a paper summary in the style of a formal scientific paper. Incremental deliverables will provide structure and feedback over the course of the semester. Each student will be required to find an outside reader for their literature survey and final paper. Additional assignments will include participating in class discussions, giving in-class presentations, preparing a research portfolio (including a CV), and creating a personal website.