Computational complexity: P-space and EXP classes, Reduction, NP-complete problems, Cook’s theorem, Randomized algorithms, Approximation algorithms, Branch-and-Bound, Amortized analysis; Max flow, Bipartite matching; Geometric algorithms: Convex hull, Closest pairs; Computability: Turing machines, Church-Turing thesis, Rice’s theorem, Undecidability.
Prerequisite: ICS 353 or Equivalent
Arabic Computing
Contemporary concepts and research in the field of Arabic Computing. Arabic characteristics and standardization. Arabic systems and tools. Arabic programming languages. Arabic character recognition. Arabic speech synthesis and recognition. Natural Arabic processing.
Prerequisite: Consent of Instructor
Multimedia Information Management
Multimedia data representation and management in the context of contentbased retrieval, audio, image and video data representation, Information retrieval from text. Content based retrieval of audio, image and video data, Similarity measures. Query formulation and evaluation, Multi-dimensional indexing algorithms and data structures. Multimedia compression. Multimedia data mining.
Digital Image Processing
Continuous Image. Mathematical Characterization. Psychovisual Properties. Photometry and Colorimetry. Superposition and Convolution. Image Transforms. Linear Processing Techniques. Image Enhancement. Morphological Image Processing. Edge Detection. Image Feature Extraction. Image Segmentation. Shape Analysis.
Not to be taken for credit with EE 663 or SE 662
Advanced Machine Learning
Linear and logistic regression. Regularization. Generalized linear models. Learning theory. Support vector machines. Kernel methods. Principal component analysis. Independent component analysis. Hidden Markov models. Random forests. Design of learning systems. Recommender systems. Online Learning. Ensemble learning models. Bootstrapping techniques.
Prerequisite: ICS 485 or Consent of Instructor
Introduction to Bioinformatics and Biomedicine
This course offers an introduction to bioinformatics with an emphasis on biomedical aspects. Topics include bioinformatics databases, sequence alignments, protein domains, protein-protein interaction, gene expression, gene ontology, pathways, disease state analysis, and computational methods in biomedicine.
Natural Language Processing
Components of a natural languages processing system. Natural language models: Mathematical, psychological. Lexical, syntactic, and semantic analysis. Phrase-structured grammars. Transformational grammars. Transition networks. Semantic networks. Conceptual parsing Conceptual dependency. Systemic and case grammars. Scripts, plans and goals. Knowledge representation. Sentence generation. Recent trends.
Prerequisite: ICS 381 or Equivalent
Pattern Recognition
Various methods of pattern recognition, extraction methods, statistical classification, minmax procedures, maximum likelihood decisions, data structures for pattern recognition, case studies.
Combinatorial, Approximation, and Probabilistic Algorithms
Representation and generation of combinatorial objects, Graph algorithms, Greedy method and the theory of matroids. Graph matching and applications. Network flows and applications. Approximation algorithms to combinatorial problems like scheduling, bin-packing, knapsack, vertex cover, TSP, clique partitioning, graph compression, Steiner problem on networks. Randomized algorithms: Monte-Carlo, Las-Vegas, algorithms, occupancy problems, randomized sorting and pattern matching, Markov chains and random walks.
Prerequisite: ICS 553 or Consent of Instructor
Advanced Pattern Recognition
The course covers advanced topics in pattern recognition and machine learning. Recent conference and journal papers will be discussed in depth. Tentative topics: Classification and discriminant analysis, feature generation using transformations. Feature selection, data transformation and dimensionality reduction, Classifier evaluation, Kernel methods, error rate estimation techniques and performance evaluation. Actual topics covered will depend on time available and students’ interests.
Prerequisite: ICS 583 or equivalent
Advanced Computer Vision
This course intends to provide an in-depth overview of the current state-ofthe-art of computer vision by covering a set of advanced topics that are actively investigated. Recent conference and journal papers will be discussed in depth. Tentative topics: Low level vision: Image Segmentation, Stereo, Optical flow, de-noising and texture analysis; Higher level vision: Object Detection and Recognition/Pose Estimation; geometrical and 3D vision, stereo, 3D scene reconstruction, motion analysis, visual tracking, object recognition and human motion analysis, capturing and recognition. Actual topics covered will depend on time available and students’ interests.
Prerequisite: ICS 547 or Consent of Instructor
Advanced Operating Systems
Advanced concepts in operating systems design; multiprocessing model, interprocess communication; synchronization mechanisms; resource management and sharing; scheduling in multiprocessor system; Process migration; Operating system-level virtualization; Special-purpose operating systems: Real-time, Distributed and network operating systems; Distributed deadlock handelling; Distributed file system; Distributed shared memory; Replication & consistency; In addition, students will be exposed to recent developments in operating systems through research projects and papers.
Performance Analysis & Evaluation
Performance measures. Modeling methodologies: queuing models, graph models, dataflow models, and Petrinet models. Mathematical models of computer systems: CPU and computer subsystems such as memory and disks. Bottleneck analysis. Modeling multi-server systems. Model validation methods. Case studies. Project(s).
Note: This course is equivalent to: COE 587Prerequisite: STAT 319 or Equivalent
Modeling and Simulation of Computing Systems
Basic probability and statistics. Review of discrete-event simulation tools and methodologies. Simulation languages. Random Number generation. Developing Simulation Models. Simulation Validation. Output Data Analysis. Applications to computer systems. Project(s).
Note: This course is equivalent to: COE 588Prerequisite: STAT 319 or Equivalent
Theory and Design of Programming Languages
Fundamentals of type systems, type inference, control structures, and storage management. Formal syntax specification. Semantic specification models: axiomatic, operational and denotational. Project(s) to design a programming language.
Prerequisite: ICS 410 or Equivalent
Database Design and Implementation
Database development life cycle. Data modeling. Database design theory. Query processing. Concurrency control and transaction management. Recovery. Security. Database applications: data warehousing, data mining, web pages, and others. Various types of database systems: object relational, object-oriented, distributed, client/server, and others. Current trends in database research. Project(s).
Prerequisite: ICS 334 or Equivalent
Distributed Systems
Taxonomy of distributed systems: Client-server, cluster systems, Grid systems, P2P systems, cloud systems, volunteer-based systems. Distributed systems service models. Modeling, performance, scalability, elasticity and trust/reputation issues in distributed systems. Project(s).
Prerequisite: ICS 531 or Consent of Instructor
Semantics of Programming Languages
Formal methods for the description of programming languages. Advanced semantics models, attribute grammar, two-level grammars, fixed-point theory of computation, Program verification techniques.
Prerequisite: ICS 535 or Consent of Instructor
Cryptography and Data Security
Mathematical principles of cryptography and data security. A detailed study of conventional and modern cryptosystems. Zero knowledge protocols. Information theory, Number theory, complexity theory concepts and their applications to cryptography.
Computer Communication Network
Examination of modern computer networking and data communications. Contemporary concepts, facilities, practices, implementations, and issues. Data Link and media access layer protocols. Introduction to Gigabit Ethernet, ATM and Frame Relay. Protocols of TCP/IP suite. IP routing, flow and congestion control. Application Layer. Introduction to modeling and analysis of data networks: Queueing theory, Little's Law, Single Queues, and Jackson Networks.
Note: This course is equivalent to: COE 540 or EE 674Prerequisite: ICS 432 or Equivalent
Client Server Programming
Introduction to Clients, Servers, and Protocols. Client-Server Architectures. Software Architectures for Clients and Servers. Network and Operating System Support for Client-Server Applications. Programming language support. Standard interfaces and API. Examples of clients and servers for several popular protocols such as X, POP3, news, ftp, and http. Project(s).
Prerequisite: (ICS 570 and ICS 431) or Consent of Instructor
Distributed Computing
Introduction to parallel and distributed computation models. Mapping a parallel solution to a distributed computing platform. Programming issues. Operating system support for distributed computing. Message passing environments such as PVM and MPI. Load balancing. Migration. Agent architectures. Performance and complexity measures. Services. Service driven design of distributed applications. Timing and Synchronization. Remote procedure invocation. Project(s).
High-Performance Computing
Theory and practice of parallel computing. Analytical models of parallelism and performance evaluation. Parallel architectures. Software tools for parallel programming. Design and implementation methodologies for parallel high performance applications. Design, analysis, and implementation of parallel solutions for various scientific problems such as linear algebraic problems, fast Fourier transform, Monte Carlo techniques, boundary value problems, finite element techniques, and iterative systems. Project(s).
Prerequisite: (ICS 353 or Equivalent) or Consent of Instructor
Application Development for Internet Based Services
Application Development for Deployment over the WWW. Application protocols. Connection and Session Objects. Authentication Services. Integrating Database Services. Component Architectures. Scripting Languages. Modern applications and application architectures such as Digital Cash and E-Commerce. Making use of the state-of-art tools, a major project will be developed by the students.
Prerequisite: ICS 571
Concurrent and Parallel processing
Concepts and foundation of parallel processing. Computational models. Parallel algorithms. parallelization techniques. Parallel software characteristics and requirements: languages, compilers, operating systems, and inter-process communication support. Parallel computer architectures. Case studies. Project(s).
Prerequisite: ICS 431 or Equivalent
Local and Metropolitan Area Networks
Protocols and Network Architectures. Various Technologies for Local and Metropolitan Area Networks (LANs and MANs). Classes of LANs and MANs. LAN and MAN design issues and Standards. LAN and MAN performance modeling and analysis. Internetworking. Examples of LANs and MANs. Case studies. Emerging LAN/MAN technologies.
Prerequisite: COE 540 or Consent of Instructor
High-Speed Networks
Protocols and Network Architecture. Local high speed networks. Broadband Metropolitan and Wide Area Networks. Impact of high speed on communication protocols and networks. Fiber optic networks. Design and performance issues of high speed networks. Standard high speed protocols and networks. Examples of high speed networks. Case studies. Emerging technologies for high speed networks.
Mobile Computing and Wireless Networks
Introduction to mobile computing and wireless networks. Designing computer networks to support computer mobility. Wireless network architecture and ad-hoc networks. Mobility standards, e.g. mobile IP. Mobility systems issues (e.g. performance &bandwidth). Quality of Service guarantees, reliability, and security in mobile computing environment. Access protocols for wireless networks.
Prerequisite: COE 540 or Consent of Instructor
Computer Network Design
Types of computer networks: LANs, VLANs, and WANs. Routing algorithms and routing protocols. The network development life cycle. Network analysis and design methodology. Network design issues: Manageability; Node placement and sizing; Link topology and sizing; Routing; Reliability. Data in support of network design. Structured enterprise network design. Hierarchical tree network design: Terminal assignment; Concentrator location. Mesh topology optimization. Traffic flow analysis. Analysis of loss and delay in networks. Network reliability issues.
Prerequisite: (COE 540 and (ICS 353 or Equivalent)) or Consent of Instructor.
Modeling and Analysis of Computer Networks
Modeling. General concepts. Performance measures. Performance evaluation techniques. Model Validation. Introduction to Queuing Networks and StochasticProcesses. Simulation. The modeling cycle. Queuing network modeling. Flow analysis. Bottleneck analysis. Hierarchical modeling. Introduction to Analysis driven Design. Case studies with applications to different aspects of computer network systems.
Prerequisite: COE 540 or Consent of Instructor.
Protocol Engineering
Protocols and languages. Protocol structure. Structured protocol design. Fundamentals of Protocol Engineering. Specification and modeling. State Machines and Reachability Analysis. Formulation of desirable properties of protocols. Formal Logic and Deduction. Verification techniques. Formal description languages. Protocol synthesis.Protocol Design. Validation and conformance testing. Computer aided design tools for protocol engineering (simulation and validation tools). A major project involving comprehensive design and verification of a non-trivial protocol.
Prerequisite: (COE 540 and (ICS 252 or Equivalent)) or Consent of Instructor.
Principles of Information Assurance and Security
Introduction to security and information assurance. Information confidentiality, availability, protection, and integrity. Security systems lifecycle. Risks, attacks, and the need for security. Legal, ethical, and professional issues in information security. Risk management including identification and assessment. Security technologies and tools. Security laws, audit and control. Cryptography foundations, algorithms and applications. Physical security, security and personnel, security implementation and management. Securing critical infrastructure. Trust and security in collaborative environments.
Network Security
Network infrastructure security issues, including perimeter security defences, firewalls, virtual private networks, intrusion detection systems, wireless security, and network security auditing tools. Secure network applications. Network security protocols such as SSL, SSL/TLS, SSH, Kerberos, IPSec, IKE. Network threats and countermeasures. Network auditing and scanning. VoIP Security. Remote exploitation and penetration techniques. Network support for securing critical infrastructure. Design and development of software-based network security modules and tools based on hands-on experiences and state-of-the-art technologies.
Note: SEC 521 cannot be taken for credit with CSE 551
Prerequisite: ICS 555
Computer and Network Forensics
Methodical approaches for collecting and preserving evidence of computer crimes, laws/regulation, and industry standards. Hands-on experience on identifying, analyzing, recreating, and addressing cyber based crimes. Ethical issues associated with information systems security. Foundational concepts such as file system structures, MAC times, and network protocols. Use of tools for evidence recovery. Use of established forensic methods in the handling of electronic evidence. Rigorous audit/logging and date archival practices. Prevention, detection, apprehension, and prosecution of security violators and cyber criminals, and general legal issues.
Prerequisite: SEC 521
Security in Wireless Networks
Security of wireless networks such as cellular networks, wireless LANs, mobile ad hoc networks, wireless mesh networks, and sensor networks. Overview of wireless networks. Study of threats and types of attacks, including attacks on MAC protocols. Selfish and malicious behavior in wireless routing protocols. Countermeasures/solutions and their limitations. Encryption and authentication. Secure hand-off techniques. Energy-aware security mechanisms. Secure multicasting. Key pre-distribution and management in wireless networks.
Secure Software
Software security development lifecycle including security requirements analysis, design, coding, review, and testing. Construction of secure and safe C/Unix programs. Vulnerabilities in C source code. Stack and heap buffer overflows. Overview of secure web application development with consideration for SQL injection, cookies, and forceful browsing. Techniques for software protection, such as code obfuscation, tamper-proofing, and water-marking. Analysis of software based attacks and defenses, timing attacks and leakage of information. Type safety and capability systems. Numerous hands-on exercises and projects on writing secure code and unbreakable code and other related topics.
Note: Equivalent to SWE 531
Prerequisite: Graduate standing
Database Security
Study of database security and auditing issues, challenges and protection methods. A review of relational and object database concepts. Database security and auditing issues. Authentication methods. Authorization based on privileges, roles, profiles, and resource limitations, and role-based authorization constraints. A study of access control mechanisms for current DBMSs, content-based and fine-grained access control, access control systems for object-based design and XML. Data confidentiality and privacy for databases. Secure statistical databases. Integrating databases and applications security. Database security protection via inference detection. Security implementation and administration, with applications to ecommerce, and emerging research in database security.
Prerequisite: SEC 511
Web Application Security
Web applications security requirements, threats and countermeasures. Contemporary web application vulnerabilities and exploitation techniques, based on the Open Web Application Security Project (OWASP). Web defacement and server penetration techniques. Content-based attacks and effective countermeasures. Intellectual property protection and watermarking. Auditing and scanning Web applications and infrastructure for security weaknesses. Analysis of Web applications for key vulnerabilities and attacks. Security mechanisms and protocols and their roles in securing Web applications. Secure Web programming mechanisms in ASP.NET, Java, PHP, XML and SQL. Secure Web applications for e-commerce, e-banking and e-government transactions. Numerous hands-on exercises and projects on using tools and writing secure Web applications.
Trusted Computing
A comprehensive overview of trusted computing technology and its applications, TPM chips, secure boot, attestation, DRM, sealed storage, nature of trust, methods for characterizing, establishing, and attesting trust of a system. Trusted Virtualization. Operating system and hardware support for TC. Key management. Code signing. Identity management. Implications of certification. Trusted Mobile Platforms. Trust negotiation, transitive trust, trust evaluation and reputation systems. Trust computing architectures and modeling. Trust computing in P2P and cloud computing paradigms. Design and development of software applications and components to utilize trust computing for protecting information providers and end users.
Prerequisite: SEC 511 and ICS 555
Biometric Systems
Theory of signal processing, especially image and sound processing, for purposes of biometric system design. An introduction to basic methods and techniques for the study of authentication based on static biometric features such as fingerprints, hand geometry, facial features, thermograms, iris and retina, voice, and handwriting. Study of recognition based on dynamic features including lip movements, typing, and gait, study of standards and applications of biometry.
Embedded Systems Security
Study of various security models and techniques for embedded systems both from a hardware as well as a software perspective. Smart card security. RFID attack models (including power analysis, side channel, and timing attacks), and security techniques. Security in wireless sensor networks (key management techniques, attack models, detection and prevention techniques). eHealth (embedded medical systems) security. Cryptographic hardware. Industrial control systems (SCADA). Physical hardware. Security for System-on-chip, and Internet-devices such as Internet thermostats and automated doors.
Watermarking and Steganography
Study of enabling technologies for digital watermarking and steganography including the history of information hiding, basic principles and techniques such as still images, video, and 3-D video objects, and their applicability to owner authentication, content authentication, information embedding and communication with side information. Evaluation and benchmarking of watermarking and steganography mechanisms. Study of malicious attacks inclusive of bit rate limitation, counterfeiting marks and removal attacks. Overview of attempts to formalize watermarking. Steganography vs. watermarking. Applications of steganography. software for steganography, and steganalysis techniques.
Special Topics in Information Assurance and Security
Advanced topics selected from current journals of Information Assurance & Security and that deal with theoretical development or applications in the field.
Review of number theory, set algebra and finite fields. Computations in finite fields using standard and non-standard bases. High performance algorithms and architectures for cryptographic applications. Side channel analysis attack resistant computations.
Intrusion detection and prevention systems. Security engineering processes. Advanced firewall considerations. Honeynets. Network forensics. Distributed denial of service attacks (Botnet, Rootkits, Zero-Day Exploits). Cyber crime and cyber war. Enterprise security policy development. Complex enterprise security infrastructure design and integration. Web and email security. P2P network security, and trust management.
Advanced security research topics in operating systems and emerging computing paradigm such as grid and cloud computing. Secure operating system requirements, fundamentals and definitions. Security in traditional and popular operating systems such as Unix, Linux, OpenBS,D and Windows. Security kernels. Verifiable security goals, trusted processes, and information flow integrity. Secure capability systems. Security in virtualization and secure virtual machine systems. Security issues and countermeasures in cloud computing. Data security and storage in the Cloud. Security management in the cloud services: PaaS, SaaS, and IaaS. Case Studies of secure systems, design, and evaluation: SELinux and Solaris.
Advanced Topics in Computer Networking
This course explores recent research trends and developments in computer networks
and their applications covering state-of-the-art topics and case studies.
Prerequisite: ICS 570 or equivalent
Software Requirements Engineering
The course gives state of the art and state of the practice in software requirements engineering. In-depth research-oriented study of methods, tools, notations, and validation techniques for the analysis, specification, prototyping, and maintenance of software requirements. Topics include study of object-oriented requirements modeling, using state of the art modeling techniques such as the Unified Modeling Language (UML). The course work includes a project investigating or applying approaches to requirements engineering.
Note: SWE 515 cannot be taken for credit with ICS 512
Software Design
Concepts and methods for the architectural design of large-scale software systems. Fundamental design concepts and design notations are introduced. Several design methods are presented and compared. In-depth research-oriented study of object-oriented analysis and design modeling using state of the art modeling techniques such as Unified Modeling Language (UML). Students participate in a group project on object-oriented software design.
Note: SWE 516 cannot be taken for credit with ICS 513
Software Testing and Quality Assurance
In-depth research-oriented study of verification and validation throughout the development lifecycle. Techniques for validation and verification, quality assurance at the requirements and design phases, software testing at the unit, module, subsystem, and system levels. Automatic and manual techniques for generating and validating test data. Testing process: static vs. dynamic analysis, functional testing, inspections, and reliability assessment.
Note: SWE 526 cannot be taken for credit with ICS 514
Software security development lifecycle including security requirements analysis, design, coding, review, and testing. Construction of secure and safe C/Unix programs. Vulnerabilities in C source code. Stack and heap buffer overflows. Overview of secure web application development with consideration for SQL injection, cookies, and forceful browsing. Techniques for software protection, such as code obfuscation, tamper-proofing, and water-marking. Analysis of software based attacks and defenses, timing attacks and leakage of information. Type safety and capability systems.
Note: Equivalent to SEC 531
Study of contemporary web application vulnerabilities, based on the OWASP (Open Web Application Security Project). Study of exploitation techniques for server and client web applications, and techniques that lead to web defacement and server penetration. Auditing and scanning web applications and servers for security weaknesses and vulnerabilities. Contemporary attack scenarios exploiting web vulnerabilities such as cross-site scripting, SQL injection, cookies, and forceful browsing. Content-based attacks and effective countermeasures. Secure programming for the following technologies: .NET, ASP.NET, ActiveX, JAVA, Secure Sockets, and XML, and a study of web security protocols such as SSL and HTTPS.
Software Architecture
Advanced principles, methods and best practices in building software architecture and the architecture design process are discussed. Architectural styles and patterns are presented and compared. Software architecture analysis and evaluation methods such as ATAM and CBAM, tradeoffs among conflicting constraints in building high quality architecture are also discussed. Architecture documentation is also presented.
Software Metrics
Software metrics history and current practice, basics of measurement theory for software metrics, framework for software measurement, product, application, and process metrics. The course includes introduction to foundations of measurement theory, models of software engineering measurement, software products metrics, software process metrics and measuring management.
Software Agents
Agent-based programming; elements of distributed artificial intelligence; beliefs, desires and intentions; component based technology; languages for agent implementations; interface agents; information sharing and coordination; KIF; collaboration; communication; ontologies; KQML; autonomy; adaptability; security issues; mobility; standards; agent design issues and frameworks; applications in telecommunications.
Empirical Software Engineering
The course discusses how empirical studies are carried out in software engineering. The distinction between analytical techniques and empirical techniques is reviewed. Other topics include empirical studies required in software engineering, kinds of problems that can be solved empirically, methods used to control variables and eliminate bias in empirical studies, and analysis and presentation of empirical data for decision making.
Software Project Management
Lifecycle and process models; process metrics; planning for a software project; mechanisms for monitoring and controlling schedule, budget, quality, and productivity; and leadership, motivation, and team building. Topics cover quantitative models of the software lifecycle, process improvement techniques, cost-effectiveness analysis in software engineering, multiple-goal decision analysis, uncertainty and risk analysis, software cost estimation, software engineering metrics; and quantitative lifecycle management techniques.
Note: SWE 587 cannot be taken for credit with ICS 515
Special Topics in Software Engineering
Advanced topics selected from current journals of software engineering that deal with theoretical development or applications in the field. Topic include: Reusable Software Architectures, Software Engineering, Experimentation, Concurrent Software Systems, Software Metrics, Web Engineering or Formal Methods and Models in Software Engineering, etc.
Software Reuse
Advanced object-oriented design and programming of real-time and distributed systems using C++ and/or Java. Object-oriented features: inheritance, polymorphism, templates, exception handling and Concurrency issues. Design patterns and frameworks for distributed systems, with examples from communication applications. Design issues for reusable software.
Software Maintenance & Re-Engineering
Software evolution and reengineering approaches and abstraction techniques to extract specifications and design from existing code are discussed. Major maintenance activities are presented including estimating maintenance costs, managing change and predicting maintainability with software quality metrics. Organizational issues relative to product maintenance are discussed. Principles of reverse engineering techniques are also presented.
Formal Methods and Models in Software Engineering
In-depth advanced formal mechanisms for specifying, validating, and verifying software systems. Program verification. Formal specification via algebraic specifications and abstract model specifications, including initial specification and refinement toward implementation. Integration of formal methods with existing programming languages, and the application of formal methods to requirements analysis, testing, safety analysis, and object-oriented approaches. Model-driven architectures. Formal methods using the Object Constraint Language (OCL).
Global Software Engineering
Topics include: Essentials of global software engineering, Software engineering outsourcing (Onshore outsourcing, Nearshore Outsourcing, Offshore outsourcing), Outsourcing models (Simple Dyadic Outsourcing, Multi-Vendors Outsourcing, Co-Sourcing and Complex Outsourcing), Global software project management concepts, tools, and techniques, Managing virtual teams, Crosscultural collaboration, Global project leadership, Measuring organizations readiness for global software development, Software quality in global software development (CMMI, ISO 9001:2000), Global software engineering challenges, Professional practices for global software engineering Intellectual Property Rights, Group working, conflict and negotiations management, Presentations, writing and referencing)
Prerequisite: Consent of Instructor
Integrated treatment to the models and practices of experimental computer science. Topics include scientific methods applied to computing, computational problem/solution characterization, quality metrics and performance estimation of computation systems, uses of analytic and simulation models, design of experiments, interpretation and presentation of experimental results, hypothesis testing, and statistical analyses of data.
Prerequisite: STAT 319 or equivalent
Advanced topics selected from current literature that deals with theoretical foundations and advances in computer science. The specific content of an offering of the course should focus on a specific area of computer science.
Prerequisite: Consent of instructor
Prerequisite: Consent of instructor
Seminar
Graduate students are required to attend the seminars given by faculty members, visiting scholars, and fellow graduate students. Additionally, each student must give at least presentation on a timely research topic. Among other things, this course is designed to give the student an overview of research, research methodology, journals and professional societies. Graded on a Pass or Fail basis.
Independent Research
This course is intended to allow the student to conduct research in advanced problems in his MS research area. The faculty offering the course should submit a research plan to be approved by the Graduate Program Committee at the academic department. The student is expected to deliver a public seminar and a report on his research outcomes at the end of the course. Graded on a Pass or Fail basis.
Master Thesis
The student has to undertake and complete a research topic under the supervision of a faculty member in order to probe in depth a specific problem in Computer Science.
Prerequisite: ICS 599 or Consent of Instructor