Structured programming concepts; Object Oriented Programming (OOP) concepts; Programming Language Basic Constructs: data types, operators, expressions, control structures, pointers, arrays; OOP Constructs: encapsulation, classes and objects, constructors, destructors, inheritance, polymorphism, exceptions, multi-threaded Programming; Analysis of Algorithms; Data structures: arrays, lists, stacks, queues, trees, graphs, heaps, B-trees, BST; Discrete probability; Number theory and algebraic structures.
[Reference languages: C and C++]
CSE5402
Computing Foundation – II
3 Credit Hour Course
Propositional and predicate calculus; Sets and functions; Mathematical logics and reasoning; Counting; Discrete structures: Graphs; Recurrence relations; Basic algorithms: sorting, searching, hashing; Algorithm design techniques: greedy algorithms, divide and conquer, dynamic programming; Graph algorithms; Complexity classes.
CSE5501
Foundations of Data Science
3 Credit Hour Course
Database: data models, query languages, relational algebra, structured query language; Database design: entity relationship modeling; Statistical modeling: random variables; Dependence; Correlation; Regression; Hypothesis testing; PCA; Machine learning concepts: broad categories of machine learning approaches e.g., supervised and unsupervised, classification and clustering; Algorithms and tools for machine learning, challenges, performance metrics, training and testing methodology.
CSE5502
Programming for Data Science
3 Credit Hour Course
Introduction, environment; Data, variables, basic python syntax, arithmetic operations, strings, lists and dictionaries; Conditions, loops; Functions; Object Oriented Programming; File handling; Python packages, Numpy basics; Statistical analysis using Python dataset basics - creating data frames, loading data, saving and serializing, inspecting data frames; Visual exploration - introduction and basic plots, Pandas vs Matplotlib, visualizing 1D/2D distributions, higher dimension visualizations basic data manipulations; grouping and aggregation.
[Reference language: Python]
CSE5503
Artificial Intelligence and Machine Learning
3 Credit Hour Course
Intelligent agents; Search strategies; Constraint satisfaction problems; Adversarial search and games; Knowledge representation, and reasoning; Planning; Probabilistic reasoning; Machine learning basics; Gradient-based optimization; Supervised learning; Unsupervised learning; Ensemble learning; Neural networks and deep learning.
CSE5601
Computer Networking and Operating Systems
3 Credit Hour Course
Networking operations: networking hierarchies; Protocols in different layers: DLL protocols, wireless protocols, IPv4, IPv6, ARP, routing protocols, transport protocols, congestion control, flow control, virtual LAN; Networking devices; Cross-layer protocols; Networking implementations in operating systems; Operating systems structure; Process management; Memory management; File systems.
CSE6000
Thesis/Project
0 Credit Hour Course
Name of Degree
Course Type
Credit Hours
Ph.D.
Thesis
45
M.Sc.Engg.
Thesis
18
M.Engg.
Project
6
CSE6102
Computer Arithmetic
3 Credit Hour Course
Integer arithmetic, Floating point arithmetic; Single precision and double precision; Interrupt handling high-speed adders; Standard and recorded multipliers, Booth's multiplier, Canonical and multi bit scanning multipliers, Array multipliers; High radix non-restoring division, SKT division, Robertson division, Convergence division and cellular array dividers; Floating point processors; Binary squares and square roots, evaluation of trigonometric Functions and polynomials, Chen convergence Computation, CORD1C computations, Logarithmic number system (LNS) processor.
CSE6103
Advanced Logic Design
3 Credit Hour Course
Functional decomposition and Symmetric functions; Linear sequential machines; Reed-Muller expansions and their minimizations; Exor based logic design; self-timed circuits; asynchronous design techniques; Digital logic circuit testing and testable design: testing of combinational and sequential logic circuits, design for testability and built-in self test; Digital logic simulation.
CSE6205
Computer Organization and Design
3 Credit Hour Course
Classification and addressing modes, Operands and Operations for Media and signal processing, instructions for control flow, Encoding an instruction set. Pipelined and Superscalar processors, Data hazards, Dynamic scheduling, Branch prediction, Hardware based speculation, Thread level parallelism. ILP with software approaches: Compiler Techniques, static branch prediction, static multiple issue, advanced compiler support for ILP. Basic Techniques of Integer Arithmetic, Floating-point Arithmetic, Speeding up Integer Addition, Speeding up Integer Multiplication and Division. Memory technology, RAIDs, organization for improving performance, Virtual memory and protection, Cache organization, Reducing cache miss rate and penalty. Busses, Performance measures, Designing I/O system, Reliability, Dependability and Availability. Symmetric shared memory architectures, Cache coherence protocols, Distributed shared memory architectures, Synchronization, Models for memory consistency, Multithreading. Interconnection Networks- Practical issues, Network on chip, Designing cluster. Advanced RISC, CISC and Embedded processors architectures.
CSE6206
Advanced Microprocessor
3 Credit Hour Course
Review of different microprocessors: 80486, 68040, V70, Gmicro processors; Comparing the architectures: RISC and CISC; Instruction set of machines: SPARC, INTEL, and MIPS; Study of microprocessors: Pentium II, Alpha 21064, MIS 6400, PA-RISC; Math coprocessors and microprocessors.
CSE6207
Advanced Dependable and Fault-Tolerant Computer Systems
3 Credit Hour Course
Overview: theory of dependability and fault-tolerance, system view of high availability
design; Analytical modeling of system reliability; Enhancing fault tolerance: hardware-
centric enhancement, fault tolerance using software; Network fault tolerance; Error detection
techniques: check pointing, different error recovery techniques; Evaluation of fault tolerance:
experimental approaches, other state-of-the-art approaches.
CSE6301
Software Project Management
3 Credit Hour Course
Foundations of software project management; Project planning: Project inception, project scope with modularization, identifying readiness of potential users, budget and schedule preparation, proposal preparation, and determining eligibility criteria of vendor, procurement document preparation; Organization structure and staffing; A large engineering software system management; Client management; Authority and influence; Conflict management; Managing software project teams; Risk management; Cost control; Configuration management; Quality assurance and accreditation; Factors affecting software quality; Software quality assurance plans; Business context and legal issues for software projects; Software measurement: training and implementation, upgrading and maintenance; International project management.
CSE6302
Software Quality Assurance
3 Credit Hour Course
Review of standard software testing techniques: unit testing, integration testing, acceptance testing, regression testing, alpha and beta testing, white box and black box testing, test driven development; Performance testing: load and stress testing, volume testing, capacity testing; Testcase design and testdata generation: Equivalence partitioning, boundary value analysis, test coverage, mutation testing; GUI testing, API testing; Code review: useful code review detection, automatic code review generation and augmentation; Code smell, Refactoring; Static and dynamic analysis; Test Automation: fuzzing, automatic bug detection, automated program repair techniques; Software quality assurance: software quality, quality control and quality assurance, software quality metrics.
CSE6303
Information System Management
3 Credit Hour Course
Information systems management: importance of information systems (IS) management, IS management's leadership role, strategic uses of IT, IS planning; managing essential technologies: distributed systems, managing telecommunications, managing information resources, and managing operations; managing system development: technologies for developing systems and management issues in system development; systems for supporting knowledge work: supporting decision making, collaboration, and knowledge works; acquisition of hardware, software, networks, and services: request for proposal, acquisition methods (buy, rent, or lease), software acquisition, and analysis of alternatives; people and technology: the challenges ahead.
CSE6304
Software Testing
3 Credit Hour Course
Objectives of software testing, test process, testing and development, test case, test execution, test harness, testing and debugging, test adequacy, control flow graph, errors, faults and failures, types of testing; Test generation from requirements: equivalence partitioning, boundary value analysis, category partitioning, fault model for predicates, Boolean operator (BOR), Boolean and relational operator (BRO), and Boolean and relational expression (BRE) methods, limitations of test generation from requirements; Test adequacy assessment: adequacy criteria, control flow based criteria, data flow based criteria, mutation based criteria, adequacy as a stopping criterion, adequacy as a tool for test enhancement; GUI testing, security testing, random testing, combinatorial testing; Testing tools: Open source and commercial software testing tools.
CSE6305
Programming Languages and Systems
3 Credit Hour Course
Modern programming languages; Object oriented programming systems; Runtime virtual machines: How virtual machine works, Different classes of virtual machines, Jikes research virtual machine; Compilation techniques: Interpreter and baseline compilation, Just-in-time compilation and dynamic optimization; Type systems: Strong and weak type systems, Static and dynamic type checking; Concurrency and synchronization: Atomic operations, Thin locks and lock free design; Memory model; Thread scheduling; Dynamic memory allocation: Free-list, contiguous and region based allocation, Fast parallel memory allocation; Garbage collection: Fundamental garbage collection algorithms, Stop-the-world, parallel and concurrent garbage collection, State of the art garbage collectors; Performance analysis and benchmarking.
CSE6306
Advanced Software Engineering
3 Credit Hour Course
Review of software development life cycle, requirements analysis, system modeling and design; Software architecture; Design patterns; Code analysis: code review, documentation, refactoring; Version control; Testing and quality assurance; Debugging; Software analytics; Performance assurance: message queue, caching, load balancing; Security and threat modeling; Program synthesis; Program repair.
CSE6307
DevOps Engineering
3 Credit Hour Course
Introduction to DevOps: DevOps principles, DevOps pipeline, DevOps structure, DevOps Software Development Lifecycle (SDLC), CI/CD pipeline, technical challenges, market trend; Version control: source code management, branching, merging, rebasing etc.; Software architecture: monolithic, service oriented, microservices, distributed authentication and authorization, single sign on (SSO); Deployment architecture: on premise vs. cloud, service discovery, load balancing, routing, in memory database, remote synchronization, backup etc.; Virtualization: virtual machine, VM clustering and orchestration, containerization; Container orchestration: Automatic system provisioning and configuration management, autoscaling, performance monitoring and logging; DevOps tools: build automation, test automation, continuous integration, continuous delivery, monitoring, logging etc. DevOps Security: DevSecOps; Cloud DevOps: AWS; Case studies.
CSE6308
Empirical Software Engineering
3 Credit Hour Course
Empirical studies using qualitative, quantitative, and mixed methods: Formulating research question, Cross and multi-disciplinary methods and studies, Experiments and quasi-experiments; Evaluation, modeling and measurement: Evaluation and comparison of software technologies, Evaluation and comparison of software development methods, techniques, and practices, Modeling, measuring, and assessing product and/or process quality, Modeling, measuring, and assessing software development productivity; Mining online software repositories (e.g., GitHub and Stack Overflow) and related data analysis; Case studies, action research, ethnography and field studies: Survey research, Simulation, Artifact studies; Data mining, machine learning, and AI-based approaches; Replication of empirical studies and families of studies; Development, evaluation, and comparison of empirical approaches and methods; Infrastructure for conducting empirical studies; Techniques and tools for supporting empirical studies; Empirically-based decision making.
CSE6401
Parallel Algorithms
3 Credit Hour Course
Introduction, Parallel processing, Parallel models, Performance of Parallel Algorithms, The work-time presentation framework, Basic techniques: Pointer jumping, Balanced trees, Divide and Conquer, Pipelining, Partitioning and symmetry breaking, List ranking, Euler-Tour technique, Tree contraction; Parallel searching, merging, sorting and selection, Connected components, Minimum spanning trees, Biconnected Components, Directed graphs, Plane sweeping, Visibility problems, Simulation between PRAM models, Lower hounds for EREW, CREW and CRCW PRAMs.
CSE6402
Graph Theory
3 Credit Hour Course
Introduction, Fundamental concepts, Trees, Spanning trees in graphs, Distance in graphs, Eulerian graphs, Digraphs, Matching and factors, Cuts and connectivity, k-connected graphs, Network flow problems, Graph coloring: vertex coloring and edge coloring, Line graphs, Hamiltonian cycles, Planar graphs, Perfect graphs.
CSE6403
Computational Geometry
3 Credit Hour Course
Searching and Geometric Data Structures: Balanced binary search trees, Priority-search trees, Range searching, Interval trees, Segment trees, Algorithms and complexity of fundamental geometric objects: Polygon triangulation and art gallery theorem, Polygon partitioning, Convex-hulls in 2-dimension and 3-dimension, Dynamic convex-hulls; Geometric intersection: Line segment intersection and the plane-sweep algorithm, Intersection of polygons; Proximity: Voronoi diagrams, Delunay triangulations, closest and furthest pair; Visualization: Hidden surface removal and binary space partition (BSP) trees; Graph Drawings: Drawings of rooted trees (Layering, Radial drawings, HV-Drawings, Recursive winding), Drawings of planar graphs (Straight-line drawings, Orthogonal drawings, Visibility drawings); Survey of recent developments in computational geometry.
CSE6404
VLSI Layout Algorithms
3 Credit Hour Course
VLSI design cycle, physical design cycle, design styles; Basic graph algorithms and computational geometry algorithms related to VLSI layout; Partitioning algorithms: group migration algorithms, simulated annealing and evaluation, performance driven partitioning; Floor planning and placement algorithms: constraint based floor planning, rectangular dualization and rectangular drawings, integer programming based floor planning, simulation based placement algorithms, partitioning based placement algorithms; Pin assignment algorithms; Routing algorithms: maze routing algorithms, line prob algorithms, shortest-path based and steiner tree based algorithms, river routing algorithms, orthogonal drawing based algorithms; Compaction algorithms: constraint-graph based compaction, virtual grid based compaction, hierarchical compaction; Algorithms for Multi-Chip Module (MCM) physical design automation.
CSE6405
Graph Drawing
0 Credit Hour Course
Introduction to graph drawing: historical background of graph drawing, drawing styles, properties of drawings, applications of graph drawing; Graph theoretic foundations; Straight line drawing: shift method, realizer method, compact grid drawing; Convex drawing: convex drawing and convex testing, convex grid drawing; Rectangular drawing: rectangular drawing and matching, Thomassen's theorem, linear algorithms for rectangular drawing; Box-rectangular drawing; Orthogonal drawing: orthogonal drawing and network flow, linear algorithms for orthogonal drawing; Octagonal drawing; Tree drawing.
CSE6406
Bioinformatics Algorithms
3 Credit Hour Course
Introduction; Molecular biology basics: DNA, RNA, genes, and proteins; Restriction mapping algorithm; Motif in DNA sequences, motif finding algorithms; Genome rearrangements, sorting by reversals and breakpoints; DNA sequence alignments; Gene prediction; Space-efficient sequence alignments, sub-quadratic alignment; DNA sequencing, genome sequencing, protein sequencing, spectrum graphs; Combinatorial pattern matching: Exact pattern matching, heuristic similarity search algorithms, approximate string matching, BLAST, FASTA; Clustering: Microarrays, hierarchical clustering, K-means clustering, corrupted cliques problem, CAST clustering algorithm; Evolutionary trees.
CSE6407
Combinatorial Optimization
3 Credit Hour Course
Introduction to Optimization; Linear Programming: Different forms, Simplex Method, Primal-Dual theory; Max-Flow: The Max-Flow-Min-Cut Theorem, Ford-Fulkerson Labeling Algorithm, Dijkstra's Algorithm, The Floyd-Warshall Algorithm; Some Network Flow Algorithms: The Minimum Cost Network Flow Method, Transportation Problem; Capacitated Transportation Problem, Assignment Problem; Integer Linear Programming; Relaxation; Cutting-Plane Algorithm; Branch and Bound Technique; Dynamic Programming; NP-Completeness; TSP and Heuristics; Approximation.
CSE6408
Advanced Algorithms
3 Credit Hour Course
Randomized Algorithms: Las Vegas and Monte Carlo Algorithms; Randomized Data Structures: Skip Lists; Amortized Analysis: Different methods, Applications in Fibonacci Heaps; Lower Bounds: Decision Trees, Information Theoretic Lower Bounds, Adversary Arguments; Approximation Algorithms: Approximation Schemes, Hardness of Approximation; Fixed Parameter Tractability: Parameterized Complexity, Techniques of designing Fixed Parameter Algorithms, Examples; Online Algorithms: Competitive Analysis, Online Paging Problem, k-server Problem; External Memory Algorithms; Advanced Data Structures: Linear and Non-linear Methods
CSE6409
Stringology
3 Credit Hour Course
Introduction to Stringology: Notations, Problems and Naive Solutions, Motivations, Applications, Basic string searching algorithms; Data structures for String Matching: Suffix Tree, Suffix Array, Aho-Corasick Automaton, Applications of these data structures; Approximate Pattern Matching: Edit distance, Dynamic programming, Similarity measures for DNA and protein sequences, q-gram methods, Bit-parallel methods, Algorithms for degenerate/indeterminate strings; Sequence Analysis: Longest Common subsequence (LCS) Problem, Advanced Algorithms for LCS, Variants of LCS and algorithms; Text Compression: Shannon-Fano and Huffman codes, Arithmetic coding, Lempel-Ziv family of compression techniques, Burrows-Wheeler Transformation.
CSE6410
Advanced Algorithmic Graph Theory
3 Credit Hour Course
Vertex Orderings: st-Numbering and Canonical Orderings; Graph Decompositions and Their Algorithmic Applications: Ear
Decomposition, Canonical Decomposition, Tree Decomposition, Path
Width and Tree Width, PQ-tree, SPQR-tree, Split Decomposition, Recursively
Decomposable Graphs, Clique Separator Decomposition;
Graph Representations: Implicit Representations, Intersection and
Containment Representations;
Graph Classes Defined by Forbidden Subgraphs;
Graph Classes Defined by Elimination Schemes;
Classes of Graphs with Bounded Treewidth and Their Algorithmic
Implications;
Characterization, Construction and Recognition Algorithms for Some
Special Classes of Graphs.
CSE6411
Computational Biology
3 Credit Hour Course
Introduction to molecular biology and genetics: central dogma, regulation of gene expression, Mendel’s laws; Sequencing based assays: RNA-seq, ChIP-seq; Genome sembly: overlap, string and de Bruijn graphs; Read mapping: suffix tree, suffix array, Burrows-Wheeler transform (BWT), hash table; Sequence alignment and multiple sequence alignment: Needleman-Wunsch algorithm, Smith-Waterman algorithm; Phylogenetics: neighbor joining, statistical phylogenetics; Transcript abundance estimation: EM algorithm; Association mapping: hypothesis testing, correcting for multiple tests; Population structure estimation: principle component analysis (PCA), correction of confounding factors in association mapping; Topics in population genetics: mutation, fixation, selection, drift, migration; Genome annotation: gene finding, regulatory motifs; Gene expression analysis: clustering, classification; Systems biology: networks; RNA and protein structure prediction: meta-heuristic search.
CSE6412
Computational Proteomics
3 Credit Hour Course
Introduction: DNA, RNA, gene, aminoacid, protein, protein synthesis, structural and functional analysis of proteins, proteome, proteomics, computational proteomics; Protein sequence comparison: sequence alignment, sequence identity, heuristic algorithms, protein profile, profile-profile comparison, Universal Protein Resource (UniProt), BLASTP, FASTA, CD-HIT; Peptide sequencing: mass spectrometry, ideal spectrum, real spectrum, suffix peptide, peptide vector, spectral alignment; Protein structure analysis: protein folding, primary structure, secondary structure, tertiary structure, quaternary structure, protein structure prediction, Protein Data Bank (PDB), post-translational modification(PTM), PTM Structural Database(PTM-SD); Protein families: super families (structural homology), families (sequence homology), sub-families, Hidden Markov Models (HMM) for protein families, Protein family databases (Pfam, PROSITE); Protein sample representation: AAC, PseAAC, SAAC, di-peptides, gappeddi-peptides, physicochemical and biochemical properties of aminoacids, AAIndex database, PSI-BLAST, Position Specific Scoring Matrix (SSM), structural features; Protein subcellular localization prediction; Protein function prediction; Protein-protein interactions (PPI)?: introduction, experimental detection, prediction, dynamic PPI, PPI network; Computer-aided drug design: reverse vaccinology, antigen prediction, epitope prediction, protein-liganddocking, protein-protein docking, BioLip;
CSE6413
Network Science
3 Credit Hour Course
Introduction to Network Science: networks behind complex systems, characteristics of network science, societal and scientific impact of network science; Graph theoretic fundamentals: adjacency and adjacency representations, degree and degree sequence, paths and distance on a graph, center and diameter of a graph, Euler tours and Hamiltonian cycles, connectivity, graph drawing;Network properties: degree distribution, degree correlations, distance statistics, centrality, clustering coefficient, small-world effect, robustness; Network models and evolving networks: random networks, scale-free networks, Barabási–Albert (BA) model, Bose-Einstein condensation; Communities: clustering, modularity, overlapping communities, testing and characterizing communities; Network robustness: percolation theory, robustness of scale-free networks, attack tolerance, cascading failures, designing robust networks; Spreading phenomena: network epidemics, contact networks, immunization, epidemic prediction.
CSE6501
Advanced Artificial Intelligence
3 Credit Hour Course
Advanced search and planning techniques; Knowledge representation and reasoning: logic programming, probabilistic reasoning; Learning: statistical learning, machine learning, deep learning, reinforcement learning; AI for advanced applications: natural language processing, computer vision, robotics; Explainable AI; Ethics and future of AI.
CSE6502
Symbolic Machine Learning-I
3 Credit Hour Course
Introduction, Supervised and Unsupervised learning in prepositional logic, Induction of decision trees, Noise and over-fitting issues, Minimum description length principle, Conceptual clustering, Version space, Nearest neighbor classifier, Genetic algorithm, Computational learning theory, Neural network and Fuzzy logic.
CSE6503
Symbolic Machine Learning-II
3 Credit Hour Course
Introduction, Learning in First order logic, Top-down and Bottom-up approaches for inducing first order theory, Handling noise, First order theory revision, Predicate invention, Application of Inductive Logic Programming, Multiple predicate learning, Different types of language bias, PAC Learnability, knowledge discovery in database and data mining, Text and image retrieval.
CSE6504
Advanced Syntactic Pattern Recognition
3 Credit Hour Course
Introduction to formal languages, String languages for pattern description, Higher dimensional pattern grammars, Syntax analysis as a recognition procedure, Stochastic languages, Error-correcting parsing for string languages, Error-correcting tree automata, Cluster analysis for syntactic patterns, Grammatical inference for syntactic pattern recognition, Application shape analysis of wave forms and contours, Syntactic approach to texture analysis.
CSE6505
Speech Recognition
3 Credit Hour Course
Introduction: speech production, perception, acoustic-phonetics, and signal representation; Algorithmic aspects of speech recognition systems: pattern classification, search algorithms; Stochastic modeling, and language modeling techniques; Noisy channel model; Bayes, HMM, Forward and Viterbi algorithm; Feature extraction and acoustic modeling and evaluation; Recognition system design and implementation: source coding, template training, performance analysis; Comparison of approaches to speech recognition; Advanced techniques for acoustic-phonetic modeling; Robust speech recognition; Speaker adaptation; Processing paralinguistic information; Speech understanding and multimodal processing.
CSE6506
Data Mining
3 Credit Hour Course
Introduction; Data mining primitives; Data preprocessing; Data warehousing and OLAP; Frequent pattern and association rule mining; Classification and prediction; Cluster analysis; Mining complex types of data; Applications and trends in data mining.
CSE6507
Machine Translation
3 Credit Hour Course
Probabilistic language models, latent-variable translation models, phrase-based and syntax-based translation and decoding, evaluation of translation systems; Statistical machine translation, neural machine translation (NMT), advanced NMT architectures, attention models; Neural probabilistic language models, large vocabulary language models, using monolingual data in NMT, multi-source and zero-shot translation, advanced decoding techniques, practical MT techniques and tricks.
CSE6508
Evolutionary Algorithms
3 Credit Hour Course
Introduction: inspiration from biology, optimization, modeling, and simulation; Selection: rank-based, roulette wheel, stochastic, local, truncation and tournament; Recombination: discrete, real-valued and binary valued; Mutation: real-valued and binary valued; Reinsertion: global and local; Population models; Coevolutionary system: cooperative vs. competitive; Learnable evolution model; Evolutionary programming; Application of evolutionary algorithms to real-world problems (e.g., robotics, transportation, logistics, etc.).
CSE6509
Text-to-Speech Synthesis
3 Credit Hour Course
Introduction and definition, composition and production of speech; Human hearing, acoustics and phonetics; Text parsing and processing: Grammars and lexicons, segmentation, transducers; Morphological and contextual analysis; Phonetization: phonemes, modules and systems; Intonation and prosody: levels, acoustic, perceptual and linguistic models, prosodic parsing; Techniques: architectures, formalisms, databases, rule based, formant, concatenative, linear predictive, and stochastic synthesis.
CSE6510
Natural Language Processing
3 Credit Hour Course
Introduction to Natural Language Processing (NLP): NLP tasks in syntax, semantics, and pragmatics, Applications in information extraction, question answering, and machine translation; N-gram Language Models: The role of language models, Simple N-gram models, Estimating parameters and smoothing, Evaluating language models; Part Of Speech Tagging and Sequence Labeling; Lexical syntax, Hidden Markov Models (Forward and Viterbi algorithms and EM training); LSTM, Recurrent Neural Networks; Syntactic parsing: Grammar formalisms and Treebank, Efficient parsing for context-free grammars (CFGs), Statistical parsing and probabilistic CFGs (PCFGs), Lexicalized PCFGs, Neural shift-reduce dependency parsing; Topic modeling: Latent Dirichlet allocation (LDA); Semantic Analysis: Lexical semantics and word sense disambiguation, Compositional semantics, Semantic Role Labeling and Semantic Parsing; Information Extraction (IE): Named entity recognition and relation extraction, IE using sequence labeling; Sentiment Analysis; Question Answering: Language Generation; Machine Translation (MT): Basic issues in MT, Statistical translation, Word alignment, Phrase-based translation, and synchronous grammars; NLP for Social Media: Fake News Detection, Rumor propagation analysis.
CSE6511
Computer Vision
3 Credit Hour Course
Introduction: an overview of computer vision and its applications, image processing basics; Feature detection and matching: edge detection, corner detection, feature matching, and homography; Stereo and 3D reconstruction: stereo algorithms and depth estimation, 3D reconstruction from multiple views; Motion and tracking: optical flow and feature tracking, object detection, and tracking; Object recognition, detection, and segmentation: image classification and object recognition, deep learning for computer vision; Medical imaging and biomedical applications: medical image analysis and computer-aided diagnosis, biomedical applications of computer vision; Robotics and augmented reality: vision-based navigation and control of robots, augmented reality and virtual reality.
CSE6512
Advanced Machine Learning
3 Credit Hour Course
Review of machine learning basics; Gradient-based optimization; Supervised learning: linear regression, logistic regression, decision trees, support vector machines, generalized linear models; Neural networks and deep learning; Ensemble learning; Unsupervised learning: clustering; Expectation Maximization (EM) algorithm; Dimensionality reduction; Non-parametric learning and bayesian inference; Reinforcement learning; Learning theory: asymptotic analysis, concentration inequalities, generalization bounds, uniform convergence; Theoretical analysis of deep learning; Self-supervised learning; Advanced learning techniques.
CSE6513
Business Intelligence
3 Credit Hour Course
An overview of business intelligence, analytics, and decision support, foundations and technologies for decision making; Descriptive analytics; Predictive analytics: techniques for predictive modeling, data mining, web mining; Prescriptive analytics: model-based decision making, modeling and analysis, automated decision systems and expert systems; Knowledge management and collaborative systems.
CSE6514
Big Data Analytics
3 Credit Hour Course
Introduction to big data analytics: definition, challenges; Data preprocessing; Data warehouse: integration; Data cube, slicing, dicing, OLAP, NoSQL: key value store, document store; Introduction to Apache Hadoop and MapReduce: Apache Spark, Spark programming with Python and PySpark; Distributed analytics: code optimization, cluster configurations; distributed file storage systems.
CSE6515
Data Visualization
3 Credit Hour Course
Foundation of data and visualization [e.g., data types, marks (bars, lines, etc.), and visual encoding channels (i.e., attributes of marks – shape, colour, size); Data cleaning and preprocessing for effective visualization; Fundamentals of human perception and cognitive issues (understand human component of the visualization pipeline, how humans see and process and interpret visual stimuli); Methods and algorithms used to map data to graphical depictions; Visualization techniques for different types of data (multivariate, spatial, Geospatial, time-oriented, etc.); Visualization techniques for trees, graphs, and networks; Design considerations for effective visualization; Interaction concepts and techniques; Comparing and evaluating visualization techniques; Some widely used data visualization systems and toolkits; Case studies on different applications.
CSE6601
Advanced Database Systems
3 Credit Hour Course
Object Oriented Database; Data Model, Design, Languages; Object Relational Database: Complex data types, Querying with complex data types, Design; Distributed Database: Levels of distribution transparency, Translation of global queries to fragment queries, Optimization of access strategies, Management of distributed transactions, Concurrency control, Reliability, Administration; Parallel Database: Different types of parallelism, Design of parallel database; Multimedia Database SystemsBasic concepts, Design, Optimization of access strategies, Management of Multimedia Database Systems, Reliability; Database Wire-housing/Data mining: Basic Concepts and algorithms.
CSE6602
High Dimensional Data Management
3 Credit Hour Course
Spatial database systems; spatial data types; indexing and querying spatial data; spatial networks; temporal database systems; moving object data management systems; moving object indexing techniques; query processing on moving object data; multidimensional indexing methods; similarity search; dimension reduction methods; time series data; indexing techniques for massive time series data; state-of-the-art systems for managing high dimensional data; emerging issues in high-dimensional data management systems.
CSE6603
Data Management in the Cloud
3 Credit Hour Course
Cloud computing: concepts, cloud characteristics, advantages and limitations; Cloud
computing service models: infrastructure as a service, platform as a service, software as a
service; Public cloud, private cloud and hybrid cloud; Cloud storage infrastructure and key-
value stores; Cloud programming frameworks; Transactional vs. analytical data management
in the cloud; Scientific data management in the cloud; Big data analytics and cloud; Mobile
cloud computing: architecture, applications and data management; Data privacy and security
in the cloud.
CSE6604
Information and Social Networks
3 Credit Hour Course
Information networks: different types of information networks, the World Wide Web,
structure of the web; Social networks: structures and properties, social links and ties,
connectivity and clustering, centrality and community; Network dynamics: various models,
information cascade and contagion, small world phenomenon; Human-centric computation:
social sensing, crowd sourcing, crowd intelligence; Integration of information and social
networks with communication networks.
CSE6605
Mobile Computing
3 Credit Hour Course
Mobile technologies: anatomy of a mobile device, survey of mobile devices,
usability issues of mobile devices; Mobile application development: mobile
operating systems and development environments/frameworks, mobile SDKs,
programming for smart-phones; Cellular communications: standards for
cellular wireless networks, mobile IPv4 and mobile IPv6; Mobility in
cellular networks: types of mobility, mobility management, mobility models,
traffic models, channel allocation, interferences, handoffs, and location
management; User interaction: user interface issues, the united look and
feel paradigm, common human interface guidelines; Context aware mobile
computing: types of context, modeling context information, collecting and
disseminating context, applications development for changing context; Data
and information management: mobile database, transactions, web services;
Privacy and security issues.
CSE6606
Advanced Human Computer Interaction
3 Credit Hour Course
Human characteristics and factors in interacting with computers and digital systems: perception and cognition; Interaction: social, emotional, and cognitive aspects; interfaces and stages of actions; Factors in user experience; Usability: affective and emotional design; User analysis: types of users, and data acquisition and gathering; Design alternatives; Evaluation and testing; Augmented reality and virtual reality; Designing HCI experiments.
CSE6607
Accessibility and Human Computer Interaction
3 Credit Hour Course
Users of computing systems across borders; Contexts and special needs for different types of populations; Technology adoption by different population and digital divide; Sustainable Development Goals; Computing solutions for disabled people: education for visually-impaired people and conversational aids for deaf people; Bridging solutions for different sects: street children, orphans, and extremely-impoverished people; Health computing for marginalized communities: refugees and homeless people; Computing for near-extinct and indigenous communities; Case studies for under-privileged populations.
CSE6608
Blockchain Technologies and Systems
3 Credit Hour Course
Evolution of Blockchain; Underlying architecture and operations of Blockchain; Decentralization through Blockchain; Types of Blockchain: public, private, hybrid, and consortium; Different development platforms and their applicability; Byzantine fault tolerance; Consensus algorithms in Blockchain: proof of work, proof of stake, and others; Important aspects of Blockchain: scalability, security, privacy, interoperability, and governance; Smart contract and its applications; Blockchain in different sectors: use cases.
CSE6701
Neural Networks
3 Credit Hour Course
Fundamentals of neural networks; Backpropagation and related training algorithms, Autograd, activation functions, loss functions, regularizations; Supervised Hebbian learning; Cohonen-Grossberg learning; The BAM and the Hopfield memory; Performance surfaces and optimum points, performance optimization, Widrow-Hoff learning; Different types of neural networks: counter propagation, probabilistic, radial basis functions, generalized regression, etc.; Adaptive resonance theory; Dynamical systems and neural control; Associative learning, Competitive networks; The Boltzmann machine; Self-organizing maps; Spatiotemporal pattern classification, The neurocognition; Practical aspects of neural networks.
CSE6702
Mathematical Programming
3 Credit Hour Course
Basic concept of Mathematical Programming, Concepts of linear and quadratic programming, Convexity, Convex sets and convex functions, Concept of integer programming, Some examples of integer programming problems, Linear programming techniques, Graphical solution of linear programming problems, Simplex method, Dual simplex method, Different integer programming techniques, Revised simplex method.
CSE6703
Petri Net Theory and Modeling of Systems
3 Credit Hour Course
Definition and types of Petri nets, Terms and notations marking, Importance of net theory, Transition firings, Practical modeling examples, Siphons and traps, Live ness and safeness, Behavioral properties, Deadlocks and siphons, Structural properties, Stochastic Petri Net (SPN).
CSE6704
Fuzzy Systems
3 Credit Hour Course
Basic Concepts; Fuzzy numbers; Fuzzy sets: Fuzzy relation, Approximate reasoning, Rules; Aggregation operations of Fuzzy sets; The theory of approximate reasoning; Fuzzy System Models and Developments; Fuzzy logic controllers; Fuzzy decision making: Fuzzy synthetic evaluation, Fuzzy ordering, Preference and consensus, Multi objective decision making, Fuzzy Bayesian, Decision method, Decision making under Fuzzy states and fuzzy actions; Fuzzy control design parameters: Rule base, database; Nonlinear fuzzy control; Adaptive fuzzy control; Defuzzification methods; Linguistic descriptions and their analytical forms; The flexible structure of fuzzy systems.
Image sampling and quantization; Image smoothing , sharpening and contrast enhancement in spatial and frequency domains: basic gray level transformation, histogram processing, image subtraction, image averaging, Gaussian and Laplacian filters in spatial and frequency domains, convolution theorem; Image de-noising: noise models, noise reduction by spatial and frequency domain filters, mean filter, adaptive filter, bandpass and band reject filters, notch filter, inverse filter, minimum mean square error filter; Multi-resolution image processing: wavelet transform in one and two dimensions, tree structured wavelet transform, pyramid structured wavelet transform, curvelet transform; Morphological image processing: erosion, dilation, opening, closing, hole filling, connected components, thinning, skeletons, extension of morphological operations to gray scale images; Image segmentation: thresholding, region based segmentation, contour based segmentation, graph based segmentation; Color image processing: color models and transformations, edge detection and segmentation in color images, color image compression; Digital image security; Image content feature extraction, representation and image retrieval; Concept learning and object recognition.
CSE6707
Image Retrieval
3 Credit Hour Course
Color models and their properties; Color feature extraction: color histogram, color coherence vector, color correlogram, dominant color descriptor, scalable color descriptor, color structure descriptor, color naming system; Texture feature extraction: moment based texture features, gray level co-occurrence matrix, features based on Gabor filter, wavelet and curvelet transforms, simultaneous autoregressive model, fractal dimension, edge detection and edge histogram; Shape feature extraction: image segmentation, contour representation by chain codes, Fourier descriptors, and curvature scale space, region descriptors; local and global features; Distance measures; Performance metrics; Databases; Tradition metadata based image retrieval; Content based image retrieval (CBIR) using low level color, texture and shape features; Issues in CBIR; Relevance feedback in image retrieval; Image understanding using support vector machines, neural networks, decision tree, Bayesian theorem, and ontology; Semantic image retrieval; Web image retrieval.
CSE6708
Semantic Web
3 Credit Hour Course
Semantic web: general overview, motivation, models, technologies; Data representation: traditional data-modeling methods, semantic relationships; Resource Description Framework (RDF): syntax, data structures, formal semantics (RDFS); Web Ontology Language (OWL): semantics, standards, logic, expressivity,
reasoning; Logic and inference: monotonic rules, facts and goals, OWL2 RL (Rule Language), Rule
Interchange Format (RIF), Semantic Web Rules Language (SWRL); Ontology: formats, rules, queries,
Simple Protocol and RDF Query Language (SPARQL); Ontology engineering: ontology construction, reuse
and acquisition, ontology mapping; Semantic web applications and application architecture; Semantic web
tools.
CSE6709
Deep Learning
3 Credit Hour Course
Foundations of Neural Networks and Deep Learning: components of a learning algorithm, activation functions, loss functions, back propagation, multi-layer perceptron, regularization, dropouts, weight decay, batch normalization, optimization algorithms; Convolutional Neural Networks (CNN): convolution and pooling, variants of convolutional layers, dilated convolution, transfer learning; Recurrent Neural Networks (RNN): computing gradients in RNN, deep RNN; sequence-to-sequence architectures, word embedding, recursive networks, backpropagation through time, vanishing and exploding gradients, long short term memory (LSTM), self attention, transformer; Deep Unsupervised Learning: autoencoders, variational autoencoders, generative adversarial networks; Advance topics: graph neural networks, deep reinforcement learning, attention and memory models.
CSE6710
Reinforcement Learning
3 Credit Hour Course
Reinforcement Learning (RL) task formulation: action space, state space, environment definition; Markov decision processes; Tabular based solutions: dynamic programming, Monte Carlo, temporal-difference; Function approximation solutions: Deep Q-networks; Model-free RL: policy gradients, proximal policy optimization, deep deterministic policy gradient, actor-critic algorithms, value function methods, RL with Q-functions; Model-based reinforcement learning: stochastic optimization, Monte Carlo tree search, trajectory optimization, uncertainty in model-based RL, model-based policy learning; Imitation learning: behavioral cloning, inverse RL, generative adversarial imitation learning; Transfer and multitask learning; Meta reinforcement learning; Distributed reinforcement learning; Multi-agent learning: partial observable environments; Bandits, exploration and exploitation, Hierarchical RL; Applications of RL in robotics, autonomous systems, natural language processing, and game theory.
CSE6801
Distributed Computing Systems
3 Credit Hour Course
Distributed object systems, Retrieving and caching of distributed information, Distributed data replication and sharing, Performance issues, Algorithms for deadlock detection, Concurrency control and synchronization in distributed system, Models for distributed computation, Networking facilities and resource control and management methods in network and distributed operating systems, Collaborative applications, Wide area network computing, Web based commerce, Agent systems and Market based computing.
CSE6802
Multimedia Systems
3 Credit Hour Course
Overview to Multimedia Systems, Multimedia storage, Data compression techniques for audio and video, Synchronization, Multimedia networking and protocols, QOS principles, Video streams on ATM, Mobile multimedia communications, Operating system support for multimedia, Hypermedia system, Standards for multimedia, Multimedia database and Multimedia Applications.
CSE6803
Computer Graphics and Animation
3 Credit Hour Course
Advanced Graphic Techniques: Graphics basics, Three dimensional drawings, Geometric forms and models, Hidden surfaces, Fractals; Advanced rendering Techniques: Shadow generation techniques, Texture and environment mapping techniques, Procedural texture mapping and modeling, Ray tracing, Radiosity methods, Global illumination models, Volume rendering techniques; Advanced Animation: Animation articulated structures, Soft object animation, Procedural animation.
CSE6804
Computer Communications and Networks-I
3 Credit Hour Course
Network security- Authentication protocols and Digital signatures, email privacy; Modifications of TCP; TCP over ATM; ATM internetworking; ATM service categories and quality of services; ATM switch architectures and their performance; Digital switching; Traffic analysis; Fiber optics networks – optical packet switching; Metropolitan networks, Wide area networking, Gigabit Ethernet, ADSL.
CSE6805
Computer Communications and Networks-II
3 Credit Hour Course
HTTP, pHTTP and recent advances in internet protocols; Web server performance, proxy servers, load balancing in web servers; IP switching: Tag switching, Multi-protocol label switching; IP security; Queuing models for networks and protocols; Real time protocols: RTP, RTCP, RTSP; Voice over IP; Distributed object technology for networking; Networks agents; Active networks and protocol boosters, Multimedia Networking: Integrated Service, Differential Service, MPLS.
CSE6806
Wireless and Mobile Communication Networks
3 Credit Hour Course
Characteristics of cellular communications; QOS in cellular communications; Wireless LAN; Wireless ATM and media access protocols for WATM; Wireless application protocols; Wireless personal communications; Mobile IP; Spread spectrum techniques: DSSS, FHSS, CDMA, GSM, CPDP; satellite communications – internetworking via satellites; Mobile satellite communications.
CSE6807
Elements of Cryptography
3 Credit Hour Course
Classical Cryptography: Introduction to simple cryptosystems, Cryptanalysis; Shannon's Theory: Perfect secrecy, Entropy, Product cryptosystems; Data Encryption Standard: Description of DES, Differential cryptanalysis; RSA System and Factoring: Public-key cryptography, RSA cryptosystem, Attacks on RSA, Factroing algorithms; Other Public-key cryptosystems: ElGamal cryptosystem and discrete logs, Merkle-Hellman Knapsack System; Signature Schemes: ElGamal signature schemes, Digital signature standard, Fail-stop signatures; Hash Functions: Signatures and Hash functions, Collision-free Hash functions, Birthday attack; Key Distribution and Key Agreement: Key predistribution, Kerboros, Diffie-Hellman key exchange; Identification Schemes: Schnorr identification scheme, Okamoto identification schemes; Authentication Codes: Computing deception probabilities, Combinatorial bounds, Entropy bounds; Secret Sharing Schemes: Shamir threshold scheme, Access structure and general secret sharing; Pseudo-random Number Generation: Indistinguishable probability distribution, probabilistic encryption; Zero-knowledge proofs: Interactive proof systems, computational Zero-knowledge proofs.
CSE6808
Wireless Resource Management
3 Credit Hour Course
Resource management architecture: evolution and components of QoS and cross-layer architecture for bandwidth management; tri-band and smart antenna; handoff management; mobility prediction; resource management and connection admission control; bandwidth allocation and scheduling: real-time guaranteed and fair real-time scheduling; inter-domain radio resource management; high performance broadband architecture; wireless truthful computing; resource allocation of spatio-temporal division multiple access control; resource management schemes for connectivity: Piconet and scatternet; energy efficient MAC layer protocols for wireless ad-hoc networks; routing and resource discovery for wireless ad-hoc networks: QoS based routing, topology management, efficient resource discovery, hybrid routing protocols, and localization; energy efficient broadcasting and multicasting algorithms; power-conserving broadcasting and multicasting algorithms; scopes of increasing wireless resources, research and future developments.
CSE6809
Distributed Search Techniques
3 Credit Hour Course
Large-scale distributed systems: properties and examples; search requirements in service discovery, peer-to-peer content sharing and distributed XML databases; unstructured techniques: intelligent flooding, hint-based routing, etc.; basic structured techniques: Chord, CAN, Tapestry, Kademlia, etc.; advanced structured techniques: pSearch, Squid, SkipNet, etc.; Signature search techniques using Bloom filters; Distributed Pattern Matching (DPM) problem and its applications; distributed crawling and indexing techniques.
CSE6810
Multimedia Encoding
3 Credit Hour Course
Introduction; Multimedia data: image, audio, and video; Image encoding: Transform coding, vector quantization, and Fractal encoding; Image encoding standards; Audio encoding: Liner predictive coding, filter bank design, psychoacoustic models, Code Excited Linear Prediction (CELP), Algebraic CELP, Regular Pulse Excitation, Multi Pulse Excitation, and Vector-sum Excited Linear Prediction ; Audio encoding standards; Video encoding: motion prediction (full search, ½ pel and ¼ pel precision), and Fine-granular scalable encoding (Bit-plane encoding); Video encoding standards; Video file formats; Video storage mediums; Audio-video Channel coding.
CSE6811
Wireless Ad Hoc Networks
3 Credit Hour Course
Introduction: applications and motivations; broadcasting protocols: algorithmic aspect, optimization techniques, power-efficient broadcasting;, routing protocols: DSDV, AODV, DSR, position based routing protocols, load balancing techniques, multi-path routing; medium access control protocols: reservation-based MAC protocols, Bluetooth technology, IEEE 802.11 based MAC protocols; channel propagation models; topology control protocols; power aware protocol design; cross layer design principles; mobility awareness; fairness and security issues: attacks and preventions; stimulating cooperation: self policing schemes, economic incentive based schemes; other state-of-the-art relevant topics.
CSE6812
Wireless Sensor Networks
3 Credit Hour Course
Introduction: applications; Localization and tracking: tracking multiple objects; Medium Access Control: S-MAC, IEEE 802.15.4 and ZigBee; Geographic and energy-aware routing; Attribute-Based Routing: directed diffusion, rumor routing, geographic hash tables; Infrastructure establishment: topology control, clustering, time synchronization; Sensor tasking and control: task-driven sensing, information-based sensor tasking, joint routing and information aggregation; Sensor network databases: challenges, querying the physical environment, in-network aggregation, data indices and range queries, distributed hierarchical aggregation; Sensor network platforms and tools: sensor node hardware, sensor network programming challenges; Other state-of-the-art related topics.
CSE6813
Network Security
3 Credit Hour Course
Network security policies, strategies and guidelines; Network security assessments and matrices; Different attacks: Denial of Service attack (DoS), Distributed Denial of Service (DDoS) attack, Eavesdropping, IP spoofing, Sybil attack, Blackhole attack, Grayhole attack, Man-in-the-middle attack, Passwords-based offline attacks; Network security threats and attackers: Intruders, Malicious software, Viruses and Spy-ware; Security standards: DES, RSA, DHA, Digital Signature Algorithm (DSA), SHA, AES; Security at Transport layer: Secure Socket Layer (SSL) and Transport Layer Security (TLS); Security on Network layer: IPSec; Network security applications: AAA standards, e-mail securities, PGP, S/MIME; PKI smart cards; Sandboxing; Firewalls and Proxy server; Security for wireless network protocols: WEP, WPA, TKIP, EAP, LEAP; Security protocols for Ad-hoc network; Security protocols for Sensor network; Security for communication protocols; Security for operating system and mobile agents; Security for e-commerce; Security for LAN and WAN; Switching and routing security; Other state-of-the-art related topics.
CSE6814
Cloud Security
3 Credit Hour Course
Introduction to cloud computing; Cloud computing security concepts and threat model; Attacks and attack surfaces in cloud:utilizing side channels for attacks; Mapping/topology attacks: mapping the cloud and determining co-residence, information leakage in the cloud;Securing cloud in the control plane: the IaaS security problem, cloud computing audit with a third party, using Trusted Platform Module (TPM) to secure cloud; Securing data in cloud: provable data possession, remote data checking protocols; Securing computation in cloud: verifying computation in cloud, correctness of data flow operations, randomized data attestation, integrity attestation graph; Cloud forensics: secure provenance, identifying authorship and confidentiality preservation; Privacy in cloud: differential privacy schemes, securing MapReduce for privacy and confidentiality; Malware in cloud; Attacking availability: DoS attack on cloud, topology identification, mitigation strategy; Virtual machine security: protection of VMM, virtual machine threats; Authentication in cloud: multi-agent authentication, mandatory access control.
CSE6815
Biometric Security
3 Credit Hour Course
Basic concepts of biometric security; Anatomical and physiological traits recognition: fingerprint, hand geometry, iris, speaker, retina, vein, signature, gut and face; Guidelines, applications and procedures for implementing a biometric security system in aLAN, WAN or wireless infrastructure; Biometric encoding techniques: binarization, WSQ; Biometric template generation and parameter management protocol; Biometric key management: biometric key generation, biometric discretization for template protection and visual biometric cryptography; Privacy and security assessment of biometric systems and templates; Authentication: biometric-protected authentication connection establishment, collaborative design for distributed biometric-based authentication in the cloud and smart card based biometric authentication; Privacy-enhanced biometric system protocol design and implementation; Other biometric security technologies: watermarked biometrics, 3D fingerprints.
CSE6816
Security in IoT
3 Credit Hour Course
Introduction to IoT; IoT applications: Smart home, smart wearables etc.; Building IoT devices with Raspberry Pi; Security threats and attacks in IoT: intrusion detection in IoT; IoT communication protocols: Message Queuing Telemetry Transport (MQTT), HTTP, HTTPS and Websockets etc.; Cloud based IoT Management: Amazon AWS IoT and others; Secure bootstrapping for secure IoT system; IoT system security and TrustZone; Data trustworthiness and privacy in IoT.
CSE6817
Software and Application Security
3 Credit Hour Course
Secure coding practices and processes; Security in operating systems; Top 10 web application security risks; Web application security standards; Web application security and associated threat vectors/attack methods; Secure development processes: web application secure configuration techniques; Mobile application security; Collusive malware; Legal issues related to securing vital digital assets; Vulnerability and risk mitigation; Vulnerability assessments and QA testing; PCI DSS Compliance.
CSE6818
Digital Forensics
3 Credit Hour Course
Introduction to Digital Forensics: computer crimes, evidence, extraction, preservation, etc.; Analysis Techniques; Data Acquisition of physical storage devices: disk imaging, recovering swap files, temporary and cache files; Chain of custody; Overview of hardware and operating systems: structure of storage media/devices; Windows/Macintosh/Linux registry, boot process, file systems, file metadata; File carving and document analysis; Data recovery: identifying hidden data, Steganography, recovering deleted files; Memory forensics: Image acquisition, Memory image analysis using Volatility, Detecting code injection etc.; Cell phone and mobile device Investigations; E-mail forensics; Database forensics; Network forensics; Intrusion analysis; Virtual Machine and Cloud forensics; Application analysis; Computer forensic tools; Programming for digital forensics; Computer crime and legal issues; Forensic documentation.
CSE6819
Human Factors in Cyber Security
3 Credit Hour Course
Primary themes and challenges of human-centered security; Designing appropriate security solutions and justifications of the choices; Usability, privacy, and security issues in a given system; User studies to evaluate the usability and security of computing systems; Approaches to establishing and maintaining privacy; Risks of different types of users; Causative effects of particular human behaviors in a security setting; Common threats: critique and design solutions to mitigate them; Social engineering and its significance; Cyberpsychology and its impacts on security; Security over social media.
CSE6820
Industrial Cyber Security
3 Credit Hour Course
Industrial cyber security (ICS) fundamentals: Industrial control system architecture, industrial demilitarized zone, and designing the ICS architecture with security in mind; Security monitoring: introduction to security monitoring, passive security monitoring, active security monitoring, industrial threat intelligence, visualizing, correlating, and alerting; Industrial cyber security: threat hunting; Security assessments and intelligence: different types of cyber security assessments, industrial control system risk assessments, and penetration testing of ICS environments; Incidence response for ICS environments.
CSE6821
Ethical Hacking and Penetration Testing
3 Credit Hour Course
Introduction to information security; Ethical hacking; Footprinting and Reconnaissance; Information gathering techniques; Vulnerability assessment; System hacking; Malware threats; Network sniffing; Social engineering; Denial of service; SQL injection; Session hijacking; Remote exploitation; Clientside exploitation; Post-exploitation; Wireless hacking; Web hacking; Hacking mobile platforms; Evading IDS, firewalls, and honeypots; IoT and OT Hacking.
CSE6822
Malware Analysis
3 Credit Hour Course
Introduction to malware analysis: different types of malware analysis; Static malware analysis; Dynamic malware analysis; Assembly language and disassembly; x86 disassembly and analysis; Disassembly using IDA; Debugging malicious binaries; Malware functionalities; Malware persistence methods; Code injection and hooking; Malware obfuscation techniques; Hunting malware using memory forensics; Detecting advanced malware using malware forensics; Anti reverse engineering; Malware analysis for mobile devices.
CSE6823
Information Security Management
3 Credit Hour Course
Introduction to information security management; Compliance: laws and ethics; Governance and strategic planning for security; Information security policy: enterprise, issue-specific, system-specific security policies and effective policy development and implementation; Developing the security program: organizing for security, components of the security program, security education, training, and awareness, and project management in information security; Risk management: assessing risk; Risk management: treating risk; Security management models: security management models, security architecture models, access control models, and academic access control models; Security management practices; Planning for contingencies: contingency planning, incidence response, disaster recovery, business continuity, and crisis management; Security maintenance; Protection mechanisms; Investigation and remediation.
CSE6824
Vehicular Ad Hoc Networks
3 Credit Hour Course
Basic principles and challenges of Vehicular Ad hoc Networks (VANETs); Applications and requirements of communication systems; Methods for information dissemination and aggregation; Efficiency and convenience; Mobility models for vehicular traffic; Physical layer aspects of communication systems; Aspects of Medium Access Control protocols, and congestion control; Network layer; Transport layer; Connected Autonomous Vehicles: Inter-vehicle communication, Roadside unit-vehicle communication, and Hybrid-vehicle communication; Privacy aspects; Security aspects; Standardization versus flexibility.
CSE6900
Special Topics Related to Computer Science and Engineering
3 Credit Hour Course
Syllabus should be approved by BPGS prior to the commencement of the term. In each term only one such course title under this course number can be offered. Furthermore one student can take such course only once.
CSE6999
Industrial Software Project
3 Credit Hour Course
Industrial software project under the joint supervision of a faculty member from CSE, BUET and a supervisor from industry.