You are on page 1of 15

UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

COURSE DESCRIPTIONS
CORE COURSES
CS101 Introduction to Computing (2 3 3): History and basic memory allocation, function pointers, ADTs and C++ classes,
components of a computer system, approaches to solving problems constructor, destructors, static data members and functions, constant
using computers, problem solving in C++, control structures, data members and functions, copy constructor, inheritance, virtual
functions, structures, arrays and strings, pointers and advanced topics functions and polymorphism, operator overloading, function and
in arrays, file handling, graphics, etc. class templates, exception handling, I/O streams and file handling,
Prerequisite(s): None graphic mode programming, GUI programming, introduction to
Core for: Other faculties standard template library.
Prerequisite(s): CS103
CS103Computer Programming (3 3 4): Computers and their Core for: AI, CE, CS
applications, types of computers, history of computers, hardware and
software, peripheral devices, data representation and conversion – CS121Fundamentals of Computer Science(3 0 3): A bird-eye view
Binary and Decimal number systems, ASCII/Unicode representation, of computer science, basics of computer organization and hardware,
microprocessors, primary and secondary memory, storage devices, operating systems, networking and the Internet, algorithm
networks, types of networks, algorithms, flowcharts, pseudocode, development, software engineering, databases, use of computers in
components of algorithms, formal specification of pseudocode, various domains, and recent and future trends in IT.
comments, assignment operators, simple and nested control Prerequisite(s): None
structures, switch statements, repetition via loops, lists and arrays, Core for: AI, CS
passing arrays to functions, searching in arrays, pointers, function
pointers, references, library functions, and Standard Template Library EE121 Fundamentals of Logic Design (3 3 4): Deals with the basic
(STL). concepts and tools used to design digital hardware consisting of both
Prerequisite(s): None combinational and sequential logic circuits, Boolean algebra, logic
Core for: AI, CE, CS gates, combinational logic design, sequential logic design, memory,
programmable logic devices (PLDs), introduction to hardware
CS112 Object-Oriented Programming(3 3 4): User defined data description language (HDL) and their use to design the basic digital
types, structures, unions and enumerations, recursion, preprocessing hardware.
in C++, bit manipulation, strings, pointers, reference and dynamic Prerequisite(s): None
Core for: AI, CE

CS131 Discrete Structures (3 0 3): Formal logic, quantifiers and


predicates, tautologies, rules of inferences, proof techniques,
mathematical induction, recurrence relations, set theory, counting,
permutations and combinations, relations and functions, Boolean
algebra, introduction to group theory and algorithms.
Prerequisite(s): None
Core for: AI, CE, CS

AI201 Programming for AI (2 3 3): IDE for the language (e.g., Jupyter
Notebook or IPython), variables, expressions, operands and
operators, loops, control structures, debugging, error messages,
functions, strings, lists, object-oriented constructs and basic graphics
in the language, writing production quality clean code in the
programming language using version control (git and subversion),

42
FACULTY OF COMPUTER SCIENCE AND ENGINEERING UNDERGRADUATE PROSPECTUS 2020

pertinent libraries necessary for interpreting, analyzing and plotting techniques in Artificial Intelligence.
numerical data (e.g., NumPy, MatPlotLib, Anaconda and Pandas for Prerequisite(s): None
Python) and examples of each library using simple use cases and small Core for: AI
case studies.
Prerequisite(s): CS112 CS221 Data Structures & Algorithms (3 3 4): Introduction to data
Core for: AI structures and algorithms, arrays, stacks, infix, postfix and prefix
notations, recursion, backtracking, binary search, queues, linked lists,
CS201 Introduction to Computer (3 0 3): Technical introduction to trees, graphs and operations, algorithm performance, complexity
computer and information sciences to undergraduate business issues, sorting algorithms, searching algorithms, hashing, dynamic
students with focus on developing an elementary knowledge of memory management.
computing; basic and applied knowledge of computer operating Prerequisite(s): CS112
systems and computer applications; Microsoft Office Applications Core for: AI, CE, CS
(Microsoft Word, Microsoft Excel, Microsoft PowerPoint Microsoft
Access and Visio); computer hardware, software, operating systems, EE221 Logic Design (3 3 4): Deals with the basic concepts and tools
data communication through internet and Microsoft applications; used to design digital hardware consisting of both combinational and
database management through Microsoft Access. sequential logic circuits, Boolean algebra, logic gates, combinational
Prerequisite(s): None logic design, sequential logic design, memory, programmable logic
Core for: MGS devices (PLDs), introduction to hardware description language (HDL)
and their use to design the basic digital hardware.
ES203 Complex Variables and Transforms (3 0 3): Complex Prerequisite(s): None
numbers and functions. Complex integration. Power series, Taylor Core for: CS
series. Laurent series, residue integration. Laplace Transform. Use of
Laplace transform in solving differential equations. CS222 Computer Organization and Assembly Language
Prerequisite(s): MT101 (3 3 4): Microprocessor bus structure: addressing, data and control,
Core for: CE memory organization and structure (segmented and linear models),
introduction to registers and flags, data movement, arithmetic and
EE211Circuit Analysis (3 3 4): Fundamentals of circuit analysis, logic, programme control, subroutines, stack and its operation,
Voltage, Current, Sources, Ohm's law, Develop methods and peripheral control interrupts, interfacing with high level languages,
procedures (nodal/mesh analysis, network theorems) to resolve real-time applications.
complex electric circuits, Solutions for resistive circuits followed by
complex elements, e.g., capacitors, inductors and operational Objectives and perspectives of Assembly language, addressing
amplifiers, Circuits with DC sources, and Circuits with sinusoidal modes, introduction to the assembler and debugger, manipulate and
sources. translate machine and assembly code, describe actions inside the
Prerequisite(s): MT101 processing chip, discuss operations performed by an instruction set,
Core for: CE write documented programs, using an assembler of choice.
Prerequisite(s): CS112
AI221 Introduction to AI (3 3 4): Introduction to Artificial Core for: AI, CE, CS
Intelligence and its applications towards Knowledge Based Systems;
Introduction to Reasoning and Knowledge Representation, Problem CS224 Formal Languages and Automata Theory (3 0 3): Study of
Solving by Searching – Informed searching, Uninformed searching, regular languages, regular expressions and finite state machines,
Heuristics, Local searching, Adversarial Search, Min-max algorithm, deterministic and non-deterministic finite state machines, pushdown
Alpha beta pruning, Game-playing; Case Studies: General Problem automata, context free grammar, Turing machines and applications of
Solver, Eliza, Student, Macsyma; Learning from examples; Natural various kinds of finite state machines.
Language Processing; Recent trends in AI and applications, Prolog Prerequisite(s): CS231
programming language to explore and illustrate various issues and Core for: CS

43
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

CS225 Introduction to Software Engineering (3 0 3): Software AI304 Advanced Statistics for AI (3 0 3): Review of probability and
development life cycle, software development processes, software distributions, tests of hypothesis, types of errors, create and interpret
requirement identification and specification, system analysis, software data visualizations using the Python programming language and
architecture, software design approaches: object-oriented and associated packages & libraries, apply statistical modeling techniques
function-oriented, user interface design, program design techniques, to data (i.e., linear and logistic regression, linear models, multilevel
software testing and maintenance, software technical metrics, models, Bayesian inference techniques), apply and interpret inferential
introduction to quality assurance and project management. procedures when analyzing real data, understand importance of
Hands-on Practice: using Microsoft Project, introduction to MS .Net connecting research questions to data analysis methods.
framework, introduction to Windows form programming in MS .Net, Prerequisite(s): ES202
creating user interfaces in .Net, debugging applications, performance Core for: AI
testing of applications.
Prerequisite(s): CS221 CS311 Operating Systems (3 3 4): History and goals, evolution of
Core for: CS multi-user systems, process and CPU management, multithreading,
kernel and user modes, protection, problems of cooperative
AI231 Knowledge Representation and Problem Solving (3 3 4): processes, synchronization, deadlocks, memory management and
Propositional Logic, First-order Logic, Horn Clauses, Description Logic, virtual memory, relocation, fragmentation, paging and segmentation,
Reasoning using Description Logic, Forward and Backward Chaining in secondary storage, security and protection, file systems, I/O systems,
Inference Engines, Semantic Networks, Ontologies and Ontology introduction to distributed operating systems, scheduling and
Languages, Logical Agents, Planning, Rule-based Knowledge dispatch, introduction to concurrency.
Representation, Reasoning Under Uncertainty, Bayesian Networks Prerequisite(s): CS221
Representation, Inference in Bayesian Networks, Fuzzy Logic, Core for: AI, CE, CS
Inference using Fuzzy Rules, Markov Models, Commonsense
Reasoning, Explainable AI. CS312 Systems Programming (3 3 4): Programming over Linux, gcc
Prerequisite(s): CS221 and associated tools, file I/O with low-level file descriptors, the
Core for: AI standard I/O library, error reporting mechanisms, kernel statistics and
parameter modifications, process creation and management system
EE231 Electronics I (3 3 4): Introduction to basic electronics, calls, signals and associated system calls, pipes and FIFOs, single and
semiconductor diode, diode applications, bipolar junction transistor,
transistor configurations, DC biasing, field-effect transistor, BJT and
FET small signal equivalent circuit models, design of BJT and FET
amplifiers, differential amplifiers.
Prerequisite(s): EE211
Core for: CE

CS232 Introduction to Databases (3 3 4): Introduction to databases,


basic concepts and architecture, relational model, SQL, data
manipulation, data definition language, methodology-conceptual,
logical, physical database design, data modeling, entity-relationship
diagrams, functional dependencies, normalization, relational database
design, relational algebra, record storage and primary file
organization, query processing and optimizations, transaction
processing, concurrency control.
Prerequisite(s): CS221
Core for: AI, CE, CS

44
FACULTY OF COMPUTER SCIENCE AND ENGINEERING UNDERGRADUATE PROSPECTUS 2020

multiple reader/writers, semaphores, shared memory and message- conceptual model, use case diagrams, object models, class diagrams,
queues, sockets, attributes and addressing schemes, multiple client system sequence diagram, object-oriented life cycle, modeling user
connections, connectionless socket communication. interface requirements, designing and evaluating methods,
Prerequisite(s): CS311 synchronizing dependent attributes, normalizing classes with
Core for: CS dependent data, design at the object, etc.
Prerequisite(s): CS221
CS313 Computer Communications & Networks (3 3 4): Core for: CE
Introduction to data communications, network topologies, LAN and Specialization(s): CS
WAN, OSI model of computer communications, communications
media, data link layer, network layer, transport layer, TCP/IP protocols, CE324 Microprocessor Interfacing (3 3 4): Introduction to 16-bit
switching and routing, networking technologies. microprocessor, software model, addressing modes, instruction set,
Prerequisite(s): CS311 assembly language programming, hardware model, read/write cycles,
Core for: CS exception/interrupt processing, interfacing to ACIA, PIA, PI/T, DMA,
A/D, D/A converters, introduction to micro-controllers and embedded
AI319 Computer Vision (3 3 4): Foundation of image formation, systems.
measurement, and analysis, geometric relationships between 2D Prerequisite(s): CS222
images and the 3D world, object and scene recognition and Core for: CE
categorization from images, fundamentals of image formation,
camera imaging geometry, image filtering, feature detection and CS324 Computer Architecture (3 0 3): Fundamentals of computer
matching, stereo vision, motion estimation and tracking, image design including performance measurements and quantitative
classification and scene understanding. principles, principles of Instruction Set Design, operands, addressing
Prerequisite(s): AI341 modes and encoding, pipelining of processors: issues and bottlenecks,
Core for: AI exception handling features, instruction-level parallelism and dynamic
handling of exceptions, memory hierarchy design, cache design,
CS323 Object Oriented Analysis and Design (3 0 3): Evolution of performance issues and improvements, main memory performance
Object Oriented (OO) programming, OO concepts and principles, issues, storage systems, multiprocessors and thread level parallelism,
problem solving in OO paradigm, classes, methods, objects and case studies.
encapsulation; constructors and destructors, operator and function Prerequisite(s): CS222
overloading, virtual functions, derived classes, inheritance and Core for: CS
polymorphism, I/O and file processing, exception handling, UML: Specialization(s): AI

CS325 Software Engineering (3 0 3): Software development life


cycle, software development processes, software requirement
identification and specification, system analysis, software architecture,
software design approaches: object-oriented and function-oriented,
user interface design, program design techniques, software testing
and maintenance, software technical metrics, introduction to quality
assurance and project management.
Hands-on Practice: using Microsoft Project, introduction to MS .Net
framework, introduction to Windows form programming in MS .Net,
creating user interfaces in .Net, debugging applications, performance
testing of applications.
Prerequisite(s): CS112
Core for: AI, CE

45
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

AI341 Deep Neural Networks (3 3 4); Introduction to biological and CS351 Artificial Intelligence (3 3 4): Overview of artificial
artificial neurons, learning from data, artificial neural networks and intelligence, issues and application, knowledge representation,
non-linear activation functions, error back propagation and restricted searching techniques, pruning, heuristics, production systems, basic
Boltzman machine algorithms, deep vs. shallow learning, data elements of Prolog language, expert systems, neural networks,
augmentation, theory of generalization, convolutional neural robotics, etc.
networks, recurrent neural networks, deep unsupervised and Prerequisite(s): CS221
reinforcement learning, parallel computing for AI (GPU computing, Core for: CS
CuDNN etc.), and application areas of deep learning – speech Specialization(s): CE
recognition, images, vision, etc.
Prerequisite(s): AI231 AI361 Natural Language Processing (3 3 4); Deterministic and
Core for: AI stochastic grammars, parsing algorithms, CFGs, representing
meaning/semantics, semantic roles, temporal representations,
CE341 Signals & Systems (3 3 4): Introduction to continuous and corpus-based methods, N-grams and HMMs, smoothing and backoff,
discrete-time signals, concept of frequency, A/D and D/A conversion, POS tagging and morphology, information retrieval, vector space
sampling theorem, discrete-time systems: representation, model, precision and recall, information extraction, language
classification and analysis, characteristics of LTI systems, convolution
and correlation, z-transform, Fourier transform, Laplace transform,
time and frequency domain analysis, introduction to digital filters.
Prerequisite(s): MT201
Core for: CE

CS342 Numerical Analysis & Computational Methods (3 0 3): Error


and computer arithmetic, root finding for non-linear equation,
interpolation and polynomial approximation, solution of system of
linear equations, numerical differentiation and integration, numerical
solution of ordinary differential equations.
Prerequisite(s): MT201
Core for: CS

AI351 Introduction to Machine Learning (3 3 4): Introduction to translation, text classification, categorization, and bag of words
machine learning; concept learning: General-to-specific ordering of model.
hypotheses, Version spaces Algorithm, Candidate elimination Prerequisite(s): CS221
algorithm; Supervised Learning: decision trees, Naive Bayes, Artificial Core for: AI
Neural Networks, Support Vector Machines, Overfitting, noisy data,
and pruning, Measuring Classifier Accuracy; Linear and Logistic CE362 Signal Processing (3 0 3): Discrete-time signals, sampling
regression; Unsupervised Learning: Hierarchical Agglomerative theory, interpolation and decimation, discrete-time Fourier transform,
Clustering. k-means partitional clustering; Self-Organizing Maps z-transform, discrete Fourier transform, fast Fourier transform, digital
(SOM) k-Nearest-neighbor algorithm; Semi-supervised learning with filter design techniques, parallel IIR and FIR filters, finite word length
EM using labeled and unlabeled data; Reinforcement Learning: effects, introduction to discrete stochastic processes.
Hidden Markov models, Monte Carlo inference Exploration vs. Prerequisite(s): CE341
Exploitation trade-offs, Markov Decision Processes, Ensemble Core for: CE
Learning, Using committees of multiple hypotheses, Bagging, and
Boosting. CE413 Computer Networks (3 3 4): Introduction to data
Prerequisite(s): CS221 communications, network topologies, LAN and WAN, OSI model of
Core for: AI computer communications, communications media, data link layer,

46
FACULTY OF COMPUTER SCIENCE AND ENGINEERING UNDERGRADUATE PROSPECTUS 2020

network layer, transport layer, TCP/IP protocols, switching and Combinational Circuits, Hazards and Glitches, Review of sequential
routing, networking technologies. logic; HDL Behavioural, Sequential coding, and ModelSim – design
Prerequisite(s): CS311 using flip-flop and latches, state machines, state reduction, timing
Core for: AI, CE issues, design of adders and subtractors, carry lookahead adders,
serial adders, array multipliers, critical paths, Booth and Radix-4
CS417 Parallel Processing (3 3 4): High performance architectures encoded signed multipliers, further VHDL modeling,
and programming languages; graph concepts: control flow graph, parameterization; FPGA Implementations – LFSR, BRM, Function
dominance frontiers, data dependence in loops and parallel Generators, Design Examples, Faults and Testability – BIST and SCAN
constructs; program dependence graph; loop transformations, inter- techniques, Design for test – JTAG, Advanced HDL – Memories and
procedural transformations; concurrency analysis: synchronization, Register Files, Design Examples
strength reduction, nested loops; vector analysis; message-passing Prerequisite(s): CE324
machines; communicating sequential processes. Core for: CE
Prerequisite: CS311
Core for: AI, CS CS464 Data and Network Security (3 0 3): Introduction, cryptology
and simple cryptosystems, conventional encryption techniques,
CS424 Compiler Construction (3 3 4): Study and practical stream and block ciphers, DES, more on block ciphers, advanced
implementation of lexical analysis, syntax analysis using top down and encryption standard, confidentiality and message authentication:
bottom up approaches, LL, LR, and LALR parsers, semantic analysis hash functions, number theory and algorithm complexity, public key
using attributed grammars and dependency graphs, intermediate encryption, RSA and discrete logarithms, elliptic curves, digital
code generation using three address codes and code optimization. signatures, key management schemes, identification schemes, dial-
Students are required to implement a small compiler using modern up security, e-mail security, PGP, S-MIME, kerberos and directory
compiler writing tools. authentication, emerging Internet security standards, SET, SSL and
Prerequisite(s): CS224 IPsec, VPNs, firewalls, viruses, miscellaneous topics.
Core for: CS Prerequisite(s): CS311
Specialization(s): CE Core for: AI, CS

CE436 Digital Systems Design (3 0 3): Arithmetic circuits – CS478 Design & Analysis of Algorithms (3 0 3): Introduction,
Datapaths, arithmetic/logic unit (ALU), shifters; computer design comparison sorting, integer sorting and selection; lower bounds,
fundamentals – introduction to computer design, Instructions set divide and conquer, master theorem, dynamic programming, graph
architecture (ISA); introductory HDL – 1 (Verilog or VHDL) – timing in representation, traversal, ordering, shortest paths, greedy algorithms,
minimum spanning trees, string algorithms, amortized analysis,
computational geometry, NP-completeness and approximation.
Prerequisite(s): CS221
Core for: AI, CS
Specialization(s): CE

CS481 & CS482 Senior Design Project – I & II (6 Credits)


(0 18 6): The aim of the course is to fine tune the general computing
skills of the students in a specific area and exercise their
communication skills. It will allow students to choose a specific area of
study of interest to them and to choose a method of working which is
suited to their area of study. Therefore, some may adopt a research-
oriented approach while others may concentrate on building specific
systems to solve known problems.
Core for: AI, CE, CS

47
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

SPECIALIZATION COURSES
AI309 Deep Reinforcement Learning and Control (3 0 3): of android platform, using emulator, debugging and DDMS, content
Introduction to autonomous systems, self and reinforcement providers, App. networking, App. multimedia, App. 2D and 3D
learning, core challenges and approaches to meet challenges, graphics, using sensors, publishing, designing Apps using XAML,
generalization and exploration, algorithms for control policies guided introduction to iPhone platform, iPhone supported development
by reinforcement, demonstrations and intrinsic curiosity, evaluating features and tools for developing mobile web applications.
complexity, generalization and generality of algorithms, examples of Prerequisite(s): CS221
autonomous tasks, e.g., robotics, game playing, consumer modelling, Specialization(s): CS
healthcare, etc.
Prerequisite(s): AI202 CS327 Software Engineering II (3 0 3): Product and process,
Specialization(s): AI objected oriented analysis, formal methods, algebraic approaches,
verification, introduction to Z language and formal specification,
CE317 Fundamentals of Parallel Processing (3 3 4): High function point analysis, refactoring, clean room software engineering,
performance architectures and programming languages; graph component bases software development, software re-engineering,
concepts: control flow graph, dominance frontiers, data dependence architecture and estimation.
in loops and parallel constructs; program dependence graph; loop Prerequisite: CS325
transformations, inter-procedural transformations; concurrency Specialization(s): CS
analysis: synchronization, strength reduction, nested loops; vector
analysis; message-passing machines; communicating sequential CS329 Fundamentals of Cyber Security (3 0 3): Cybersecurity
processes. fundamentals, principles of data and technology that frame and
Prerequisite: CS311 define cybersecurity, importance of cybersecurity and role of
Specialization(s): CE cybersecurity professionals, cybersecurity principles, security
architecture: processes and architecture, risk management, attacks,
CE318 Introduction to Digital Image Processing (3 0 3): incidents: response, categories, and recovery, emerging IT and IS
Introduction to digital image processing (DIP) and its applications, technology, mobile security issues, risks and vulnerabilities, cloud
image sensing and acquisition, sampling and quantization; concepts around data and collaboration.
mathematical tools for DIP, intensity transformation, spatial filtering; Prerequisite(s): CS221
discrete Fourier transform, filtering, image degradation and Specialization(s): CS
restoration; noise models, estimating degradation function, image
reconstruction; color models, color image processing, smoothing, CE339 Introduction to Data Science (3 0 3): Introduction to Big Data
sharpening; image segmentation, morphological image processing, Analytics, Data Analytics Lifecycle, Advanced Analytical Theory and
image compression, pattern recognition. Methods: Association Rules, Regression, Classification, Time Series
Prerequisite(s): CS221 Analysis, Text Analysis, MapReduce and Hadoop, Setting up Python
Specialization(s): CE for Data Science, Cross validation and optimization, Linear Algebra,
Statistics, Probability, Hypothesis and Inference.
AI328 Introduction to Development Operations (3 0 3): Basics of Prerequisite(s): CS221
Development Operations (DevOps), commonly used build tools, e.g., Specialization(s): CE
GIT and Jenkins, Build test automation, containerization using Docker,
Docker commands and use cases, Kubernetes, Spinnaker, Skaffold, CS352 Introduction to Soft Computing (3 0 3): Overview of the
etc. theoretical and the practical aspects of the soft computing paradigm,
Prerequisite(s): CS112 theory and applications of probabilistic graphical models and related
Specialization(s): AI topics, e.g., knowledge elicitation issues, belief updating in singly and
multiply connected networks, simulation schemes for belief updating,
CS326 Mobile Computing (3 0 3): State-of-the-art of mobile parameter and structure learning of Bayesian networks, integration of
computing platforms, introduction to mobile computing, architecture time and uncertainty, models of uncertain reasoning including belief

48
FACULTY OF COMPUTER SCIENCE AND ENGINEERING UNDERGRADUATE PROSPECTUS 2020

function theory and fuzzy logic, and biologically inspired of data mining process, methods and applications of knowledge
computational models (neural networks and evolutionary algorithms). representation, data preprocessing, data cleaning, data
Prerequisite(s): CS232 transformation, data reduction, discretization, generating concept
Specialization(s): CS hierarchies, Weka 3 data mining system, filters, statistics and
discretization in Weka, measures of interestingness, visualization
CE361 Communication Theory (3 0 3): Introduction to modern techniques and experiments in Weka, attribute-oriented analysis,
analog and digital communication systems, Fourier analysis of signals generalization, and relevance, class comparison, statistical measures,
and systems, signal transmission, amplitude and angle modulation algorithms and association rules, motivation and terminology, item
techniques, sampling theorem, PCM, DPCM, and delta modulation, sets, generating item sets and rules, correlation analysis, classification,
digital communication systems, principal of modern digital basic learning/mining tasks, inferring rudimentary rules: 1R algorithm,
communication systems including M-ary communication, digital decision trees and rules in Weka, statistical (Bayesian) classification,
carrier and multiplexing, and emerging digital communication Bayesian networks, instance-based methods (nearest neighbor),
technologies. linear models, training and testing in Weka, estimating classifier
Prerequisite(s):CE341 accuracy, combining multiple models (bagging, boosting, stacking),
Specialization(s): CE Minimum Description Length Principle (MLD), clustering, partitioning
methods: k-means, expectation maximization (EM), hierarchical
AI372 Nature Inspired Computing (3 0 3): Introduction, methods: distance-based agglomerative and divisible clustering,
characteristics of biological systems, adaptability, reactivity, Cobweb, text mining: extracting attributes, structural approaches
distributivism, comparison with traditional human-engineered (parsing, soft parsing), Bayesian approach to classifying text, web
approaches to problem solving, handling complex problems using mining: classifying web pages, extracting knowledge from the web,
computational methods modeled after design principles encountered and data mining software and applications.
in nature, foundations of complex systems and theoretical biology, Prerequisite(s): AI231
distributed architectures of natural complex systems, production of Specialization(s): AI
informatics tools with enhanced robustness, scalability, flexibility,
interface with humans, principles of biology, informatics, cognitive CS411 Block Chain (3 0 3): Bitcoins and Ethereum protocol,
science, robotics, cybernetics, etc., applied for computing problems. Decentralized peer-to-peer network, Immutable distributed ledger,
Prerequisite(s): CS221 Trust model (that defines a block chain), Basic components of a block
Specialization(s): AI chain (transaction, block, block header, and the chain), underlying
algorithms, essentials of trust (hard fork and soft fork), hashing,
AI408 Cloud Computing (3 0 3): Introduction to cloud computing, cryptography foundations, block chain programming, Operations, i.e.,
techniques for building, deploying and maintaining images and verification, validation, and consensus model.
applications, important APIs used in the Elastic Cloud Amazon and Prerequisite(s): CS221
Azure, using cloud as an infrastructure for existing and new services, Specialization(s): AI, CE, CS
Opensource implementation, scalable clustering computational
environments, building efficient applications, non-trivial issues of CE412 Fundamentals of Systems Programming (3 3 4):
cloud, e.g., load balancing, caching, authorization management, Programming over Linux, gcc and associated tools, file I/O with low-
distributed transactions etc., enterprise applications, cloud tools, level file descriptors, the standard I/O library, error reporting
RESTFul Web Services, Amazon Elastic Cloud, Azure, Google App mechanisms, kernel statistics and parameter modifications, process
Engine, etc. creation and management system calls, signals and associated system
Prerequisite(s): CS221 calls, pipes and FIFOs, single and multiple reader/writers, semaphores,
Specialization(s): AI shared memory and message-queues, sockets, attributes and
addressing schemes, multiple client connections, connectionless
socket communication.
AI410 Data Mining (3 0 3): Introduction to data mining, related Prerequisite(s): CS311
technologies – Machine learning, DBMS, OLAP, stages and techniques Specialization(s): CE

49
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

CS412 Information Retrieval (3 0 3): Introduction, complications in acquisition, sampling and quantization; mathematical tools for DIP,
building a modern web-scale search engine, ranking SVMs, XML, DNS, intensity transformation, spatial filtering; discrete Fourier transform,
and LSI. They will also discover the seedy underworld of spam, filtering, image degradation and restoration; noise models, estimating
cloaking, and doorway pages. Study MapReduce and other degradation function, image reconstruction; color models, color
approaches to parallelism to go beyond megabytes and to efficiently image processing, smoothing, sharpening; image segmentation,
manage petabytes. morphological image processing, image compression, pattern
Prerequisite(s): CS221 recognition.
Specialization(s): AI, CS Prerequisite(s): CS221
Specialization(s): CS
CS413 Internet of Things (3 0 3): Introduction, state-of-the-art in the
Internet of Things (IoT), high-level overview of the IoT landscape, CS419 Applied Image Processing (3 0 3): Review digital image
domain, architectures, principles, paradigms, building blocks, processing, advanced image recognition topics like texture analysis
applications, technologies, development platforms, recent advances and fractal analysis, advanced segmentation techniques using fractal
and fundamental issues around IoT, origin and enablers of IoT, M2M, dimension, clustering, watershed transform, medial axis
architectures, physical and logical designs, communication models, transformation, 2D to 3D rendering, 3D visualization, stereo imaging,
components of IoT systems, IoT levels and deployment templates, medical imaging applications, and signal image processing
technologies, standards, protocols, challenges, and security and techniques.
privacy hazards. Prerequisite:CE318/CS418
Prerequisite(s): CS311 Specialization(s): CE, CS
Specialization(s): AI, CE, CS
AI420 Medical Image Processing (3 0 3): Introduction, texture
CS414 Geographic Information Systems (3 0 3): Introduction to analysis, basic principles of medical image communication, history,
Geographical Information System (GIS), fundamental theory of terminology, algorithms, image formation and medical imaging,
Geographic Information Science, history and evolution of GIS, geo imaging modalities, image enhancement, image statistics, histograms,
workspace environment, data acquisition, coordinate systems and visualization of medical images, surface and volume-based
geo-referencing (QGIS), data structures and models, Raster & Vector approaches, illumination, image segmentation, robustness,
levels of measurements in GIS, Vector Data entry operator, concepts of watershed transform, active contours, live wire, active shapes, texture
spatial layering, mapping, modeling, management & monitoring, data analysis, texture localization and delineation, digital representation of
downloading based on geospatial coordinates, masking, geotiff, color, image data management, standards, components of PACS,
analytics, ArcGIS, data analytics, implementing a GIS on a select topic, lossy and lossless compression, ImageJ.
geo-processing, spatial analysis, map projections and scaling, and Prerequisite(s): CS221
cartography. Specialization(s): AI, CE, CS
Prerequisite(s): CS221
Specialization(s): AI, CE, CS CS420 Cyber Security (3 0 3): Cybersecurity fundamentals, principles
of data and technology that frame and define cybersecurity,
CS416 Introduction to Deep Learning (3 0 3): Introduction to neural importance of cybersecurity and role of cybersecurity professionals,
networks, convolutional and recurrent networks, deep unsupervised cybersecurity principles, security architecture: processes and
and reinforcement learning, GPU computing, CuDNN, applications architecture, risk management, attacks, incidents: response,
and case studies of Deep Learning in speech recognition, images, categories, and recovery, emerging IT and IS technology, mobile
vision, etc. security issues, risks and vulnerabilities, cloud concepts around data
Prerequisite(s): CS351 and collaboration.
Specialization(s): CE, CS Prerequisite(s): CS221
Specialization(s): AI, CE
CS418 Digital Image Processing (3 0 3): Introduction to digital
image processing (DIP) and its applications, image sensing and

50
FACULTY OF COMPUTER SCIENCE AND ENGINEERING UNDERGRADUATE PROSPECTUS 2020

CE421 Advanced Computer Architecture (3 0 3): Instruction set CE423 General Purpose Computing with GPU (3 0 3): Graphics
architecture (ISA), RISC & CISC, pipelining, instruction-level Processing Units (GPU) for computer graphics and gaming, general
parallelism, super scalar processors, VLIW architecture, parallel parallel computation, assessing performance of parallel algorithms on
processing, high-speed memory systems, storage systems, GPUs, measuring the speedup over similar CPU algorithms,
interconnection networks. applications of signal processing, neural networks, etc., programming
Prerequisite(s): CE324/CS324 techniques for GPUs, NVIDIA's parallel computing language, CUDA
Specialization(s): AI, CE, CS programming model and syntax, GPU architecture, high performance
computing on GPUs, parallel algorithms, CUDA libraries, applications
CS421 Human Computer Interaction (3 0 3): The human, computer of GPU computing, performance optimization and specific GPU
and interaction, usability paradigm and principles, introduction to applications, e.g., Machine Learning computations.
design basics, HCI in software process, design rules, prototyping, Prerequisite(s): CE324/CS324
evaluation techniques, task analysis, universal design and user Specialization(s): AI, CE, CS
support and computer supported cooperative work, introduction to
specialized topics such as groupware, pervasive and ubiquitous CS423 Development Operations (3 0 3): Basics of Development
applications. Operations (DevOps), Commonly used Build tools for DevOps, e.g.,
Prerequisite(s): CS325 GIT and Jenkins, Build test automation, containerization using Docker,
Specialization(s): CS Docker commands and use cases, Kubernetes, Spinnaker, Skaffold,
etc.
CS422 Professional Issues in IT (3 0 3): The laws and how they are Prerequisite(s): CS112
created, professional bodies in IT, the computing profession and the Specialization(s): CE, CS
nature, structure and management of commercial IT organizations,
financing of start-up companies, financial accounting, management AI425 Fundamentals of Microprocessor Interfacing (3 0 3):
accounting and the evaluation of investment proposals, human Introduction to 16-bit microprocessor, software model, addressing
resources issues and management, discrimination and anti- modes, instruction set, assembly language programming, hardware
discrimination legislation, social networking, spotting fake news, model, read/write cycles, exception/interrupt processing, interfacing
gender and racial issues, ethics, software contracts and liability, to ACIA, PIA, PI/T, DMA, A/D, D/A converters, introduction to micro-
copyrights, piracy, intellectual property rights, freedom of controllers and embedded systems.
information, data protection, cyber laws, peer-to-peer torrents and Prerequisite(s): CS324
legislation that affects use/misuse of computers. Specialization(s): AI
Prerequisite(s): None
Specialization(s): CS CS425 Design Patterns (3 0 3): Overview of object-oriented design,
software reusability, classification of design patterns, pattern
AI423 Advances in Object-Oriented Analysis and Design (3 0 3): description formats, design and implementation issues in: creational
Evolution of Object Oriented (OO) programming, OO concepts and patterns, structural patterns, behavioral patterns; patterns in software
principles, problem solving in OO paradigm, classes, methods, objects architecture; patterns for user-interface design; pattern languages.
and encapsulation; constructors and destructors, operator and Prerequisite(s):CS325
function overloading, virtual functions, derived classes, inheritance Specialization(s): CE, CS
and polymorphism, I/O and file processing, exception handling, UML:
conceptual model, use case diagrams, object models, class diagrams, AI426 Introduction to Mobile Computing (3 0 3): State-of-the-art
system sequence diagram, object-oriented life cycle, modeling user of mobile computing platforms, introduction to mobile computing,
interface requirements, designing and evaluating methods, architecture of android platform, using emulator, debugging and
synchronizing dependent attributes, normalizing classes with DDMS, content providers, App. networking, App. multimedia, App. 2D
dependent data, design at the object, etc. and 3D graphics, using sensors, publishing, designing Apps using
Prerequisite(s): CS221 XAML, introduction to iPhone platform, iPhone supported
Specialization(s): AI development features and tools for developing mobile web

51
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

applications. walkthroughs and inspections, structure, checklist, audits, roles and


Prerequisite(s): CS221 responsibilities.
Specialization(s): AI, CE Prerequisite(s): CS325
Specialization(s): CS
CS426 Software Testing and Quality Engineering (3 0 3):
Introduction, quality challenge, quality control v/s quality assurance, CS427 Software Design and Architecture (3 0 3): Overview of SDLC,
quality assurance in software projects, quality management, quality engineering design vs. software design, design heuristics and
assurance and standards, quality planning and quality control, principles, reusability, metrics and quality of design, frameworks, and
verification and validation, critical system validation, reliability architectures, framework development approaches, service-oriented
validation, safety assurance, security assessment, inspections and architectures, middleware architectures, design patterns, architectural
reviews, software quality assurance (SQA), plans, SQA-organizational patterns, design issues for distributed and real-time software, re-
level initiatives, software testing, specification based test construction engineering and reverse engineering.
techniques, white-box and grey-box testing, testing techniques for Pre-requisites: CS325
SDLC, control flow oriented test construction techniques, data flow Specialization(s): CS
oriented test construction techniques, clean-room approach to quality
assurance, product quality and process quality standards, CS428 Design of Programming Language (3 0 3): Programming

52
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

practices: program analysis and construction practices, programming methods, 3-D graphics, transformations, viewing geometry, object
language classification, data types, structured data types, modeling, and interactive manipulation methods, basic lighting and
subprograms, control statements scooping, and storage shading, video and animation methods.
management. Prerequisite(s): CS221
Prerequisite(s): CS224 Specialization(s): AI, CE, CS
Specialization(s): CS
CS435 MIS & DSS (3 0 3): Advance topics in systems analysis and
CS429 Software Project Management (3 0 3): Project management software engineering, design and development of large information
processes and phases, resource identification, software size systems, usefulness to the management, integrated environments,
estimation, budgeting and costing, project planning and scheduling, application of artificial intelligence to MIS, development of expert
customer relationship management, technical resource management, systems and decision support systems.
configuration management, outsourcing, team selection, risk Prerequisite(s): CS232
management, software process management, process improvement Specialization(s): CS
framework, software release management.
Prerequisite(s): CS325 CS437 Data Warehousing and Data Mining (3 0 3): Concepts of
Specialization(s): CS data mining and data warehousing, data preparation techniques:
outlier and missing data analysis, data reduction techniques, learning
CE432 Digital Communication (3 0 3): Sampling and time-division methods, statistical methods, cluster analysis, hierarchical,
multiplexing, baseband digital signals and systems; coded pulse agglomerative and naïve Bayesian methods, decision trees and
modulation, error control coding, digital modulation systems, decision rules, association rules, other soft computing approaches,
information measure and source encoding, and introduction to artificial neural networks, fuzzy logic, genetic algorithm, and
spread spectrum communications. evolutionary algorithms.
Prerequisite(s): CE341 Prerequisite(s): CS232
Specialization(s): CE Specialization(s): AI, CS

CS432 Advanced Databases (3 0 3): Design of data models, recently CS438 Web Mining and Social Media Analysis (3 0 3): Introduction
developed protocols to guarantee consistency of databases, the to mining data from the web and social media, state-of-the-art
design of physical models, and performance analysis techniques, methods in mining heterogeneous data, association rule mining
algorithms and data structures such a B-trees, transposed files, supervised and unsupervised learning with particular emphasis on
phantom files, and hybrid structures, distributed databases and web data, methods for information retrieval, e.g., latent semantic
database machines, object-oriented databases concepts. indexing, meta-searches, search based ranking, social media analysis
Prerequisite(s): CS232 such as link analysis, page rank and HITS algorithms, community
Specialization(s): AI, CS discovery, etc.
Prerequisite(s): CS221
CS433 Computer Graphics (3 0 3): Computer graphics, fundamental Specialization(s): AI, CS
algorithms, graphics input and output, graphics pipeline, sampling
and image manipulation, three-dimensional transformations and CS439 Data Science (3 0 3); Introduction to Big Data Analytics, Data
interactive modeling, basics of modeling and animation, simple Analytics Lifecycle, Advanced Analytical Theory and Methods:
shading models and their hardware implementation, fundamental Association Rules, Regression, Classification, Time Series Analysis, Text
algorithms of scientific visualization, basic structure of interactive Analysis, MapReduce and Hadoop, Setting up Python for Data
graphics systems, characteristics of various hardware devices, control Science, Cross validation and optimization, Linear Algebra, Statistics,
of display devices, implementation of simple packages, device Probability, Hypothesis and Inference.
independence, and standard packages, distributed architectures for Prerequisite(s): CS221
graphics, hidden line and hidden surfaces algorithms, representation Specialization(s): AI, CS
of surfaces, 2-D graphics methods, transformations, and interactive

52
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

CE444 Simulation and Modeling (3 0 3): Analysis of physical systems scheduling.


and industrial processes, formulation in the form of mathematical Pre-requisites: CS311
equations or inequalities, mathematical models, solution of models, Specialization(s): CS
use of computers for design, optimization and control of actual
systems in engineering. CS458 Distributed Systems (3 0 3): Introduction to distributed
Prerequisite(s): MT201 systems, communication, naming and name services, processes,
Specialization(s): CE synchronization, fault tolerance, distributed file systems, distributed
transaction processing, replication, object-based systems, document-
AI452 Techniques of Soft Computing (3 0 3): Overview of the based systems, coordination-based systems, security in distributed
theoretical and the practical aspects of the soft computing paradigm, systems.
theory and applications of probabilistic graphical models and related Pre-requisites: CS311
topics, e.g., knowledge elicitation issues, belief updating in singly and Specialization(s): AI, CS
multiply connected networks, simulation schemes for belief updating,
parameter and structure learning of Bayesian networks, integration of CE463Wireless & Mobile Networks (3 0 3): Introduction to
time and uncertainty, models of uncertain reasoning including belief wireless environment, wireless network architectures, wireless local
function theory and fuzzy logic and biologically inspired area networks (WLANs), wireless personal area networks, middleware
computational models (neural networks and evolutionary algorithms). for wireless and mobile networks, mobile IP, TCP in wireless
Prerequisite(s): AI231/CS351 environments, mobile ad-hoc networks and their routing, nomadic
Specialization(s): AI, CE services, security in wireless networks, mobile data services, pervasive
computing applications.
CS452 Artificial Neural Networks (3 0 3): Neural network basics, Prerequisite(s): CS311
Hebb net, perceptron, Adaline and Madaline, Hetero-associative and Specialization(s): CE
auto-associative networks, discrete Hopfield network, bi-directional
associative memory (BAM), backpropagation neural network (BPN), CS463 Web Engineering (3 0 3): Internet technology trends, real-
variants of BPN, simulations using backpropagation, radial basis time data transmission, security over Internet, introduction to Web
function networks, neural nets based on competition, self- applications development, software architecture patterns for Web
organization aps (SOMs), learning vector quantization (LVQ), counter Apps, MVC, Web browsers, HTTP, DOM and browser engines, client-
propagation betworks, adaptive resonance theory (ART), probabilistic side development with HTML, CSS & JavaScript, server-side
neural networks, temporal processing using feedforward nets, genetic development over Web applications framework, Web App
algorithms, case studies. deployment, virtualization, cloud computing, IaaS, PaaS and SaaS
Prerequisite(s): CS351 models.
Specialization(s): CE, CS Pre-requisites: CS311
Specialization(s): AI, CE, CS
CE453 Robotic Vision (3 0 3): Vision tasks and applications, Cameral
models and image acquisition, image segmentation, feature detection CE465/EE424 ASIC Design (3 0 3): Introduction to application
and matching, image recognition, 3D visualization, robot perception specific Integrated circuits (ASIC) design methodologies, design and
(robot and sensors), visual navigation, localization and other relevant implementation using FPGAs, design verification, digital design using
topics in robotic vision. hardware description language, libraries, utilities for high level
Pre-requisites: CS221 description, data flow description, timing and delays, modeling
Specialization(s): AI, CE, CS techniques.
Prerequisite(s): CS222
CS454 Real-Time Programming (3 0 3): Introduction to real-time Specialization(s): CE
systems, design issues, programming languages for real-time
systems, fault tolerance and reliability issues, exception handling, CS465 Data Security and Encryption (3 0 3): Mathematical
concurrent programming, synchronization, communication, background and principle of number theory, probability theory,

52
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

primes, random numbers, modular arithmetic, cryptographic descriptive, mechanistic and interpretive models.
algorithms and design principles, conventional and symmetric Prerequisite(s): AI341
encryption (DES, IDEA, Blowfish, Rijndael, RC-4, RC-5), public key or Specialization(s): AI
asymmetric encryption (RSA, Diffie-Hellman), key management, hash
functions (MD5, SHA-1, RIPEMD-160, HMAC), digital signatures, and CS474 Bio-Informatics (3 0 3): Bioinformatics, sequence analysis,
certificates, network security and authentication protocols (X.509, microarray expression analysis, Bayesian methods, control theory,
Kerberos), electronic mail security (S/MIME, PGP), web security and scale-free networks, and biotechnology applications, current real-
protocols for secure electronic commerce (IPSec, SSL, TLS, SET). world examples, actual implementations, engineering design issues,
Prerequisite(s): CS311 engineering issues from signal processing, network theory, machine
Specialization(s): CE learning, robotics and other domains, use of NCBI's Entrez, BLAST, PSI-
BLAST, ClustalW, Pfam, PRINTS, BLOCKS, Prosite and PDB.
CE471 Multimedia Systems (3 0 3): Introduction to multimedia Prerequisite(s): CS121
systems, software, hardware, various equipment, video and audio Specialization(s): AI, CE, CS
capture, annotation, storage and playback techniques, multimedia
software development tools, multimedia applications, procedures to CE475 Real Time Embedded Systems (3 0 3): Introduction to real
develop multimedia systems: (specification, design, testing, and time systems, embedded systems, interrupts, performance and
prototyping), multimedia standards, Student projects - developing optimization, simple single task operating system, real time operating
multimedia systems in the laboratory. system and scheduling, concurrency, communication, real time
Prerequisite(s): CE341 benchmarks, adaptive and real time systems, real time control over
Specialization(s): CE the internet/remotely.
Prerequisite(s): CE324
CS472 Bio-Inspired Computing (3 0 3): Introduction, characteristics Specialization(s): CE
of biological systems, adaptability, reactivity, distributivism,
comparison with traditional human-engineered approaches to CS476 Computational Biology (3 0 3): Algorithmic and machine
problem solving, handling complex problems using computational learning foundations of computational biology, combining theory
methods modeled after design principles encountered in nature, with practice, principles of algorithm design for biological datasets,
foundations of complex systems and theoretical biology, distributed and analyze influential problems and techniques, analyzing real
architectures of natural complex systems, production of informatics datasets from large-scale studies in genomics and proteomics,
tools with enhanced robustness, scalability, flexibility, interface with Genomes: biological sequence analysis, hidden Markov models, gene
humans, principles of biology, informatics, cognitive science, robotics, finding, RNA folding, sequence alignment, genome assembly,
cybernetics, etc., applied for computing problems. networks: gene expression analysis, regulatory motifs, graph
Prerequisite(s): CS221 algorithms, scale-free networks, network motifs, network evolution,
Specialization(s): CE, CS evolution: comparative genomics, phylogenetics, genome
AI473 Computational Neuroscience (3 0 3): Mathematical duplication, genome rearrangements, evolutionary theory, rapid
introduction to neural coding and dynamics, convolution, correlation, evolution.
linear systems, game theory, signal detection theory, probability Prerequisite(s): CS221
theory, information theory, reinforcement learning, applications to Specialization(s): AI, CE, CS
neural coding, visual system, Hodgkin-Huxley and other models of
neural excitability, stochastic models of ion channels, cable theory,
and models of synaptic transmission, basic computational methods
for understanding nervous systems and their function, computational
principles governing various aspects of vision, sensory-motor control,
learning, and memory, representation of information by spiking
neurons, processing of information in neural networks, and
algorithms to adapt and learn, computational neuroscience:

52
UNDERGRADUATE PROSPECTUS 2020 FACULTY OF COMPUTER SCIENCE AND ENGINEERING

MANAGEMENT ELECTIVES
CS436 Operations Research (3 0 3): Optimization and
computational efficiency in automated decision systems, art of
modeling, mathematical modeling, linear programming and simplex
method, duality theory and sensitivity analysis, transportation
algorithm and its variants, advanced topics in linear programming,
e.g., goal programming, integer programming, probabilistic models,
e.g., queuing systems, simulation modeling, etc.
Prerequisite(s): MT201
Specialization(s): AI, CE, CS

CS491 Entrepreneurship & Technology Commercialization(3 0 3):


Understanding the entrepreneurship process, concepts, practices
and tools of the entrepreneurial world, readings, cases studies and
projects covering unique environment of the entrepreneurs and new
ventures, tools necessary to think creatively, to plan out whether ideas
are marketable to investors, launching own business, or supporting an
employer in launching and growing an entrepreneurial venture, the
focus shall be on items particularly important for technology ventures.
Prerequisite(s): none
Specialization(s): AI, CE, CS

CS492 Network Security & Cyber Ethics(3 0 3): Cybercrime


landscape, morality, ethics, technology, value, cyberspace
infrastructure, anatomy of the security problem, enterprise security,
information security protocols, best practices, security and privacy in
online social networks, security in mobile system, security in the cloud,
security and compliance.
Prerequisite(s): none
Specialization(s): AI, CE, CS

52

You might also like