CS It Se
CS It Se
1
CURRICULUM DEVELOPMENT CYCLE
2
Bachelor of Science Programs
Curriculum for Bachelor Degrees in Computing
Introduction
Computing is emerging as (need to write a paragraph)
Eligibility Criteria
The minimum requirements for admission in a Bachelor degree program in
Computer Science/ Information Technology/ Software Engineering, is at least 50%
marks in Intermediate (HSSC) examination with Mathematics or equivalent
qualification with Mathematics certified by IBCC.
Duration
The minimum duration for completion of BS degree is four years. The HEC allows a
maximum period of seven years to complete BS degree requirements.
3
Program Learning Outcomes (PLOs)
Computing programs prepare students to attain educational objectives by ensuring that
students demonstrate achievement of the following outcomes (derived from Graduate
Attributes define by Seoul Accord www.seoulaccord.org ).
Program Learning
Computing Professional Graduate Outcomes
(PLOs)
1. Academic
Education To prepare graduates as computing professionals
4
Understand and assess societal, health, safety, legal, and
8. Computing cultural issues within local and global contexts, and the
Professionalism and
consequential responsibilities relevant to professional
Society
computing practice
Understand and commit to professional ethics,
9. Ethics responsibilities, and norms of professional computing
practice
BS Curriculum Design
The combined structure of BS Programs in Computing is proposed to meet the
needs of students through theory and practical computing experience. The
students are expected to learn theoretical and practical understanding of the
respective field of Computing.
The proposed structure is dynamic and provides basis for various options
including Breadth-Based, Depth-Based, and Integrated Breadth &
DepthBased specializations. Student may choose a particular option, which is
most appropriate to their planned future career. The following are some
relevant details:
• Minimum credit hours shall be 130 for BS (CS, SE, IT) programs.
• Each program comprises eight semesters spread over four years.
• The following table gives the distribution of credit hours in different domains of
knowledge.
5
Table 1.2: Areas Covered in BS programs
Credit
Course Group hours % age
General Education 19 15%
University Electives 12 9%
Math & Science Foundation 12 9%
Computing – Core 39 30%
Common courses 82 63%
Total 39 (27-12)
6
General Education Courses
Course Title Credit hours
Total 18-1
University Elective Courses
(Not limited to the areas listed below, Institutions may add more courses)
Course Title Credit hours
Total 12-0
Mathematics and Science Foundation Courses
Course Title Credit Hours
Calculus & Analytical Geometry 3-0
Probability & Statistics 3-0
Linear Algebra 3-0
Applied Physics 3-0
Total 12-0
7
BS Computer Science
Computer Science Program BS (CS)
A complete detail of BS Program in CS involving Program structure and distribution
of credits among various components of Program are discussed in the following pages.
8
7. The Program should provide professional orientation to prepare students for
industry.
Program Structure:
BS Computer Science
Computer science is the study of the theory, experimentation, and engineering that form
the basis for the design and use of computers. It is the scientific and practical approach
to computation and its applications and the systematic study of the feasibility, structure,
expression, and mechanization of the methodical procedures (or algorithms) that
underlie the acquisition, representation, processing, storage, communication of, and
access to information [ref WordNet Princeton definition].
9
• SF - Systems Fundamentals
• SP - Social Issues and Professional Issues
Total 45 (33-12)
10
General Education Courses
Course Title Credit hours
English Composition & Comprehension 3
Technical & Business Writing 3
Communication & Presentation Skills 3
Professional Practices 3
Intro to Info. & Comm. Technologies 2-1
Pakistan Studies 2
Islamic Studies/ Ethics 2
Total 18-1
Total 12-0
Mathematics and Science Foundation Courses
Course Title Credit hours
Calculus & Analytical Geometry 3-0
Probability & Statistics 3-0
Linear Algebra 3-0
Applied Physics 3-0
Total 12-0
11
Domain Courses for BS (COMPUTER SCIENCE)
Computer Science CORE (Compulsory) courses
Course Title Credit hours
Compiler Construction 3-0
Comp. Organization & Assembly Language 3-1
Digital Logic Design 3-1
Design & Analysis of Algorithms 3-0
Parallel & Distributed Computing 3-0
Artificial Intelligence 3-1
Theory of Automata 3-0
Total 24 (21-3)
Coverage of relevant pre-requisite must be ensured while offering any of the following
courses from this category
Course Title Credit hours
Differential Equations 3-0
Multi-variate Calculus 3-0
Graph Theory 3-0
Theory of Programming Languages 3-0
Numerical Computing 3-0
Total 15
12
Proposed Study Plan for BS (Computer Science)
4-Year Program (8 Regular Semesters of 18 weeks each)
Course Codes have been assigned as an example only. The purpose is to indicate pre-
requisite courses for studying advanced courses.
Semester - I
Code Course Title Credit Pre-requisite
Hours
CSICT-101 Introduction to ICT 2-1
CSPF-101 Programming Fundamentals 3-1
CSEN-101 Functional English 3-0
Semester - II
Code Course Title Credit Pre-requisite
Hours
CSDL-102 Digital Logic Design 3-1 Applied Physics
CSOP-102 Object Oriented Programming 3-1 Programming
Fundamentals
CSEN-102 Communication & Presentation 3-0 English
Skills Composition &
Comprehension
CSPS-102 Probability & Statistics 3-0
CSDS-102 Discrete Structure 3-0
Total 15-2
Semester - III
Code Course Title Credit Pre-requisite
Hours
CSCL-201 Comp Organization & Assembly 3-1
Lang.
CSDA-202 Data Structures & Algorithms 3-1 Object-Oriented
Programming
CSEN-203 Technical Report writing 3-0 Communication
& Presentation
Skills
CSEP-204 Entrepreneurship 3-0
CSCN-205 Computer Networks 3-1
Total 15-3
13
Semester - IV
Code Course Title Credit Pre-requisite
Hours
CSDA-206 Design & Analysis of Algorithms 3-0 Data Structures &
Algorithms
CSTA-207 Theory of Automata 3-0
CSDB-208 Database Systems 3-1 Data Structures &
Algorithms
CSLA-209 Linear Algebra 3-0
CSSE-210 Software Engineering 3-0
CSPS-211 Pakistan Studies 2-0
Total 17-1
Semester - V
Code Course Title Credit Pre-requisite
Hours
CSCC-301 Compiler Construction 3-0 Theory of
Automata
CSMS-302 Multimedia System 3-0
CSOS-303 Operating Systems 3-1 Data Structures
and Algorithms
CSMC-304 Multivariable Calculus 3-0
CSPM-305 Principle of Management 3-0
CSMA-306 Mobile Applications 3-0
Total 18-1
Semester - VI
Code Course Title Credit Pre-requisite
Hours
CSAI-307 Artificial Intelligence 3-1 Discrete
Structures
CSWS-308 Web Systems 3-0
CSOD-309 Object Oriented Analysis & Design 3-0
CSPD-310 Parallel and Distributed Computing 3-0 Operating System
14
Semester - VII
Code Course Title Credit Pre-requisite
Hours
CSFP-401 Final Project – 1 0-3
CSDM-402 Data mining 3-0
CSDB-403 Database Administration and 3-1
Management
CSRM-404 Research Methodologies 3-0
Total 9-4
Semester - VIII
Code Course Title Credit Pre-requisite
Hours
CSFP-401 Final Project – 2 0-3
CSPP-405 Professional Practices 3-0
CSML-406 Machine Learning 3-0
CSIT-407 Internet of Things 3-0
Total 09-3
15
BS Information Technology
Proposed Curriculum for BS-IT
Table 1.2: Areas Covered in BS programs
Credit
Course Group hours % age
General Education 19 15%
University Electives 12 9%
Mathematics & Science Foundation 12 9%
Computing – Core 39 30%
Common courses 82 63%
Domain IT
Domain IT Core 24 18%
Domain IT Electives 15 12%
Domain IT Supporting 9 7%
Domain courses 48 37%
130 100%
TOTAL
16
General Education Courses
Course Title Credit hours
English Composition & Comprehension 3-0
Technical & Business Writing 3-0
Communication & Presentation Skills 3-0
Professional Practices 3-0
Intro to Info. & Comm. Technologies 2-1
Pakistan Studies 2-0
Islamic Studies/ Ethics 2-0
Total 19-0
University Elective Courses
(Not limited to the list below, Institutions may add more courses)
Total 12-0
Mathematics and Science Foundation Courses
Course Title Credit hours
Calculus & Analytical Geometry 3-0
Probability & Statistics 3-0
Linear Algebra 3-0
Applied Physics 3-0
Total 12-0
Domain Courses for BS-IT
BS-IT CORE (Compulsory) courses
Course Title Credit hours
Cyber Security 3-0
Database Administration and Management 3-1
Information Technology Project Management 3-0
Information Technology Infrastructure 3-0
System and Network Administration 3-1
Virtual Systems and Services 3-1
Web Technologies 3-0
Total 24 (21-3)
17
BS-IT SUPPORTING courses (ANY 3 from the following list) (Coverage
of relevant pre-requisite must be ensured while offering any of the following courses
from this category)
Course Title Credit hours
Enterprise Systems 3-0
Modeling and Simulation 3-0
Formal Methods 3-0
Operations Research 3-0
Software Requirements Engineering 3-0
Total 15
Course Codes have been assigned as an example only. The purpose is to indicate pre-
requisite courses for studying advanced courses.
Semester - I
Code Course Title Credit Pre-requisite
Hours
ITICT-101 Introduction to ICT 2-1
ITPF-101 Programming Fundamentals 3-1
ITEN-101 Functional English 3-0
18
Semester - II
Code Course Title Credit Pre-requisite
Hours
ITDL-102 Digital Logic Design 3-1 Applied Physics
ITOP-102 Object Oriented Programming 3-1 Programming
Fundamentals
ITEN-102 Communication & Presentation 3-0 English
Skills Composition &
Comprehension
ITPS-102 Probability & Statistics 3-0
ITDS-102 Discrete Structure 3-0
Total 15-2
Semester - III
Code Course Title Credit Pre-requisite
Hours
ITES-201 Enterprise System 3-1
Semester - IV
Code Course Title Credit Pre-requisite
Hours
ITDA-206 Design & Analysis of Algorithms 3-0 Data Structures &
Algorithms
ITIP-207 IT Project Management 3-0
ITDB-208 Database Systems 3-1 Data Structures &
Algorithms
ITLA-209 Linear Algebra 3-0
ITSE-210 Software Engineering 3-0
ITPS-211 Pakistan Studies 2-0
Total 17-1
19
Semester - V
Code Course Title Credit Pre-requisite
Hours
ITSNA-301 System and Network 3-1
Administration
ITMS-302 Multimedia System 3-0
ITOS-303 Operating Systems 3-1 Data Structures
and Algorithms
ITCS-304 Cyber Security 3-0
ITPM-305 Principle of Management 3-0
ITMA-306 Mobile Applications 3-0
Total 18-2
Semester - VI
Code Course Title Credit Pre-requisite
Hours
ITCC-307 Cloud Computing 3-0
Semester - VII
Code Course Title Credit Pre-requisite
Hours
ITFP-401 Final Project – 1 0-3
ITDM-402 Data Mining 3-0
ITDB-403 Database Administration and 3-1
Management
ITRM-404 Research Methodologies 3-0
Total 9-4
20
Semester - VIII
Code Course Title Credit Pre-requisite
Hours
ITFP-401 Final Project – 2 0-3
ITPP-405 Professional Practices 3-0
ITML-406 Machine Learning 3-0
ITIT-407 Internet of Things 3-0
Total 09-3
BS Software Engineering
BS Software Engineering
Software plays a central and underpinning role in almost all aspects of daily life:
communications, government, manufacturing, banking and finance, education,
transportation, entertainment, medicine, agriculture, and law. The number, size, and
application domains of computer programs have grown dramatically; as a result, huge
sums are being spent on software development. Most people’s lives and livelihoods
depend on this development’s effectiveness. Software products help us to be more
efficient and productive. They provide information, make us more effective problem
solvers, and provide us with safer, more flexible, and less confining work,
entertainment, and recreation environments.
Program learning outcomes are the narrower statements that describe what students are
expected to know and be able to do by the time of graduation. These relate to the
knowledge, skills and attitude that the students acquire while progressing through the
program.
The program must demonstrate that by the time of graduation the students have attained
a certain set of knowledge, skills and behavioral traits, at least to some acceptable
21
minimum level. Specifically, it is to be demonstrated that the students have acquired
the following graduate attributes (GAs)
GA5 Modern Tool Usage: An ability to create, select and apply appropriate techniques,
resources, and modern engineering and IT tools, including prediction and
modelling, to complex engineering activities, with an understanding of the
limitations.
GA6 The Engineer and Society: An ability to apply reasoning informed by contextual
knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to professional engineering practice and
solution to complex engineering problems.
GA8 Ethics: Apply ethical principles and commit to professional ethics and
responsibilities and norms of engineering practice.
22
GA11 Project Management: An ability to demonstrate management skills and apply
engineering principles to one’s own work, as a member and/or leader in a team,
to manage projects in a multidisciplinary environment.
GA12 Lifelong Learning: An ability to recognize importance of, and pursue lifelong
learning in the broader context of innovation and technological developments.
Total
Total 18-1
University Elective Courses
(Not limited to the list below, Institutions may add more courses)
Course Title Credit hours
Economy Related 3-0
Foreign Language 2-0
Management Related 3-0
Social Science Related 3-0
Social Service 1-0
Total 12-0
Mathematics and Science Foundation Courses
Course Title Credit hours
Applied Physics 3-0
Calculus & Analytical Geometry 3-0
Linear Algebra 3-0
Probability & Statistics 3-0
Total 12-0
24
Domain Courses for BS-SE
Software Engineering CORE (Compulsory) courses
Course Title Credit hours
Human Computer Interaction 3-0
Software Construction & Development 2-1
Software Design & Architecture 2-1
Software Project Management 3-0
Software Quality Engineering 3-0
Software Re-Engineering 3-0
Software Requirements Engineering 3-0
Web Engineering 3-0
Total 22-2
Course Codes have been assigned as an example only. The purpose is to indicate pre-
requisite courses for studying advanced courses.
Semester - I
Code Course Title Credit Pre-requisite
Hours
SEICT-101 Introduction to ICT 2-1
SEPF-101 Programming Fundamentals 3-1
SEEN-101 Functional English 3-0
26
Semester - II
Code Course Title Credit Pre-requisite
Hours
SESE-102 Software Engineering 3-1 Applied Physics
ITOP-102 Object Oriented Programming 3-1 Programming
Fundamentals
ITEN-102 Communication & Presentation 3-0 English
Skills Composition &
Comprehension
SESM-102 Software Metrics 3-0
ITDS-102 Discrete Structure 3-0
Total 15-2
Semester - III
Code Course Title Credit Pre-requisite
Hours
SERE-201 Software Requirement Engineering 3-0 Software
Engineering
SEDA-202 Data Structures & Algorithms 3-1 Object-Oriented
Programming
SECI-203 Human Computer Interaction 3-0 Software
Engineering
SEGS-204 Global Software Development 3-0
SECN-205 Computer Networks 3-1
Total 15-2
Semester - IV
Code Course Title Credit Pre-requisite
Hours
SEDA-206 Design & Analysis of Algorithms 3-0 Data Structures &
Algorithms
SDA-207 Software Design & Architecture 3-0
SEDB-208 Database Systems 3-1
27
Semester - V
Code Course Title Credit Pre-requisite
Hours
SESNA-301 System And Network 3-0 Software Design
Administration and Architecture
SERA-302 Risk Analysis in Software 3-0
Engineering
SEOS-303 Operating Systems 3-1 Data Structures
and Algorithms
SESQ-304 Software Quality Engineering 3-0 Software
Engineering
SESC-305 Software Construction and 3-0
Development
CSMA-306 Mobile Applications 3-0
Total 18-2
Semester - VI
Code Course Title Credit Pre-requisite
Hours
SESP-307 Software Project Management 3-0
Semester - VII
Code Course Title Credit Pre-requisite
Hours
SEFP-401 Final Project – 1 0-3
SERE-402 Software Re-Engineering 3-0
SETS-403 Topics in Software Engineering 3-1
SERM-404 Research Methodologies 3-0
Total 9-4
Semester - VIII
Code Course Title Credit Pre-requisite
Hours
SEFP-401 Final Project – 2 0-3
SEST-405 Software Testing 3-0
SEML-406 Systems Programming 3-0
SEML-407 Machine Learning 3-0
28
Total 09-3
BS Course Outlines
Bachelor Courses’ List
Course Title Page
No.
1. Agent Based Software Engineering
2. Applied Physics
3. Artificial Intelligence
4. Big Data Analytics
5. Business Process Engineering
6. Business Process Management
7. Calculus & Analytical Geometry
8. Communication & Presentation Skills
9. Compiler Construction
10. Computer Graphics
11. Computer Networks
12. Computer Organization & Assembly Language
13. Computer Vision
14. Cyber Security
15. Data Encryption and Security
16. Data Structures & Algorithms
17. Database Administration and Management
18. Database Systems
19. Design & Analysis of Algorithms
20. Differential Equations
21. Digital Image Processing
22. Digital Logic Design
23. Discrete Structures
24. E-Commerce
25. English Composition & Comprehension
26. Enterprise Systems
27. Formal Methods in Software Engineering
29
28. Global Software Development
29. Graph Theory
30. Human Computer Interaction
31. Information Security
32. Information Systems Audit
33. Information Technology Project Management
34. Intro. to Info. & Comm. Technologies
35. Introduction to Software Engineering
36. Islamic Studies/ Ethics
37. IT Infrastructure
38. Linear Algebra
39. Logical Paradigms of Computing
40. Management Information System
41. Mobile Application Development
42. Multimedia Communications
43. Multi-variate Calculus
44. Natural Language Processing
45. Numerical Computing
46. Object Oriented Analysis and Design
47. Object Oriented Programming
48. Operating Systems
49. Operations Research
50. Pakistan Studies
51. Parallel & Distributed Computing
52. Probability & Statistics
53. Professional Practices
54. Programming Fundamentals
55. Real Time Systems
56. Semantic Web
57. Simulation and Modeling
58. Software Construction & Development
59. Software Design & Architecture
60. Software Engineering Economics
61. Software Metrics
62. Software Project Management
63. Software Quality Engineering
64. Software Re-Engineering
65. Software Requirements Engineering
66. Stochastic Processes
67. System and Network Administration
68. Systems Programming
30
69. Technical & Business Writing
70. Theory of Automata
71. Theory of Programming Languages
72. Virtual Systems and Services
73. Visual Programming
74. Web Engineering
75. Web Technologies
31
DETAIL OF COURSES
Course Content:
Overview of agent-based software engineering. Methodologies for agent-based modeling,
analysis and design: Agent-based Unified Modeling Language (AUML), Agent-based
analysis and design, Other agent-based analysis and design methods. Agent
communication and knowledge sharing: knowledge level communication among software
agents, Knowledge Interchange Format (KIF), Agent-based System Architecture and
Organization. FIPA: Foundation for Intelligent Physical Agents: FIPA specification, the
application, abstract architecture, agent communication, agent management and agent
message transport standards and guidelines.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Multi-agent Systems: A Modern Approach to Distributed Artificial Intelligence,
Gerhard Weiss, Edt., 1st edition, MIT Press, 2000.
2. Agent-Oriented Methodologies, Paolo Giorgini, Idea Group Publishing, 2005.
3. Agent-Oriented Software Engineering III, Fausto Giunchiglia, James J. Odell, Gerhard
Weiss, Springer Verlog - LNCS 2585 – 2002.
32
Applied Physics
Credit Hours: 4 (3,1) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Electric force and its applications and related problems , conservation of charge, charge
quantization, Electric fields due to point charge and lines of force. Ring of charge, Disk
of charge, A point charge in an electric field, Dipole in a n electric field, The flux of vector
field, The flux of electric field, Gauss’ Law, Application of Gauss’ Law, Spherically
symmetric charge distribution, A charge isolated conductor, Electric potential energy,
Electric potentials, Calculating the potential from the field and related problem Potential
due to point and continuous charge distribution, Potential due to dipole, equipotential
surfaces, Calculating the field from the potential , Electric current, Current density,
Resistance, Resistivity and conductivity, Ohm’s law and its applications, The Hall effect,
The magnetic force on a current, The Biot- Savart law, Line of B, Two parallel conductors,
Amperes’ s Law, Solenoid, Toroids, Faraday’s experiments, Faraday’s Law of Induction,
Lenz’s law, Motional emf, Induced electric field, Induced electric fields, The basic
equation of electromagnetism, Induced Magnetic field, The displacement current,
Reflection and Refraction of light waves, Total internal reflection, Two source
interference, Double Slit interference, related problems, Interference from thin films,
Diffraction and the wave theory, related problems, Single-Slit Diffraction, related
problems, Polarization of electromagnetic waves, Polarizing sheets, related problems.
Teaching Methodology:
Lecturing, Written Assignments, Project, Experiments, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Experiments, Final Exam
Reference Materials:
1. Fundamentals of Physics (Extended), 10th edition, Resnick and Walker
2. Narciso Garcia, Arthur Damask, Steven Schwarz., “Physics for Computer
Science Students”, Springer Verlag, 1998
33
Artificial Intelligence
Credit Hours: 3+1 Prerequisites: Data Structures and Algorithms
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Understand key components in the field of artificial
C 2
intelligence
2. Implement classical artificial intelligence techniques C 3
3. Analyze artificial intelligence techniques for practical
C 4
problem solving
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction (Introduction, basic component of AI, Identifying AI systems, branches of
AI, etc.); Reasoning and Knowledge Representation (Introduction to Reasoning and
Knowledge Representation, Propositional Logic, First order Logic); Problem Solving by
Searching (Informed searching, Uninformed searching, Local searching.); Constraint
Satisfaction Problems; Adversarial Search (Min-max algorithm, Alpha beta pruning,
Game-playing); Learning (Unsupervised learning, Supervised learning, Reinforcement
learning) ;Uncertainty handling (Uncertainty in AI, Fuzzy logic); Recent trends in AI and
applications of AI algorithms (trends, Case study of AI systems, Analysis of AI systems)
Teaching Methodology:
Lectures, Assignments, labs, Projects, Presentations, etc. Major component of the course
should be covered using conventional lectures. Practical contact hours are compulsory
(~45 hours in a semester).
Course Assessment:
Exams, Assignments, Quizzes, Project, Presentations. Course will be assessed using a
combination of written examinations and project(s). Practical evaluation, using rubrics,
is encouraged and suggested to make up around 20% of the course.
Reference Materials:
1. Stuart Russell and Peter Norvig, Artificial Intelligence. A Modern Approach, 3rd
edition, Prentice Hall, Inc., 2010.
2. Hart, P.E., Stork, D.G. and Duda, R.O., 2001. Pattern classification. John Willey &
Sons.
3. Luger, G.F. and Stubblefield, W.A., 2009. AI algorithms, data structures, and idioms
in Prolog, Lisp, and Java. Pearson Addison-Wesley.
34
Big Data Analytics
Credit Hours: 3(2,1) Prerequisites: Probability and Statistics,
Programming Fundamentals
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Provide fundamental information to get insight into the C 1
challenges with big data.
2. Understand techniques for storing and processing large C 2
amounts of structured and unstructured data
3. Application of big data concepts to get valuable C 3
information on market trends
4. Implement and deploy a sample project for extracting C 4
useful information from a mid sized dataset.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to Big Data Analytics, Big Data Platforms, Data Store & Processing using
Hadoop, Big Data Storage and Analytics, Big Data Analytics ML Algorithms,
Recommendation, Clustering, and Classification, Linked Big Data: Graph Computing and
Graph Analytics, Graphical Models and Bayesian Networks, Big Data Visualization,
Cognitive Mobile Analytics.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman, Jeff Ullman, 2nd
edition, 2011
2. Hadoop: The Definitive Guide, Tom White, 4th edition. 2009.
3. Data-Intensive Text Processing with Map Reduce, Jimmy Lin and Chris, 2010.
35
Business Process Engineering
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Business process management, Manufacturing and services processes, Modelling and
charting tools, Lean processes Improvement workshop techniques, Business process
outsourcing, Re-engineering and improvement cases
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Final Exam
Reference Materials:
1. Business Process Improvement; The Breakthrough Strategy for Total Quality,
Productivity, and Competitiveness, H. J. Harrington
2. Business Intelligence: A Managerial Approach by Turban, Sharda, Delen, King,
2nd Edition, Prentice Hall (2011). ISBN: 13-978-0-136-10066-9
36
Business Process Management
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Discover the various technologies that support Business C 2
Process Management
2. Analyze the performance of existing processes and identify C 3
process improvement.
3. Propose business solutions in written and verbal forms for C 3
process innovation and redesign projects.
4. Create a BPM implementation strategy and implementation C 5
plan for an organization.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to Business Process Management, Motivation and Definitions, Business
Process Lifecycle, Classification of Business Processes, Goals, Structure, and
Organization. Evolution of Enterprise Systems Architectures. Business Process Modeling.
Process Orchestrations. Process Choreographies. Modeling in BPMN. Properties of
Business Processes. Workflow Management Architectures, Flexible Workflow
Management, Web Services and their Composition, Advanced Service Composition,
Data-Driven Processes. Business Process Management Methodology.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Business Process Management: Concepts, Languages, Architectures by Mathias
Weske, Springer; 2nd Ed. 2012
2. Business Process Management Common Body of Knowledge by Yvonne
LedererAntonucci, et. al., Create Space Independent Publishing Platform, 2009
3. Process Management: A Guide for the Design of Business Processes by Jörg Becker,
Martin Kugeler and Michael Rosemann, Springer; 2nd Ed. 2011
4. BPMN Method and Style with BPMN Implementer's Guide: A structured approach for
business process modeling and implementation using BPMN 2.0 by Bruce Silver,
Cody Cassidy Press, 2011.
37
Calculus & Analytical Geometry
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Limits and Continuity; Introduction to functions, Introduction to limits, Techniques of
funding limits, Indeterminate forms of limits, Continuous and discontinuous functions
and their applications, Differential calculus; Concept and idea of
differentiation, Geometrical and Physical meaning of derivatives, Rules of
differentiation, Techniques of differentiation, Rates of change, Tangents and Normals
lines, Chain rule, implicit differentiation, linear approximation, Applications of
differentiation; Extreme value functions, Mean value theorems, Maxima and Minima of a
function for single-variable, Concavity, Integral calculus; Concept and idea of
Integration, Indefinite Integrals, Techniques of integration, Riemann sums and Definite
Integrals, Applications of definite integrals, Improper integral, Applications of
Integration; Area under the curve, Analytical Geometry; Straight lines in R3, Equations
for planes.
Teaching Methodology:
Lecturing, Written Assignments
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Final Exam
Reference Materials:
1. Calculus and Analytic Geometry by Kenneth W. Thomas.
2. Calculus by Stewart, James.
3. Calculus by Earl William Swokowski; Michael Olinick; Dennis Pence; Jeffery A.
Cole.
38
Communication & Presentation Skills
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Principles of writing good English, understanding the composition process: writing
clearly; words, sentence and paragraphs; Comprehension and expression; Use of grammar
and punctuation. Process of writing, observing, audience collecting, composing, drafting
and revising, persuasive writing, reading skills, listening skills and comprehension, skills
for taking notes in class, skills for exams; Business communications; planning messages,
writing concise but with impact. Letter formats, mechanics of business, letter writing,
letters, memo and applications, summaries, proposals, writing resumes, styles and
formats, oral communications, verbal and non-verbal communication, conducting
meetings, small group communication, taking minutes. Presentation skills; presentation
strategies, defining the objective, scope and audience of the presentation, material
gathering material organization strategies, time management, opening and concluding, use
of audio-visual aids, delivery and presentation.
Teaching Methodology:
Lecturing, Written Assignments, Project, Presentation, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Presentation, Final Exam
Reference Materials:
1. Practical Business English, Collen Vawdrey, 1993, ISBN = 0256192740
2. Effective Communication Skills: The Foundations for Change, John Nielsen, 2008,
ISBN = 1453506748
39
Compiler Construction
Credit Hours: 3 Prerequisites: Theory of Automata
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Understand the basic techniques used in compiler
construction such as lexical analysis, top-down, bottom-up
parsing, context-sensitive analysis, and intermediate code
generation
2. Understand the basic data structures used in compiler
construction such as abstract syntax trees, symbol tables,
three-address code, and stack machines
3. Design and implement a compiler using a software
engineering approach
4. Use generators (e.g. Lex and Yacc)
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to interpreter and compiler. Compiler techniques and methodology;
Organization of compilers; Lexical and syntax analysis; Parsing techniques. Types of
parsers, top-down parsing, bottom-up parsing, Type checking, Semantic analyser, Object
code generation and optimization, detection and recovery from errors.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Compilers: Principles, Techniques, and Tools, A. V. Aho, R. Sethi and J. D. Ullman,
Addison-Wesley, 2nd ed., 2006
2. Modern Compiler Design, D. Grune, H. E. Bal, C. J. H. Jacobs, K. G. Langendoen,
John Wiley, 2003.
3. Modern Compiler Implementation in C, A. W. Appel, M. Ginsburg, Cambridge
University Press, 2004.
40
Computer Graphics
Credit Hours: 3 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Comprehend the structure of modern computer graphics
systems
2. Explain the basic principles of implementing computer
graphics fundamentals
3. Compare key algorithms for modelling and rendering
graphical data
4. Develop design and problem solving skills with applications
to computer graphics
5. Construct interactive computer graphics programs using
OpenGL
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Fundamental Concepts: forward and backward rendering (i.e., ray-casting and
rasterization), applications of computer graphics: including game engines, cad,
visualization, virtual reality, polygonal representation, basic radiometry, similar
triangles, and projection model, use of standard graphics APIs (see HCI GUI
construction); basic rendering: rendering in nature, i.e., the emission and scattering of
light and its relation to numerical integration, affine and coordinate system
transformations, ray tracing, visibility and occlusion, including solutions to this problem
such as depth buffering, painter’s algorithm, and ray tracing, the forward and backward
rendering equation, simple triangle rasterization, rendering with a shader-based API,
texture mapping, including minification and magnification (e.g., trilinear MIP-mapping),
application of spatial data structures to rendering, sampling and anti-aliasing, scene
graphs and the graphics pipeline; geometric modeling: basic geometric operations such
as intersection calculation, proximity tests, polynomial curves and surfaces,
approximation techniques such as polynomial curves, bezier curves, spline curves and
surfaces, animation as a sequence of still images.
Teaching Methodology:
Lectures, Written Assignments, Project, Report Writing
Course Assessment:
Midterm exam, Final Exam, Assignments
Reference Materials:
1. Computer Graphics with Open GL (4th Edition) by Donald D. Hearn, Prentice Hall,
2010, ISBN-10: 0136053580.
2. Foundations of 3D Computer Graphics by S. J. Gortler, The MIT press, 2012.
3. Fundamentals of Computer Graphics, 3rd Edition, A K Peters, 2009.
4. Computer Graphics: Principles and Practice, 3rd Edition, Addison Wesley, 2013.
5. Real-Time Rendering, 3rd Edition, A K Peters, 2008.
41
Computer Networks
Credit Hours: 3+1 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Describe the key terminologies and technologies of
C 2
computer networks
2. Explain the services and functions provided by each layer
C 2
in the Internet protocol stack.
3. Identify various internetworking devices and protocols, and
C 4
their functions in a network.
4. Analyze working and performance of key technologies,
C 4
algorithms and protocols.
5. Build Computer Network on various Topologies P 3
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction and protocols architecture, basic concepts of networking, network topologies,
layered architecture, physical layer functionality, data link layer functionality, multiple
access techniques, circuit switching and packet switching, LAN technologies, wireless
networks, MAC addressing, networking devices, network layer protocols, IPv4 and IPv6,
IP addressing, sub netting, CIDR, routing protocols, transport layer protocols, ports and
sockets, connection establishment, flow and congestion control, application layer
protocols, latest trends in computer networks.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Computer Networking: A Top-Down Approach Featuring the Internet, 6th edition by
James F. Kurose and Keith W. Ross
2. Computer Networks, 5th Edition by Andrew S. Tanenbaum
3. Data and Computer Communications, 10th Edition by William Stallings
4. Data Communication and Computer Networks, 5th Edition by Behrouz A. Forouzan
42
Computer Organization and Assembly Language
Credit Hours: 3+1 Prerequisites: Programming Fundamentals
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Acquire the basic knowledge of computer organization,
computer architecture and assembly language
2. Understand the concepts of basic computer organization,
architecture, and assembly language techniques
3. Solve the problems related to computer organization and
assembly language
BT= Bloom’s Taxonomy, C=Cognitive domain,
P=Psychomotor domain, A= Affective domain
Course Content:
Introduction to computer systems: Information is bits + context, programs are translated
by other programs into different forms, it pays to understand how compilation systems
work, processors read and interpret instructions stored in memory, caches matter, storage
devices form a hierarchy, the operating system manages the hardware, systems
communicate with other systems using networks; Representing and manipulating
information: information storage, integer representations, integer arithmetic, floating
point; Machine-level representation of programs: a historical perspective, program
encodings, data formats, accessing information, arithmetic and logical operations,
control, procedures, array allocation and access, heterogeneous data structures, putting
it together: understanding pointers, life in the real world: using the gdb debugger, out-
of-bounds memory references and buffer overflow, x86-64: extending ia32 to 64 bits,
machine-level representations of floating-point programs; Processor architecture: the
Y86 instruction set architecture, logic design and the Hardware Control Language
(HCL), sequential Y86 implementations, general principles of pipelining, pipelined Y86
implementations
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e), Randal E.
Bryant and David R.O' Hallaron, Carnegie Mellon University
2. Robert Britton, MIPS Assembly Language Programming, Latest Edition,
3. Computer System Architecture, M. Morris Mano, Latest Edition,
4. Assembly Language Programming for Intel- Computer, Latest Edition
43
Cyber Security
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Basic security concepts, Information security terminology, Malware classifications, Types
of malware. Server side web applications attacks. Cross-site scripting, SQL Injection,
Cross-site request forgery, Planning and policy, Network protocols and service models.
Transport layer security, Network layer security, Wireless security, Cloud & IoT security.
Teaching Methodology:
Lecturing, Written Assignments, Project
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Lab, Presentation, Final Exam
Reference Materials:
3. Security+ Guide to Network Security Fundamentals by Mark Ciampa, th Edition
4. Corporate Computer Society by Randall J.Boyle, 3rd Edition
44
Computer Vision
Credit Hours: 3 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Understand and explain the field of computer vision in
C 1,2
general for different applications, etc.
2. Understand and implement camera calibration C 1,2,3
3. Work under OpenCV or Matlab computer vision toolbox,
C 1,2,3
etc.
4. Implement an algorithm to assemble the extracted features
C 3,6
to develop a higher-level perception
5. Implement different algorithms for spatial and frequency
domain filtering, feature detection, structure from motion, C 3
motion estimation, etc.
6. To detect, recognize and track different types of the
C 3,6
objects in the scene
7. Develop an algorithm for context awareness or scene
C 3,6
understanding
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction, Image formation, Spatial and frequency domain processing, Feature
detection and extraction, Image registration, Segmentation, Camera calibration,
Structure from motion, Motion estimation, Stereo vision, Object detection and
recognition, Object tracking, 3D scene reconstruction, Context and scene understanding,
Image stitching, Image-based and video-based rendering, High-performance computing
paradigms for vision and image processing.,
Teaching Methodology:
Lectures, Written Assignments, Semester Project.
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Final Exam
Reference Materials:
1. Computer Vision - A Modern Approach, by D. Forsyth and J. Ponce, Prentice Hall,
2003.
2. Szeliski R., Computer Vision - Algorithms and Applications, Springer, 2011.
3. J. R. Parker, Algorithms for Image Processing and Computer Vision, Willey
Publishing Inc. 2011.
4. Gonzalez R. C., Woods R. E., Digital Image Processing, Pearson Education, 3rd
edition, 2008.
45
Data Encryption and Security
Credit Hours: 3 Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
CLO-1:. C
CLO-2:
CLO-3:.
CLO-4:.
Course Content:
Principle of number theory and probability theory, Primes, random numbers, modular
arithmetic and discrete logarithms. Cryptographic algorithms and design principles,
including conventional and symmetric encryption (DES, IDEA, Blowfish, Rijndael, RC-
4, RC-5), public key or asymmetric encryption (RSA, Diffie-Hellman), key management,
hash functions (MD5, SHA-1, RIPEMD-160, HMAC), digital signatures and certificates.
Authentication protocols (X.509, Kerberos), electronic mail security (S/MIME, PGP),
web security and protocols for secure electronic commerce (IPSec, SSL, TLS, SET).
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Cryptography and Network Security: Principles and Practice, William Stallings, 6th
edition.
46
Data Structures and Algorithms
Credit Hours: 3+1 Prerequisites: Programming Fundamentals
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Implement various data structures and their algorithms, and
C 2,3
apply them in implementing simple applications.
2. Analyze simple algorithms and determine their
C 4,5
complexities.
3. Apply the knowledge of data structures to other application
C 3
domains.
4. Design new data structures and algorithms to solve
C 6
problems.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Abstract data types, complexity analysis, Big Oh notation, Stacks (linked lists and array
implementations), Recursion and analyzing recursive algorithms, divide and conquer
algorithms, Sorting algorithms (selection, insertion, merge, quick, bubble, heap, shell,
radix, bucket), queue, dequeuer, priority queues (linked and array implementations of
queues), linked list & its various types, sorted linked list, searching an unsorted array,
binary search for sorted arrays, hashing and indexing, open addressing and chaining,
trees and tree traversals, binary search trees, heaps, M-way tress, balanced trees, graphs,
breadth-first and depth-first traversal, topological order, shortest path, adjacency matrix
and adjacency list implementations, memory management and garbage collection.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Data Structures and Algorithms in C++ by Adam Drozdek
2. Data Structures and Algorithm Analysis in Java by Mark A. Weiss
3. Data Structures and Abstractions with Java by Frank M. Carrano & Timothy M.
Henry
4. Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss
5. Java Software Structures: Designing and Using Data Structures by John Lewis and
Joseph Chase
47
Database Administration & Management
Credit Hours: 3 (3,0) Prerequisites: Database System
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Introduction to advance data models such as object relational, object oriented. File
organizations concepts, Transactional processing and Concurrency control techniques,
Recovery techniques, Query processing and optimization, Database Programming,
Integrity and security, Database Administration, Physical database design and tuning,
Distributed database systems, Emerging research trends in database systems.
Teaching Methodology:
Lecturing, Written Assignments, Project & Research
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Presentation, Final Exam
Reference Materials:
1. Fundamentals of Database Systems, by Ramez Elmasri and Shamkant Navathe,
Addison Wesley, 5th Edition.
2. Database System Concepts by Henry F. Korth and Abraham Silberschatz, 4th
edition, McGraw Hill, 2002, ISBN: 0-07-12268-0
48
Database Systems
Credit Hours: 3+1 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Explain fundamental database concepts. C 2
2. Design conceptual, logical and physical database schemas
C 5
using different data models.
3. Identify functional dependencies and resolve database
C 2
anomalies by normalizing database tables.
4. Use Structured Query Language (SQL) for database
C 4
definition and manipulation in any DBMS
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Basic database concepts, Database approach vs file based system, database architecture,
three level schema architecture, data independence, relational data model, attributes,
schemas, tuples, domains, relation instances, keys of relations, integrity constraints,
relational algebra, selection, projection, Cartesian product, types of joins, normalization,
functional dependencies, normal forms, entity relationship model, entity sets, attributes,
relationship, entity-relationship diagrams, Structured Query Language (SQL), Joins and
sub-queries in SQL, Grouping and aggregation in SQL, concurrency control, database
backup and recovery, indexes, NoSQL systems.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Database Systems: A Practical Approach to Design, Implementation, and
Management, 6th Edition by Thomas Connolly and Carolyn Begg
2. Database Systems: The Complete Book, 2nd Edition by Hector Garcia-Molina, Jeffrey
D. Ullman, Jennifer Widom
3. Database System Concepts, 6th Edition by Avi Silberschatz, Henry F. Korth and S.
Sudarshan.
4. Database Management Systems, 3rd Edition by Raghu Ramakrishnan, Johannes
Gehrke
49
Design and Analysis of Algorithms
Credit Hours: 3 Prerequisites: Data Structures and
Algorithms
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Explain what is meant by “best”, “expected”, and “worst”
case behavior of an algorithm
2. Identify the characteristics of data and/or other conditions
or assumptions that lead to different behaviors.
3. Determine informally the time and space complexity of
simple algorithms
4. List and contrast standard complexity classes
5. Use big O, Omega, Theta notation formally to give
asymptotic upper bounds on time and space complexity of
algorithms
6. Use of the strategies(brute-force, greedy, divide-and-
conquer, and dynamic programming) to solve an
appropriate problem
7. Solve problems using graph algorithms, including single-
source and all-pairs shortest paths, and at least one
minimum spanning tree algorithm
8. Trace and/or implement a string-matching algorithm
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction; role of algorithms in computing, Analysis on nature of input and size of
input Asymptotic notations; Big-O, Big Ω, Big Θ, little-o, little-ω, Sorting Algorithm
analysis, loop invariants, Recursion and recurrence relations; Algorithm Design
Techniques, Brute Force Approach, Divide-and-conquer approach; Merge, Quick Sort,
Greedy approach; Dynamic programming; Elements of Dynamic Programming, Search
trees; Heaps; Hashing; Graph algorithms, shortest paths, sparse graphs, String matching;
Introduction to complexity classes;
Teaching Methodology:
Lectures, Written Assignments, Semester Project.
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Final Exam
Reference Materials:
1. Introduction to Algorithms (3rd edition) by Thomas H. Corman, Charles E.
Leiserson, Ronald L. Rivest and Clifford Stein
2. Algorithm Design, (1st edition, 2013/2014), Jon Kleinberg, Eva Tardos,
3. Algorithms, (4th edition, 2011), Robert Sedgewick, Kevin Wayne
50
Differential Equations
Credit Hours: 3-0 Prerequisites: Calculus and Analytical
Geometry
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Identify, analyze and subsequently solve physical situations
whose behavior can be described by ordinary differential
equations.
2. Determine solutions to first order separable differential
equations.
3. Determine solutions to first order linear differential equations.
4. Determine solutions to first order exact differential equations.
5. Determine solutions to second order linear homogeneous and
non-homogeneous differential equations with constant
coefficients.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Ordinary Differential Equations of the First Order: Geometrical Considerations,
Isoclines, Separable Equations, Equations Reducible to Separable Form, Exact
Differential Equations, Integrating Factors, Linear First-Order Differential Equations,
variation of Parameters. Ordinary Linear Differential Equations; Homogeneous Linear
Equations of the Second Order, Homogeneous Second-Order Equations with Constant
Coefficients, General Solution, Real Roots, Complex Roots, Double Root of the
Characteristic Equation, Differential Operators, Cauchy Equation, Homogeneous Linear
Equations of Arbitrary Order, Homogeneous Linear Equations of Arbitrary Order with
Constant Coefficients, Non- homogeneous Linear Equations. Modelling of Electrical
Circuits. Systems of Differential Equations. Series Solutions of Differential Equations.
Partial Differential Equations: Method of Separation of variables, wave, Heat & Laplace
equations and their solutions by Fourier series method.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Advanced Engineering Mathematics Michael, G.1996, Prentice Hall Publishers.
2. Advanced Engineering Mathematics, 7th edition, Erwin, K. 1993, John Wiley & Sons
Inc.
3. A First Course in Differential Equation Zill. Prindle. Weber. Schmidt.1996.
Brooks/Cole Publishing.
4. Differential Equations with Boundary-Value Problems, Dennis. G. Zill, Michael, R.
Cullen. 1996, Brooks/Cole Publishing,
5. Elementary Differential Equations with Applications C. H. Edwards. David, E. 1993.
Penney, Prentice Hall.
51
DIGITAL IMAGE PROCESSING
Credit Hours: 3+1 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Understand the basics, applications in general, working inside the
digital camera, sampling and quantization, image representation, C 1,2
etc.
2. Implement image enhancement, image segmentation, image
transformations, spatial and frequency domain processing,
C 3
filtering, convolution, image registration, feature detection,
pattern recognition, etc.
3. Evaluate the performance of different image processing
C 4,5
algorithms.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective
domain
Course Content:
The human visual system, electromagnetic system, working and components inside digital
camera, pixels, image representation, sampling, quantization, mathematics of image
formation, convolution, camera projection, point-based image processing, Fourier theory,
image filtering in spatial and frequency domain, wavelets, image registration,
morphological operations, color models, multispectral images, feature detection, image
segmentation, Pattern recognition, etc.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Midterm Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Gonzalez R. C., Woods R. E., Eddins S. L., Digital Image Processing Using Matlab,
Pearson Education, 2nd edition, 2009.
2. Gonzalez R. C., Woods R. E., Digital Image Processing, Pearson Education, 3rd
edition, 2008.
3. Understanding Digital Signal Processing by Richard G. Lyons, Prentice Hall; 3rd
edition, 2010.
52
Digital Logic Design
Credit Hours: 3 Prerequisites: Applied Physics
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Acquire knowledge related to the concepts, tools and
techniques for the design of digital electronic circuits
2. Demonstrate the skills to design and analyze both
combinational and sequential circuits using a variety of
techniques
3. Apply the acquired knowledge to simulate and implement
small-scale digital circuits
4. Understand the relationship between abstract logic
characterizations and practical electrical implementations.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Number Systems, Logic Gates, Boolean Algebra, Combination logic circuits and
designs, Simplification Methods (K-Map, Quinn Mc-Cluskey method), Flip Flops and
Latches, Asynchronous and Synchronous circuits, Counters, Shift Registers, Counters,
Triggered devices & its types. Binary Arithmetic and Arithmetic Circuits, Memory
Elements, State Machines. Introduction Programmable Logic Devices (CPLD, FPGA);
Lab Assignments using tools such as Verilog HDL/VHDL, MultiSim
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Digital Fundamentals by Floyd, 11/e.
2. Fundamental of Digital Logic with Verilog Design, Stephen Brown, 2/e.
53
Discrete Structures
Credit Hours: 3+0 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the key concepts of Discrete Structures such
C 2
as Sets, Permutations, Relations, Graphs, and Trees etc.
2. Apply formal logic proofs and/or informal, but rigorous,
logical reasoning to real problems, such as predicting the C 3
behavior of software or solving problems such as puzzles.
3. Apply discrete structures into other computing problems
such as formal specification, verification, databases, C 3
artificial intelligence, and cryptography.
4. Differentiate various discrete structures and their relevance
within the context of computer science, in the areas of data C 4
structures and algorithms, in particular.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Mathematical reasoning, propositional and predicate logic, rules of inference, proof by
induction, proof by contraposition, proof by contradiction, proof by implication, set
theory, relations, equivalence relations and partitions, partial orderings, recurrence
relations, functions, mappings, function composition, inverse functions, recursive
functions, Number Theory, sequences, series, counting, inclusion and exclusion
principle, pigeonhole principle, permutations and combinations, elements of graph
theory, planar graphs, graph coloring, euler graph, Hamiltonian path, rooted trees,
traversals.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Discrete Mathematics and Its Applications, 7th edition by Kenneth H. Rosen
2. Discrete Mathematics with Applications, 4th Edition by Susanna S. Epp
3. Discrete Mathematics, 7th edition by Richard Johnson Baugh
4. Discrete Mathematical Structures, 4th edition by Kolman, Busby & Ross
5. Discrete and Combinatorial Mathematics: An Applied Introduction by Ralph P.
Grimaldi
6. Logic and Discrete Mathematics: A Computer Science Perspective by Winifred
Grassman
54
E-Commerce
Credit Hours: 3(3,0) Prerequisites: Web Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the concepts and standards related to the C
discipline of E-Commerce.
2. Analyze complex real world problems found in E- C
Commerce
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
An overview of E-Commerce & its business models and concepts, Planning an E-
Commerce Framework, Managing Products and Categories, Product Variations and User
Uploads, Enhancing the User Experience, The Shopping Basket, The Checkout and Order
Process, Shipping and Tax, Discounts, Vouchers, and Referrals, Checkout, Taking
Payment for Orders, User Account Management, Administration: Dashboard, Managing
Products and Categories, Managing Orders, Customers, Refunds, Voucher Codes,
Shipping, Deploying, Security, and Maintenance, Web Payment Systems, Social, Legal,
and Ethical Issues of E-Commerce, Auctions, Portals, and Communities, SEO.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. E-Commerce, Kenneth Laudon and Carol Guercio Traver, 13th Edition, Pearson, 2017.
2. PHP 5 E-commerce Development, Michael Peacock, Packt Publishing, 2010.
3. Introduction to E-Commerce, Jeffrey F. Rayport, McGraw-Hill, 2nd Edition, 2007.
4. Electronic Commerce, Gary Schneider, Course Technology; 12th Edition 2016
55
English Composition & Comprehension
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Paragraph and Essay Writing, Descriptive Essays; Sentence Errors, Persuasive Writing;
How to give presentations, Sentence Errors; Oral Presentations, Comparison and Contrast
Essays, Dialogue Writing, Short Story Writing, Review Writing, Narrative Essays, Letter
Writing
Teaching Methodology:
Lecturing, Written Assignments, Presentation, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Presentation, Final Exam
Reference Materials:
1. College Writing Skills with Readings, by John Langan, McGraw-Hill, 5th Edition.
2. A Textbook of English Prose and Structure by Arif Khattak, et al, GIKI Institute,
2000
56
Enterprise Systems
Credit Hours: 3 (3,0) Prerequisites: Database System
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Fundamentals of an Enterprise and Industries artifacts. Introduction to Enterprise
Resource Planning (ERP). ERP Implementation life cycle methodologies and strategy.
Business processes, architecture, User Interface Designs and their modeling. ERP
Security, workflows, data integration, applications migration and data migration. Study of
business modules Human Resource, Procurement, Sales and Distribution, Material
Management, and Manufacturing. Concepts and tools of designing and implementing an
ERP system. Emerging trends in ERP and special topics such as Supply Chain
Management (SCM), Customer Relationship Management (CRM), Business Intelligence
(BI).
Teaching Methodology:
Lecturing, Written Assignments, Project & Lab Work
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentation, Final Exam
Reference Materials:
1. Enterprise Resource Planning by Rajesh Ray, Tata McGraw Hill Education Private
Limited, New Delhi, 2011
2. Design of Industrial Information Systems by Thomas O. Boucher, Ali Yalcin,
Elsevier AP Printer, 2006
3. Enterprise Application Integration by David S. Linthicum, Addison Wesley
Information Technology Series, 2000
57
Formal Methods in Software Engineering
Credit Hours: 3 (3,0) Prerequisites: Discrete Structures
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Describe the costs and benefits of formal methods’ C 1
2. Construct formal models of sequential software systems C 2
3. Implement sequential software systems based on formal C 3
models
4. Verify attributes of formal models C 3
5. Demonstrate formal correctness of simple procedure C 4
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to the use of mathematical models for specification and validation, Finite
state machine models, models of concurrent systems, verification of models, and
limitations. Analyzing well-formedness (e.g. completeness, consistency, robustness, etc.),
Analyzing correctness (e.g. static analysis, simulation, model checking, etc.), Formal
analysis, An introduction to VDM-SL, Sets, Sequences, Composite objects, Maps, VDM-
SL, Comparative Formal Methods, Proofs, Introduction to Z
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Modern Formal Methods and Applications, Hossam A. Gabbar, Springer-Verlag 2006.
2. Formal Software Development: From VDM to Java, Charatan, Quentin, and Aaron
Kans. Palgrave Macmillan, 2003.
3. Understanding Z: a Specification Language and its Formal Semantics. J. M. Spivey.
1988. Cambridge University Press, New York, NY, USA.
58
Global Software Development
Credit Hours: 3(3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the principles of the software engineering in C 2
context of global software development.
2. Evaluate and discuss the issues around global software C 4
development and techniques for managing distributed
projects.
3. Understand Configuration management systems, release C 2
management and task assignments in context of
distributed projects.
4. Acquire strategies for effectively dividing tasks among C 3
teams, controlling the communication among teams,
planning tasks and collaborating on modular project with
the help of realistic examples.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective
domain
Course Content:
Introduction to Global Software Development. Global Teams and Organization. Guideline
for making the virtual team. The Geography of Coordination. Dealing with Distance.
Architectures and Coordination: Reconfiguration of Existing Product Technologies,
Identification of Coordination Requirements. Distributed Development Environments:
Software configuration management, Awareness among Configuration Management.
Challenges of Culture: Managing distances and differences in geographically distributed
work groups. The Outsourcing Relationship. Facilitating Cross-site Trust, Cooperation,
and Social Capital: Communication and Trust in Global Virtual Teams. Social Networks
and Knowledge Networks. Communication and Awareness: dealing with distance.
Assessing Coordination Risk.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Global Software and IT: A Guide to Distributed Development, Projects”, Christof
Ebert, Wiley 2011.
2. Global Software Teams: Collaborating Across Borders and Time Zones”, Erran
Carmel. Prentice Hall, 1999.
59
Graph Theory
Credit Hours: 3 Prerequisites: Nil
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. To introduce the fundamental concepts of Graph Theory. C 1
2. To provide knowledge for application of Graph Theory in C 2
subsequent courses in the design and analysis of algorithms,
computability theory, software engineering, and computer
systems.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective
domain
Course Content:
Introduction to Graph Theory, Basic definitions, computer representations and properties
of Graph, Data structure for representing Graphs, Fundamental theorem of Graph Theory,
Isomorphic and Special Graphs, Properties of Trees and Forests, Binary tree, Balanced
binary tree, Directed and Undirected rooted tree, Minimum Spanning Tree algorithms and
implementation, Path and Distance in graphs, Shortest path algorithms and
implementation, Cycle and distance in weighted graph and digraphs, Distance algorithms
and implementation, Eulerian graphs and Hamiltonians graphs with applications, Flow
networks, Max-flow Min-cut Theorem, Graph coloring, Edge coloring, Planar graphs,
Four color theorem, Deadlock of computer system, Matching Algorithms, Dominance &
Ramsey theory.
Teaching Methodology:
Lectures, Written Assignments, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Graph Theory & Applications (1st Edition) by Fournier. Published by Wiley-ISTE,
2011.
2. Applied Algorithmic Graph Theory (1st Edition) by Chartrand. Published by McGraw-
Hill College, 1995.
3. Handbook of Graph Theory (Series Edition) by Jonathan Published by CRC Press,
2004.
4. Graph Theory with Applications (8th Edition) by J. A. Bondy, Published Elsevier
USA, 1982.
60
Human Computer Interaction
Credit Hours: 3 (3,0) Prerequisites: Software Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
2
1. Explain context of HCI and different measures for C
evaluation. 3
2. Apply the principles of good design for people from the C 4
perspective of age and disabilities. C
3. Analyze techniques for user centered design for a medium 5
sized software. C
4. Evaluate the usability of a medium size software user
interface.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Contexts for HCI, Psychology of usable things, Processes for User-Centered Design,
Metrics and Measures for Evaluation, Usability heuristics and principles of Usability
testing, Physical capabilities, Cognitive and social models for interaction design,
Principles of good interaction design, Accessibility, Principles of GUI, Visual design
elements, Data gathering, Task analysis, Prototyping, Help and user documentation,
Internationalization, Usability inspection methods, Usability testing methods, New
Interaction Technologies, Usability in practice, Visual Design and Typography, Icon
Design, Ubiquitous, Augmented and Virtual Reality.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Designing the User Interface: Strategies for Effective Human-Computer Interaction,
Ben Shneiderman and Catherine Plaisant, 6th Ed, Pearson Inc, 2016.
2. Designing Interactive Systems: A Comprehensive Guide to HCI, UX and Interaction
Design, Benyon, D. 3rd Ed., Pearson. 2013
3. About Face: The Essentials of Interaction Design, Alan Cooper, Robert Reimann,
David Cronin, Christopher Noessel, 4th Ed, Wiley, 2014
61
Information Security
Credit Hours: 3+0 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Explain key concepts of information security such as
design principles, cryptography, risk management, and C 2
ethics
2. Discuss legal, ethical, and professional issues in
A 2
information security.
3. Apply various security and risk management tools for
C 3
achieving information security and privacy.
4. Identify appropriate techniques to tackle and solve
C 4
problems in the discipline of information security.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Information security foundations, security design principles; security mechanisms,
symmetric and asymmetric cryptography, encryption, hash functions, digital signatures,
key management, authentication and access control; software security, vulnerabilities
and protections, malware, database security; network security, firewalls, intrusion
detection; security policies, policy formation and enforcement, risk assessment,
cybercrime, law and ethics in information security, privacy and anonymity of data.
Teaching Methodology:
Lectures, Written Assignments, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Computer Security: Principles and Practice, 3rd edition by William Stallings
2. Principles of Information Security, 6th edition by M. Whitman and H. Mattord
3. Computer Security, 3rd edition by Dieter Gollmann
4. Computer Security Fundamentals, 3rd edition by William Easttom
5. Official (ISC)2 Guide to the CISSP CBK, 3rd edition
62
Information Systems Audit
Credit Hours: 3 Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Understand the concepts and standards related to the C 1
discipline of Information System Audit.
2. Analyze and Audit Information Systems C 4
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to Auditing, IS Audit charter, Polices, Procedures, The Audit Process, Audit
computer networks and communication, Auditing software development, Acquisition,
Maintenance, Auditing IT infrastructure, Auditing Management and Organization,
Business process re-engineering: IS audit proposal, report, evidence and follow-up,
complaint to standard, Enterprise service agreement, IP pro count policies and process,
Backup and procedures, Overview of Computer-Assisted Audit Tools and Techniques.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Auditing Information Systems: Enhancing Performance of the Enterprise, Abraham
Nyirongo, Trafford, 2015.
2. Information Systems Control and Audit, Ron Weber, Dorling Kindesley Pearson
Education, 2014
3. CISA® Certified Information Systems Auditor All-in-One Exam Guide, Peter
Gregory, 3rd Edition, McGraw-Hill Education, 2016
63
Information Technology Project Management
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Introduction to Project Management. The Project Management and Information
Technology Context. The Project Management Process Groups. Project Integration
Management. Project Scope Management. Project Time Management. Project Cost
Management. Project Quality Management. Project Human Resource Management.
Project Communications Management. Project Risk Management. Project Procurement
Management. Project Management Tools.
Teaching Methodology:
Lecturing, Written Assignments, Presentation, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Report Writing, Presentation, Final Exam
Reference Materials:
1. Information Technology Project Management by Kathy Schwalbe, Course
Technology; 6th Edition (July 22, 2010). ISBN-10: 1111221758
2. A Guide to the Project Management Body of Knowledge, 3rd Edition (PMBOK
Guides), ISBN-13: 978-1930699458
3. IT Project Management: On Track from Start to Finish by Joseph Phillips, McGraw-
Hill Osborne Media; 3rd Edition (February 25, 2010). ISBN-10: 0071700439
4. Information Technology Project Management by Jack T. Marche, Wiley; 3rd Edition
(January 6, 2009). ISBN-10: 0470371935
64
Introduction to Information and Communication Technologies
Credit Hours: 3 (2,1) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Principles of writing good English, understanding the composition process: writing
clearly; words, sentence and paragraphs; Comprehension and expression; Use of grammar
and punctuation. Process of writing, observing, audience collecting, composing, drafting
and revising, persuasive writing, reading skills, listening skills and comprehension, skills
for taking notes in class, skills for exams; Business communications; planning messages,
writing concise but with impact. Letter formats, mechanics of business, letter writing,
letters, memo and applications, summaries, proposals, writing resumes, styles and
formats, oral communications, verbal and non-verbal communication, conducting
meetings, small group communication, taking minutes. Presentation skills; presentation
strategies, defining the objective, scope and audience of the presentation, material
gathering material organization strategies, time management, opening and concluding, use
of audio-visual aids, delivery and presentation.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Presentation, Final Exam
Reference Materials:
1. Practical Business English, Collen Vawdrey, 1993, ISBN = 0256192740
2. Effective Communication Skills: The Foundations for Change, John Nielsen, 2008,
ISBN = 1453506748
Introduction to Software Engineering
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Describe various software engineering processes and C 1
activities
2. Apply the system modeling techniques to model a medium C 3
size software system
3. Apply software quality assurance and testing principles to C 4
medium size software system.
4. Discuss key principles and common methods for software C 2
project management such as scheduling, size estimation,
cost estimation and risk analysis
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Nature of Software, Overview of Software Engineering, Professional software
development, Software engineering practice, Software process structure, Software process
models, Agile software Development, Agile process models, Agile development
techniques, Requirements engineering process, Functional and non-functional
requirements, Context models, Interaction models, Structural models, behavioral models,
model driven engineering, Architectural design, Design and implementation, UML
diagrams, Design patterns, Software testing and quality assurance, Software evolution,
Project management and project planning, configuration management, Software Process
improvement.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Software Engineering, Sommerville I., 10th Edition, Pearson Inc., 2014
2. Software Engineering, A Practitioner’s Approach, Pressman R. S.& Maxim B. R., 8th
Edition, McGraw-Hill, 2015.
Islamic Studies
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Basic Themes of Quran, Introduction to Sciences of Hadith, Introduction to Islamic
Jurisprudence, Primary & Secondary Sources of Islamic Law, Makken & Madnian life of
the Prophet, Islamic Economic System, Political theories, Social System of Islam
Teaching Methodology:
Lecturing, Written Assignments, Project
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Presentation, Final Exam
Reference Materials:
1. Introduction to Islam by Dr Hamidullah, Papular Library Publishers Lahore
2. Principles of Islamic Jurisprudence by Ahmad Hassan, Islamic Research Institute,
IIUI
3. Muslim Jurisprudence and the Quranic Law of Crimes, By Mir Waliullah, Islamic
Books Services
IT Infrastructure
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Definition of IT Infrastructure, Non-functional Attributes, Availability Concepts, Sources
of Unavailability, Availability Patterns. Performance. Security Concepts. Data centres.
Servers: Availability, Performance, Security. Networking: Building Blocks, Availability,
Performance, Security. Storage: Availability, Performance, Security. Virtualization:
Availability, Performance, Security. Operating Systems: Building Blocks, Implementing
Various OSs, OS availability, OS Performance, OS Security. End User Devises: Building
Blocks, Device Availability, Performance, Security. IT Infrastructure Management.
Service Delivery Processes. Service Support Processes. Ethics, Trends, organizational and
technical issues related to IT infrastructure.
Teaching Methodology:
Lecturing, Written Assignments, Project, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Presentation, Final Exam
Reference Materials:
1. IT Infrastructure Architecture: Infrastructure building blocks and concepts by Sjaak
Laan, Lulu.com (November 5, 2011). ISBN-10: 1447881281
2. IT Infrastructure and its Management by Prof Phalguni Gupta, Tata McGraw Hill
Education Private Limited (October 6, 2009). ISBN-10: 0070699798
3. IT Architecture for Dummies by Kalani Kirk Hausman and Susan Cook, For
Dummies; 1st Edition (November 9, 2010). ISBN-10: 0470554231
Linear Algebra
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Algebra of linear transformations and matrices. determinants, rank, systems of equations,
vector spaces, orthogonal transformations, linear dependence, linear Independence and
bases, eigenvalues and eigenvectors ,characteristic equations, Inner product space and
quadratic forms
Teaching Methodology:
Lecturing, Written Assignments
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Final Exam
Reference Materials:
1. Elementary Linear Algebra by Howard Anton
2. Linear Algebra and its Applications by Gibert Strang
Logical Paradigm of Computing
Credit Hours: 3 Prerequisites: Discrete Structures
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand how formal methods (FM) help produce high- C 1
quality software
2. Write and understand formal requirement specifications C 2
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective
domain
Course Content:
Propositional logic, Declarative sentences, Natural deduction, Propositional logic as a formal
language, Semantics of propositional logic, Normal forms. Predicate logic, The need for a
richer language, Predicate logic as a formal language, Proof theory of predicate logic,
Semantics of predicate logic, Un-decidability of predicate logic, Expressiveness of predicate
logic, Micro models of software, Verification by model checking, Motivation for verification,
Linear-time temporal logic LTL Model checking: systems, tools, properties, Branching-time
logic CTL, CTL* and the expressive powers of LTL and CTL, Model-checking algorithms.
The fixed-point characterization of CTL, Program verification, Why should we specify and
verify code? A framework for software verification, Proof calculus for partial correctness,
Proof calculus for total correctness, Programming by contract, Modal logics and agents, Modes
of truth, Basic modal logic, Logic engineering. Natural deduction, Reasoning about knowledge
in a multi-agent system, Binary decision diagrams, Representing Boolean functions,
Algorithms for reduced OBDDs, Symbolic model checking. A relational mu-calculus.
Introduction to Process Algebra, Modelling Communication, Synchronization, Action and
Transition Internal Actions.
Teaching Methodology:
Lectures, Written Assignments, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Logic in Computer Science Modelling and Reasoning about Systems 2nd Edition Michael
Huth, Mark Ryan, University of Birmingham, 2004
2. Principles Of Model Checking by Christel Baier and Joost-Pieter Katoen MIT Press,
2008
3. Software Reliability Methods Doron Peled, Springer, 2001
4. Communication and Concurrency, R. Milner (1989), Prentice Hall
Management Information System
Credit Hours: 3(3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand and articulate concepts of information C 2
technology management.
2. Assess and apply IT to solve common business problems. C 2
3. Suggest and defend effective solutions to business
problems, and design a database application to solve a
business problem. C 3
4. Explain in details the ethical aspects of information
technology use in the organization and its governance issues. C 2
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to Information Systems in Organizations; Business Process and Decision
Making; Productivity, Innovation and Strategy; Database and Content Management;
Decision Making and Business Intelligence; Competitive Advantage and Business
Processes; Networks and Collaboration; ERP and E-commerce, Social Networking, and
Web 3.0; Acquiring Information Systems Through Projects; Structure, Governance, and
Ethics; Managing Information Security and Privacy
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Experiencing MIS, D. M. Kroenke, A. Gemino and P. Tingling. P. 4th Edition.
Toronto: Pearson.2016.
2. Business driven information systems, P. Baltzan, B. Detlor, and C. Welsh, 4th Ed.,
McGraw Hill Ryerson Press, 2015..
Mobile Application Development
Credit Hours: 3(3,0) Prerequisites: Object Oriented Programming
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Discuss different architectures & framework for Mobile C 1
Application development.
2. Develop mobile applications using current software C 3
development environments.
3. Compare the different performance tradeoffs in mobile C 3
application development.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Mobiles Application Development Platform; HTML5 for Mobiles; Android OS:
Architecture, Framework and Application Development; iOS: Architecture, Framework;
Application Development with Windows Mobile; Eclipse; Fragments; Calling Built-in
Applications using Intents; Displaying Notifications; Components of a Screen; Adapting
to Display Orientation; Managing Changes to Screen Orientation; Utilizing the Action
Bar; Creating the User Interface; Listening for UI Notifications; Views; User Preferences;
Persisting Data; Sharing Data; Sending SMS Messages; Getting Feedback; Sending E-
mail; Displaying Maps; Consuming Web Services Using HTTP; Web Services: Accessing
and Creating; Threading; Publishing, Android Applications; Deployment on App Stores;
Mobile Programming Languages; Challenges with Mobility and Wireless
Communication; Location-aware Applications; Performance/Power Tradeoffs; Mobile
Platform Constraints; Emerging Technologies..
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Professional Android application development, Reto Meier, Wrox Programmer to
Programmer, 2015.
2. iOS Programming: The Big Nerd Ranch Guide, Conway, J., Hillegass, A., & Keur, C.,
5th Edition, 2014.
3. Android Programming: The Big Nerd Ranch Guides, Phillips, B. & Hardy, B., 2 nd
Edition, 2014.
Simulation and Modeling
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Explain the model classification at different levels. C 1
2. Analyze complex engineering systems and associated issues C 3
(using systems thinking and modelling techniques)
3. Apply advanced theory-based understanding of engineering C 4
fundamentals and specialist bodies of knowledge in the
selected discipline area to predict the effect of engineering
activities. C 4
4. Analyze the simulation results of a medium sized
engineering problem.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to modelling and simulation, System analysis, Classification of systems,
System theory basics, its relation to simulation, Model classification at conceptual,
abstract, and simulation models levels, Methodology of model building, Simulation
systems and languages, Means for model and experiment description, Principles of
simulation system design, Parallel process modeling using Petri nets and finite automata
in simulation, Models of queuing systems, Discrete simulation models, Model time,
Simulation experiment control, Overview of numerical methods used for continuous
simulation. System Dymola/ Modelica, Combined simulation, Special model classes,
Models of heterogeneous systems, Cellular automata and simulation, Checking model
validity, Verification of models, Analysis of simulation results, simulation results
visualization, model optimization, generating, transformation, and testing of
pseudorandom numbers with overview of commonly used simulation systems.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Modeling and Simulation, Bungartz, H.-J., Zimmer, S., Buchholz, M., Pflüger, D.,
Springer-Verlag, 2014.
2. Simulation Modeling Handbook, A Practical Approach, Christopher A. Chung, CRC
Press, 2004.
3. System design, modeling and simulation using Ptolemy II, Claudius Ptolemaeus, , Ver
2.0, Creative Commons Attribution-ShareAlike 3.0 Unported, 2014
4. Applied Simulation Modeling, Andrew F. Seila, Vlatko Ceric, Pandu Tadikamalla,
Thomson Learning Inc., 2003.
Multimedia Communications
Credit Hours: 3(3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
CLO-1: C
CLO-2:
CLO-3:.
CLO-4:
Course Content:
Overview of multimedia systems, Audio/Video fundamentals (representation, human
perception, equipment and applications). Audio and video compression (e.g., JPEG,
MPEG, H.26X, etc.), scalable coding, perceptual audio encoders. Performance
comparison of coding algorithms, Algorithms for image and video processing, multimedia
programming.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Fred Halsall, "Multimedia Communications: Applications, Networks, Protocols, and
Standards", Latest Ed.
2. Puri, "Multimedia Systems, Standards and Networks", Marcel Dekker, Latest Ed.
3. Steve Heath, "Multimedia and Communication Technology", Focal Press, Latest Ed.
4. Bill Whyte, "Multimedia Telecommunication", Chapman and Hall, Latest Ed.
Multivariate Calculus
Credit Hours: 3-0 Prerequisites: Calculus and Analytical Geometry
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the basic concepts and know the basic
techniques of differential and integral calculus of functions
of several variables;
2. Apply the theory to calculate the gradients, directional
derivatives, arc length of curves, area of surfaces, and
volume of solids;
3. Solve problems involving maxima and minima, line
integral and surface integral, and vector calculus;
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Functions of Several Variables and Partial Differentiation. Multiple Integrals, Line and
Surface Integrals. Green’s and Stoke’s Theorem. Fourier Series: periodic functions,
Functions of any period P-2L, Even & odd functions, Half Range expansions, Fourier
Transform; Laplace Transform, Z-Transform.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Multivariable Calculus, 6th edition James, Stewart 2007 Cengage Learning
publishers.
2. Calculus and Analytical Geometry, 6th edition. Swokowski, Olinick and
Pence.1994.Thomson Learning EMEA, Ltd.
3. Multivariable Calculus, 5th edition Howard, A. Albert, H. 1995, John Wiley.
Natural Language Processing
Credit Hours: 3(3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Identify techniques for information retrieval, language C 1
translation, and text classification.
2. List the advantages of using standard corpora. Identify C 2
examples of current corpora for a variety of NLP
tasks.
3. Define and contrast deterministic and stochastic grammars,
providing examples to show the adequacy of each. C 3
4. Simulate, apply, or implement classic and stochastic
algorithms for parsing natural language. C 4
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Deterministic and stochastic grammars, Parsing algorithms, CFGs, Representing meaning
/ Semantics, Semantic roles, Temporal representations, Corpus-based methods, N-grams
and HMMs, Smoothing and backoff, POS tagging and morphology, Information retrieval,
Vector space model, Precision and recall, Information extraction, Language translation,
Text classification, categorization, Bag of words model.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Python Machine Learning, Sebastian Raschka. Publisher: Packt Publishing, 2015.
2. Natural Language Processing with Python: Analyzing Text with the Natural Language
Toolkit Latest Edition, Steven Bird, Ewan Klein and Edward Loper Publisher: O'Reilly
Media, 2009.
3. Speech and Language Processing, Latest Edition, Daniel Jurafsky and James H. Martin
Publisher: Prentice Hall, 2000.
Numerical Computing
Credit Hours: 3 Prerequisites: Calculus and Analytical Geometry
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. The student would understand the fundamental concepts of C 1
Scientific Programming using programing Language(s)
2. Use a computer algebra system to investigate and solve C 2
mathematical problems relating to integration, differential
equations and approximation.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Mathematical preliminaries and error analysis, round-off errors and computer arithmetic,
Calculate Divided Differences. Use Divided-difference Table. Find Newton’s
Interpolation Polynomial. Calculate Interpolation with Equally Spaced Data. Find the
Difference Table. Calculate, Newton’s Forward & Backward Difference Formulae. Use
Gauss Formulae. Use Stirling’s Interpolation Formula. Use Bessel’s Interpolation
Formula. Use Everett’s Interpolation Formula. Solve Nonlinear Equations. Solve
Equations by Bisection Method. Solve Equations by Regula Falsi Method. Solve
Equations by Secant Method. Solve Equations by Newton-Raphson Method. Find Fixed
Point Iteration. Solve Equations by Jacobi Iterative Methods. Solve Equations by Gauss
Seidel Method Calculate Numerical Differentiation. Find Numerical Differentiation
Formulae Based on Equally Spaced Data. Find Numerical Differentiation Based on
Newton’s Forward Differences. Find Numerical Differentiation Based on Newton’s
Backward Differences. Find Numerical Differentiation Based on Stirling’s Formula.
Find Numerical Differentiation Based on Bessel’s Formula. Find Numerical
Differentiation Based on
Lagrange’s Formula. Calculate Error Analysis of Differentiation Formulae. Solve
Richardson Extrapolation. Calculate Numerical Integration. Use Trapezoidal Rule with
Error Term. Use Simpson’s 1/3 Rule with Error Term. Use Simpson’s 3/8 Rule with
Error Term. Use Composite Numerical Integration. Use Composite Trapezoidal Rule.
Use Composite Simpson’s Rule. Find Richardson’s Extrapolation. Find Newton-Cotes
Closed Quadrature Formulae.
Teaching Methodology:
Lectures, Written Assignments, Semester Project, Lab Assignments, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Numerical Analysis (9th Edition) by Richard L. Burden, J. Douglas Faires by
Brooks/Cole Boston USA, 2011
2. Numerical Methods for Scientific Computing by J.H. Heinbockel Trafford
Publishing USA, 2006
Object Oriented Analysis & Design
Credit Hours: 3 (3,0) Prerequisites: Programming Fundamentals
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Principles of Object Technology. OOP Review. Principles of Modeling. OOA&D
Overview. OO Development Process. Requirements Engineering, Analysis, and
Specification: Requirements Engineering, Use Cases, Prototyping, Class Models.
Interaction Diagrams. Verification and Validation. Architectural and Detailed Design.
Class Diagrams. Interaction Diagrams. State Machines and Diagrams. Implementation,
Package Diagrams. Activity Diagrams. OO Patterns, Verification and Validation. Note:
Students may also be introduced to Object Diagram, Component Diagram, Package
Diagram, Deployment Diagram, Network Diagram.
Teaching Methodology:
Lecturing, Written Assignments, Presentation, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Report Writing, Presentation, Final Exam
Reference Materials:
1. Applying UML and patterns: An introduction to Object-Oriented Analysis and
Design and Iterative Development by Craig Larman, Prentice Hall; 3rd Edition
(October 30, 2004). ISBN-10: 0131489062
2. Using UML: Software Engineering with Objects and Components by Perdita
Stevens, Addison-Wesley; 2nd Edition (February 13, 2006). ISBN-10: 0321269675
3. Fundamental of Object-Oriented Design in UML by Meiler Page-Jones, Addison
Wesley, 2000. ISBN: 020169946X.
4. The Unified Modeling Language User Guide by G. Booch, J. Rambaugh and I.
Jakobson, Addison-Wesley Professional; 2nd Edition (2005). ISBN- 10:
0321267974.
Object Oriented Programming
Credit Hours: 3+1 Prerequisites: Programming Fundamentals
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand principles of object oriented paradigm. C 2
2. Identify the objects & their relationships to build object
C 3
oriented solution
3. Model a solution for a given problem using object oriented
C 3
principles
4. Examine an object oriented solution. C 4
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to object oriented design, history and advantages of object oriented design,
introduction to object oriented programming concepts, classes, objects, data
encapsulation, constructors, destructors, access modifiers, const vs non-const functions,
static data members & functions, function overloading, operator overloading,
identification of classes and their relationships, composition, aggregation, inheritance,
multiple inheritance, polymorphism, abstract classes and interfaces, generic
programming concepts, function & class templates, standard template library, object
streams, data and object serialization using object streams, exception handling.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Starting Out with C++ from Control Structures to Objects, 9th Edition, Tony Gaddis
2. C++ How to Program, 10th Edition, Deitel & Deitel.
3. Object Oriented Programming in C++, 3rd Edition by Robert Lafore
4. Java: How to Program, 9th Edition by Paul Deitel
5. Beginning Java 2, 7th Edition by Ivor Horton
6. An Introduction to Object Oriented Programming with Java, 5th Edition by C.
Thomas Wu
Operating Systems
Credit Hours: 3+1 Prerequisites: Data Structures and Algorithms
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the characteristics of different structures of the
Operating Systems and identify the core functions of the C 2
Operating Systems.
2. Analyze and evaluate the algorithms of the core functions
of the Operating Systems and explain the major C 4,5
performance issues with regard to the core functions.
3. Demonstrate the knowledge in applying system software
C 3
and tools available in modern operating systems.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Operating systems basics, system calls, process concept and scheduling, inter-process
communication, multithreaded programming, multithreading models, threading issues,
process scheduling algorithms, thread scheduling, multiple-processor scheduling,
synchronization, critical section, synchronization hardware, synchronization problems,
deadlocks, detecting and recovering from deadlocks, memory management, swapping,
contiguous memory allocation, segmentation & paging, virtual memory management,
demand paging, thrashing, memory-mapped files, file systems, file concept, directory
and disk structure, directory implementation, free space management, disk structure and
scheduling, swap space management, system protection, virtual machines, operating
system security
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Operating Systems Concepts, 9th edition by Abraham Silberschatz
2. Modern Operating Systems, 4th edition by Andrew S. Tanenbaum
3. Operating Systems, Internals and Design Principles, 9th edition by William Stallings
Operations Research
Credit Hours: 3 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Learn the characteristics of different types of decision-
making environments, appropriate decision making
approaches and tools to be used in each type.
2. Solve the Transportation Models and Assignment Models.
3. Understand the basic methodology for the solution of
linear programs and integer programs.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to operations research, History of operations research, Applications,
Modeling the linear programming, Linear programming, Geometry, Solving the linear
programming, the Simplex method, Shadow price, Theory of the simplex method, Duality,
Dual theory, Sensitivity analysis, Other algorithms for linear programming, The dual
simple method, Big – M method, The tow phase method, The transportation and
assignment problems, The transportation problem, A streamlined simplex method for
transportation problem, The assignment problem, A special algorithm for the assignment
problem, Dynamic programming, Characteristic of dynamic programming, Deterministic
dynamic programming, Integer programming, Prototype examples, BIP applications and
formulation examples, Some perspectives on solving integer programming problems, The
branch-and-cut approach to solve BIP problems, The incorporation of constraint
programming.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Frederick S. Hiller, Gerald J. Lieberman, Introduction to Operations Research, 9th
Edition, English, McGraw-Hill, 2010.
2. W. Winston, Operations Research, Duxbury Press.
3. Operations Research: Applications and Algorithms, Wayne L Winston, Indian
University, 4th edition, 2004
Pakistan Studies
Credit Hours: 3 Prerequisites: None
Course Learning Outcomes (CLOs):
Domain BT Level*
Course Content:
Historical background of Pakistan: Muslim society in Indo-Pakistan, the movement led by
the societies, the downfall of Islamic society, the establishment of British Raj- Causes and
consequences. Political evolution of Muslims in the twentieth century: Sir Syed Ahmed
Khan; Muslim League; Nehru; Allama Iqbal: Independence Movement; Lahore
Resolution; Pakistan culture and society, Constitutional and Administrative issues,
Pakistan and its geo-political dimension, Pakistan and International Affairs, Pakistan and
the challenges ahead.
Teaching Methodology:
Lectures, Written Assignments, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. The Emergence of Pakistan, Chaudary M., 1967
2. The making of Pakistan, Aziz. 1976
3. A Short History of Pakistan, I. H. Qureshi, ed., Karachi, 1988
Parallel and Distributed Computing
Credit Hours: 3 Prerequisites: Operating Systems
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Learn about parallel and distributed computers.
2. Write portable programs for parallel or distributed
architectures using Message-Passing Interface (MPI)
library
3. Analytical modelling and performance of parallel
programs.
4. Analyze complex problems with shared memory
programming with openMP.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Asynchronous/synchronous computation/communication, concurrency control, fault
tolerance, GPU architecture and programming, heterogeneity, interconnection
topologies, load balancing, memory consistency model, memory hierarchies, Message
passing interface (MPI), MIMD/SIMD, multithreaded programming, parallel algorithms
& architectures, parallel I/O, performance analysis and tuning, power, programming
models (data parallel, task parallel, process-centric, shared/distributed memory),
scalability and performance studies, scheduling, storage systems, synchronization, and
tools (Cuda, Swift, Globus, Condor, Amazon AWS, OpenStack, Cilk, gdb, threads,
MPICH, OpenMP, Hadoop, FUSE).
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Distributed Systems: Principles and Paradigms, A. S. Tanenbaum and M. V. Steen,
Prentice Hall, 2nd Edition, 2007
2. Distributed and Cloud Computing: Clusters, Grids, Clouds, and the Future Internet, K
Hwang, J Dongarra and GC. C. Fox, Elsevier, 1st Ed.
Probability & Statistics
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Introduction to Statistics and Data Analysis, Statistical Inference, Samples, Populations,
and the Role of Probability. Sampling Procedures. Discrete and Continuous Data.
Statistical Modeling. Types of Statistical Studies. Probability: Sample Space, Events,
Counting Sample Points, Probability of an Event, Additive Rules, Conditional Probability,
Independence, and the Product Rule, Bayes’ Rule. Random Variables and Probability
Distributions. Mathematical Expectation: Mean of a Random Variable, Variance and
Covariance of Random Variables, Means and Variances of Linear Combinations of
Random Variables, Chebyshev’s Theorem. Discrete Probability Distributions.
Continuous Probability Distributions. Fundamental Sampling Distributions and Data
Descriptions: Random Sampling, Sampling Distributions, Sampling Distribution of
Means and the Central Limit Theorem. Sampling Distribution of S2, t-Distribution, F-
Quantile and Probability Plots. Single Sample & One- and Two-Sample Estimation
Problems. Single Sample & One- and Two-Sample Tests of Hypotheses. The Use of P-
Values for Decision Making in Testing Hypotheses (Single Sample & One- and Two-
Sample Tests), Linear Regression and Correlation. Least Squares and the Fitted Model,
Multiple Linear Regression and Certain, Nonlinear Regression Models, Linear Regression
Model Using Matrices, Properties of the Least Squares Estimators.
Teaching Methodology:
Lecturing, Written Assignments, Presentation, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Report Writing, Presentation, Final Exam
Reference Materials:
1. Probability and Statistics for Engineers and Scientists by Ronald E. Walpole,
Raymond H. Myers, Sharon L. Myers and Keying E. Ye, Pearson; 9th Edition
(January 6, 2011). ISBN-10: 0321629116
2. Probability and Statistics for Engineers and Scientists by Anthony J. Hayter,
Duxbury Press; 3rd Edition (February 3, 2006), ISBN-10:0495107573
3. Schaum's Outline of Probability and Statistics, by John Schiller, R. Alu Srinivasan
and Murray Spiegel, McGraw-Hill; 3rd Edition (2008). ISBN-10:0071544259
Professional Practices
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Computing Profession, Computing Ethics, Philosophy of Ethics. The Structure of
Organizations, Finance and Accounting, Anatomy of a Software House, Computer
Contracts, Intellectual Property Rights, The Framework of Employee Relations Law and
Changing Management Practices, Human Resource Management and IT, Health and
Safety at Work, Software Liability, Liability and Practice, Computer Misuse and the
Criminal Law, Regulation and Control of Personal Information. Overview of the British
Computer Society Code of Conduct, IEEE Code of Ethics, ACM Code of Ethics and
Professional Conduct, ACM/IEEE Software Engineering Code of Ethics and Professional
Practice. Accountability and Auditing, Social Application of Ethics.
Teaching Methodology:
Lecturing, Written Assignments, Presentation, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Report Writing, Presentation, Final Exam
Reference Materials:
1. Professional Issues in Software Engineering by Frank Bott, Allison Coleman, Jack
Eaton and Diane Rowland, CRC Press; 3rd Edition (2000). ISBN-10: 0748409513
2. Computer Ethics by Deborah G. Johnson, Pearson; 4th Edition (January 3, 2009).
ISBN-10: 0131112414
3. A Gift of Fire: Social, Legal, and Ethical Issues for Computing and the Internet (3rd
Edition) by Sara Baase, Prentice Hall; 3rd Edition (2008). ISBN-10: 0136008488
4. Applied Professional Ethics by Gregory R. Beabout, University Press of America
(1993). ISBN-10: 0819193747.
Programming Fundamentals
Credit Hours: 3+1 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand basic problem solving steps and logic
C 2
constructs
2. Apply basic programing concepts C 3
3. Design and implement algorithms to solve real world
C 3
problems.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to problem solving, a brief review of Von-Neumann architecture,
Introduction to programming, role of compiler and linker, introduction to algorithms,
basic data types and variables, input/output constructs, arithmetic, comparison and
logical operators, conditional statements and execution flow for conditional statements,
repetitive statements and execution flow for repetitive statements, lists and their memory
organization, multi-dimensional lists, introduction to modular programming, function
definition and calling, stack rolling and unrolling, string and string operations,
pointers/references, static and dynamic memory allocation, File I/O operations
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Starting out with Python, 4th Edition, Tony Gaddis.
2. Starting out with Programming Logic & Degins, 4th Edition, Tony Gaddis,
3. The C Programming Language, 2nd Edition by Brian W. Kernighan, Dennis M.
Ritchie
4. Object Oriented Programming in C++ by Robert Lafore
5. Introduction to Computation and Programming Using Python: With Application to
Understanding Data, 2nd Edition by Guttag, John
6. Practice of Computing Using Python, 3rd Edition by William Punch & Richard
Enbody
7. C How to Program, 7th Edition by Paul Deitel & Harvey Deitel
8. Problem Solving and Program Design in C++, 7th Edition by Jeri R. Hanly & Elliot
B. Koffman
Real Time Systems
Credit Hours: 3(3,0) Prerequisites: Software Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the issues and basic concepts of real‐time C 1
software development.
2. Demonstrate the ability to develop embedded real-time C 2
software using appropriate software methods and tools.
3. Analyze the timing performance of a real‐time software C 4
design using real‐time analysis tools.
4. Apply real‐time software engineering knowledge in C 3
developing a medium to complex program
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to Real‐Time Systems, Categories, Characteristics and challenges,
Requirement Specification and Design, Design fundamentals, Elements of modular
design, Concurrency, Real‐time & other application areas, Real‐Time Operating Systems,
Memory management, Fundamental of microprocessor based systems, Input‐output
interfacing technique, Real‐time programming, Real‐Time Analysis, Schedulability
analysis, Scheduling policies, Designing with rate‐monotonic analysis
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Software Engineering for Real‐Time Systems, Cooling J., Addison‐Wesley.
2. Real‐time Systems and Programming Languages, 2nd Edition, Burns A., Wellings A.
J., Addison Wesley, UK.
3. Principles of Concurrent and Distributed Programming. Ben‐Ari M., Addison‐Wesley,
2006.
Semantic Web
Credit Hours: 3(3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the concept structure of the semantic web C 1
technology and how this technology revolutionizes the
World Wide Web and its uses.
2. Understand the concepts of metadata, semantics of C 2
knowledge and resource, ontology, and their descriptions
in XML-based syntax and web ontology language (OWL).
3. Describe logic semantics and inference with OWL. C 2
4. Use ontology engineering approaches in semantic
applications program semantic applications with Java API. C 4
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to the semantic web, introduction to ontologies, ontology languages for the
semantic web, Resource Description Framework (RDF), lightweight ontologies: RDF
Schema, Web Ontology Language (OWL), query language for RDF: SPARQL, Ontology
Engineering, Semantic web and Web 2.0 and applications of Semantic Web.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Build Flexible Applications with Graph Data, Toby Segaran, Colin Evans, Jamie
Taylor,302 pages O'Reilly Media, 2009
2. Foundations of Semantic Web Technologies, Pascal Hitzler, Markus Krotzsch,
Sebastian Rudolph,
3. Introduction to the Semantic Web and Semantic Web Services, Liyang Yu, Chapman
and Hall/CRC, 2007
Software Construction and Development
Credit Hours: 3 (2-1) Prerequisites: Software Design and Architecture
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the role of design and its major activities within C 1
the OO software development process, with focus on the
Unified process
2. Develop Object-oriented design models and refine them to C 3
reflect implementation details
3. Evaluate different architectures for a medium size software. C 4
4. Implement design model using an object-oriented C 4
programming language.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective
domain
Course Content:
Software development process, Software engineering process infrastructure, Software
engineering process improvement, Systems engineering life cycle models, Process
implementation, Levels of process definition, Life cycle model characteristics, Individual
and team software process, Lehman’s Laws, code salvaging, and configuration
management. Martin Fowler’s refactoring concepts and their application to small projects.
Apply Michael Feathers’ “legacy code” concepts. Exception handling, making methods
robust by having them check their inputs sent from calling objects. Software configuration
management, Release management, Software configuration management processes,
Software deployment processes, Distribution and backup, Evolution processes and
activities, Basic concepts of evolution and maintenance, Working with legacy systems,
Refactoring, Error handling, exception handling, and fault tolerance. Personal reviews
(design, code, etc.), Peer reviews (inspections, walkthroughs, etc.).
Teaching Methodology:
Lecturing, Written and Lab Assignments, Project, Report Writing
Course Assessment:
Reference Materials:
1. Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin,
Prentice Hall, 2008.
2. The Pragmatic Programmer: From Journeyman to Master, Andrew Hunt and David
Thomas, Addison-Wesley Professional, 1999.
3. Working Effectively with Legacy Code, Michael C. Feathers. Pearson Education,
Prentice-Hall, 2004.
4. Refactoring: Improving the Design of Existing Code, Martin Fowler, Addison-Wesley
Professional. 1999.
Software Design and Architecture
Credit Hours: 3 (2-1) Prerequisites: Software Requirement Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Understand the role of design and its major activities C 1
within the OO software development process, with focus
on the Unified process. C 2
2. Comprehend the advantages of consistent and reliable C 3
software design. C 4
3. Design OOD models and refine them to reflect
implementation details C 5
4. Apply and use UML to visualize and document the design
of software systems.
5. Implement the design model using an object-oriented
programming language.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Software Design Concepts, Design principles, Object-Oriented Design with UML, System
design and software architecture, Object design, Mapping design to code, User interface
design, Persistent layer design, Web applications design, State machine diagrams and
modeling, Agile software engineering, Design Patterns, Exploring inheritance, Interactive
systems with MVC architecture, Software reuse. Architectural design issues, , Software
Architecture, Architectural Structures & Styles-, Architectural Patterns, Architectural &
Design Qualities, Quality Tactics, Architecture documentation, Architectural Evaluation,
Model driven development.
Teaching Methodology:
Lecturing, Written and Lab Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home and Lab Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Software Engineering: A Practitioner’s Approach, Roger S. Pressman, Bruce R.
Maxim, 8th Ed, McGraw-Hill Education, 2015.
2. Object-Oriented Analysis, Design and Implementation, Brahma Dathan, Sarnath
Ramnath, 2nd Ed, Universities Press, India, 2014.
3. Software Modeling and Design: UML, Use Cases, Patterns, and Software
Architectures, Hassan Gomaa, Cambridge University Press, 2011.
4. Head First Design Patterns, Eric Freeman, Elisabeth Freeman, Kathy Sierra and Bert
Bates, O’Reilly Media, Inc. 2004.
Software Engineering Economics
Credit Hours: 3(3,0) Prerequisites: Software Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Overview economic analysis techniques and their C 2
applicability to software engineering
2. Develop software cost estimation skills using industry C 3
standards. C 3
3. Critically evaluate and discuss the issues in cost estimation
of different applications in the real world with course
participants and learners.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Programming aspects, economic aspects, human relations aspects, software trends: cost,
social impact, the plurality of SE Means, The GOALS Approach to Software Engineering,
The Software Work Breakdown Structure (WBS), Software Maintenance, introduction to
COCOMO, definitions and assumptions, development effort and schedule, phase
distribution, The Raylaigh Distribution, interpolation, basic software maintenance effort
estimation. Performance Models, Optimal Performance, Sensitivity Analysis, Cost-
Effectiveness Models. Cost Drivers: Project Attributes–Modern Programming Practices,
Use of Software Tools, Schedule Constraint.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Software Engineering Economics and Declining Budgets by Pamela T. Geriner,
Thomas R. Gulledge, William P. Hutzler, Springer Verlag, 2012
2. Estimating Software Costs: Bringing Realism to Estimating, Capers Jones, McGraw-
Hill Osborne Media; 2nd Edition, 2007.
3. Software Cost Estimation and Sizing Methods, Issues, and Guidelines, Shari
Lawrence Pfleeger, Rand Publishing, 2005.
Software Metrics
Credit Hours: 3(3,0) Prerequisites: Software Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Explains how quantitative and empirical methods are C 2
applied to software engineering problems
2. Presents the fundamentals of measurement, C 3
experimentation, data collection and analysis
3. Critically evaluate and discuss different software matrices C 3
of different applications in the real world with course
participants and learners
4. Have a working knowledge of software size measurement C 4
(Function Point counting, etc.)
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Overview of software metrics; Basics of measurements; Goal-based framework for
software measurement; Software measure classification; Empirical investigation,
principles and techniques; Formal experiments: Planning, principles, types and selection;
Measuring internal product attributes: size and structure; Measuring cost and effort;
Measuring external product attributes: quality and reliability; Software test metrics;
Object-oriented metrics
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Software Metrics: A Rigorous and Practical Approach, (3rd ed.), N.E. Fenton and J.
Bieman, CRC Press, 2014,
2. Software Metrics: A Guide to Planning, Analysis, and Application, C. Ravindranath
Pandian, Auerbach Publications, CRC Press Company, 2004.
3. Metrics and Models in Software Quality Engineering, Stephen H. Kan, 2nd ed.,
Addison-Wesley Professional, 2002.
Software Project Management
Credit Hours: 3 (3,0) Prerequisites: Software Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Explain principles of the project lifecycle and how to C 2
identify opportunities to work with learners on relevant and
appropriate project scenarios to share this understanding
2. Critically evaluate and discuss the issues around project C 3
management and its application in the real world with
course participants and learners
3. Choose project management techniques for IT projects to C 4
initiate, plan, execute and evaluate a project and work in
teams to create a project plan for a project scenario that
includes key tasks, critical path, dependencies and a
realistic timeline. C 4
4. Present strategies for gaining confidence in managing
projects through simple project planning examples.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to Software Project Management, Project Management concepts, Project
Management Tools, PMI‘s Knowledge areas, PMI Framework, PMI Process Groups.
Understanding Organizations. Project Planning, Project Evaluation, Selection of an
Appropriate Approach in Project, Software Effort Estimation, Activity Planning, Risk
Management, Evaluating the Risks to the Schedule, Risk Control, Configuration
Management and Maintenance, Environment for Configuration Control, Resource
Allocation, Monitoring & Control, Review and Evaluation, Challenges of Outsourcing in
Project Management
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Software Project Management, Bob Hughes and Mike Cotterell, McGraw-Hill
Education; 5th Edition (2009).
2. A Guide to the Project Management Body of Knowledge, 5th Edition (PMBOK
Guides),
3. Mastering Software Project Management: Best Practices, Tools and Techniques,
Murali K. Chemuturi and Thomas M. Cagley Jr., J. Ross Publishing, 2010
4. Effective Project Management: Traditional, Agile, Extreme, Robert K. Wysocki,
Wiley; 6th Edition, 2011
Software Quality Engineering
Credit Hours: 3 (3,0) Prerequisites: Software Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Outline software testing and software quality assurance C 1
principles.
2. Prepare test case and test suites for completely testing all C 3
aspects of a system under test (SUT)
3. Analyze which of the software testing techniques are C 4
relevant for a particular case and know software reliability
analysis tools and techniques.
4. Compile findings of a quality assurance cycle. C 5
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Software Quality, Software Quality Attributes, Quality Engineering., Testing: Concepts,
Issues, and Techniques, Software testing lifecycle., Testing Scopes., Testing Approaches.,
Testing Concepts., Test Planning Process, Introduction to testing process, Requirement of
software test planning, Testing documentation, Reporting and historical data recording.,
Software testing techniques, Testing philosophies , Testing strategies, Model based
testing, Software testing techniques, Testing using models, Domain and combinatorial
testing, Unit and integration testing, Acceptance testing, Test automation, Slicing,
Software reliability models and engineering, Introduction, Exponential model., Reliability
growth models, Modeling process, Software inspections, Software reviews, Inspection
checks and metrics, Quality Models, Models for quality assessment, Product quality
metrics, Quality Measurements, In-Process metrics for software testing, In-Process quality
management, Effort/outcome models, System testing, Introduction to sub-system testing,
From functional to system aspects of testing, System testing, Introduction to system
testing, Scenarios development, System testing, Use-cases for testing, Specification-based
testing, Open issues on software testing
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
3. Paul Jorgensen, Software Testing, A Craftsman's Approach, 4th Ed. CRC Press,
Taylor and Francis Group, 2015
4. Bernard Homes, Fundamentals of Software Testing, ISTE, Wiley, 2012
5. Software Engineering, “Ian Sommerville, 9th Edition, Addison Wesley, 2011
Software Re-Engineering
Credit Hours: 3 (3,0) Prerequisites: Software Construction and
Development
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Explain the concepts and technique of software re- C 1
engineering.
2. Apply reengineering techniques to maintain and modify C 3
software systems
3. Analyze and understand maintenance related problems C 4
associated with object oriented software systems.
4. Able to perform complex design reengineering and reverse C 5
engineering problems.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Salient topics include the terminology and the processes pertaining to software evolution,
fundamental re-engineering techniques to modernize legacy systems including source
code analysis, architecture recovery, and code restructuring, software refactoring
strategies, migration to Object Oriented platforms, quality issues in re-engineering
processes, migration to network-centric environments, and software integration, reverse
engineering, program comprehension, source code transformation and refactoring
strategies, software maintenance and re-engineering economics.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Re-engineering legacy software, David Lorge Parnas, Chris Birchall, Safari Books,
Shelter Island, NY, 2016
2. Reengineering, Priyadarshi Tripathy and Kshirasagar Naik, John Wiley & Sons,
Inc.2015
3. Software Maintenance and Evolution: a Roadmap, K.H.Bennett and V.T Rajlich, The
Future of Software Engineering, ACM Press 2000.
Software Requirements Engineering
Credit Hours: 3 (3,0) Prerequisites: Software Engineering
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Describe the requirements engineering process C 1
2. Effectively analyze software requirements for the C 4
development of cost-effective and efficient technical
solutions. C 3
3. Prepare both functional and non-functional requirements
along with validation for a medium-size software system. C 3
4. Document effective requirements in Software
Requirements Specification (SRS) using clear,
unambiguous requirements.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to Requirements Engineering, Software Requirements, classification of
requirements, Requirements process, Levels/layers of requirements, Requirement
characteristics, Analyzing quality requirements, Software requirements in the context of
systems engineering, Requirement evolution, requirement traceability, requirement
prioritization, trade-off analysis, risk analysis and impact analysis, Requirement
management, interaction between requirement and architecture, Requirement elicitation,
elicitation sources and techniques, Requirement specification and documentation,
specification sources and techniques, Requirements validation and techniques,
Management of Requirements, Introduction to Management, Requirements Management
Problems , Managing Requirements in an Acquisition Organization, Supplier
Organizations, Product Organizations, Requirements engineering for agile methods.
Teaching Methodology:
Lecturing, Written and Lab Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home and Lab Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Software Requirements, Wiegers K. &Beatty J., 3rd Ed. Microsoft Press, 2013
2. Requirements Engineering, Elizabeth Hull, Ken Jackson and Jeremy Dick. 3rd Ed,
Springer-Verlag London Limited, 2011.
3. Requirements Engineering and Management for Software Development Projects,
Chemuturi M., Springer New York, 2013.
Stochastic Processes
Credit Hours: 3 (3,0) Prerequisites: Probability and Statistics
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Define basic concepts from the theory of Markov chains C 1
and present proofs for the most important theorems.
2. Compute probabilities of transition between states and C 2
return to the initial state after long time intervals in Markov
chains.
3. Derive differential equations for time continuous Markov C 3
processes with a discrete state space.
4. Solve differential equations for distributions and C 4
expectations in time continuous processes and determine
corresponding limit distributions.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Discrete Markov chains, classification of states, first passage and recurrence times,
absorption problems, stationary and limiting distributions. Chapman-Kolmogorov
equations, Long run behavior of Markov chains, Absorption probabilities and expected
times to absorption, Statistical aspects of Markov chains, The mover-stayer model,
Application of a Markov chain and mover-stayer model to modeling repayment behavior
of bank loans’ grantees. Markov Processes in continuous time: Poisson processes, birth-
death processes. Poisson process The Kolmogorov differential equations, Limiting
behavior of continuous time Markov chains The Q matrix, forward and backward
differential equations, imbedded Markov Chain, stationary distribution. renewal theory,
Brownian Motion and its generalizations, Discrete time martingales, Conditional
expectation, Definition of a martingale and examples, Optional stopping theorem,
Stochastic calculus
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Introduction to Probability Models, 11th Ed, Sheldon M. Ross, Academic Press 2014.
2. Essentials of stochastic processes, Durrett, Richard. Springer Science & Business
Media, 2nd Ed, 2012.
3. Introduction to Stochastic Processes, 2nd Ed, G.F. Lawler, Chapman and Hall,
Probability Series, 2006
System and Network Administration
Credit Hours: 3 (3,0) Prerequisites: Operating System
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Introduction To System Administration. SA Components. Server Environment (Microsoft
and Linux). Reliable Products, Server Hardware Costing, Maintenance Contracts and
Spare Parts, Maintaining Data Integrity, Client Server OS Configuration, Providing
Remote Console Access. Comparative Analysis of OS: Important Attributes, Key
Features, Pros and Cons. Linux Installation and Verification, Configuring Local Services
and Managing Basic System Issues. Administer Users and Groups. Software
Management. Managing Network Services and Network Monitoring Tools. Boot
Management and Process Management. IP Tables and Filtering. Securing Network
Traffic. Advanced File Systems and Logs. Bash Shell Scripting. Configuring Servers
(FTP, NFS, Samba, DHCP, DNS and Apache).
Teaching Methodology:
Lecturing, Written Assignments, Presentation, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Report Writing, Presentation, Final Exam
Reference Materials:
1. The Practice of System and Network Administration, Second Edition by Thomas
Limoncelli, Christina Hogan and Strata Chalup, Addison-Wesley Professional; 2nd
Edition (2007). ISBN-10: 0321492668
2. Red Hat Enterprise Linux 6 Bible: Administering Enterprise Linux Systems by
William vonHagen, 2011
3. Studyguide for Practice of System and Network Administration by Thomas A.
Limoncelli, Cram101; 2nd Edition (2011). ISBN-10: 1428851755
4. Networking Systems Design and Development by Lee Chao, CRC Press; 1st Edition
(December 21, 2009). ISBN-10: 142009159X (TB2)
Systems Programming
Credit Hours: 3(3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
CLO-1: C
CLO-2:
CLO-3:.
CLO-4:
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction to the Microsoft Windows ® Operating System, File Processing, Memory
Management, Memory Mapped Files and DLLs, Process management, Threads and
scheduling, Thread synchronization, Inter-process Communication, Input/Output, Device
Drivers (USB or Parallel Port), File System Drivers, Filter Drivers
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Windows System Programming 3rd edition, Johnson M. Hart, Addison Wesley
2. The Windows NT Device driver book 2nd edition, Art Baker, Prentice Hall.
Technical & Business Writing
Credit Hours: 3 (3,0) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Overview of technical reporting, use of library and information gathering, administering
questionnaires, reviewing the gathered information; Technical exposition; topical
arrangement, exemplification, definition, classification and division, casual analysis,
effective exposition, technical narration, description and argumentation, persuasive
strategy, Organizing information and generation solution: brainstorming, organizing
material, construction of the formal outline, outlining conventions, electronic
communication, generation solutions. Polishing style: paragraphs, listening sentence
structure, clarity, length and order, pomposity, empty words, pompous vocabulary,
document design: document structure, preamble, summaries, abstracts, table of contents,
footnotes, glossaries, cross-referencing, plagiarism, citation and bibliography, glossaries,
index, appendices, typesetting systems, creating the professional report; elements,
mechanical elements and graphical elements. Reports: Proposals, progress reports,
Leaflets, brochures, handbooks, magazines articles, research papers, feasibility reports,
project reports, technical research reports, manuals and documentation, thesis. Electronic
documents, Linear verses hierarchical structure documents.
Teaching Methodology:
Lecturing, Written Assignments, Presentation, Report Writing, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Report Writing, Presentation, Final Exam
Reference Materials:
1. Technical Report Writing, by Pauley and Riordan, Houghton Mifflin Company, 8th
Edition.
2. Effective Technical Communication by Ashraf Rizvi, Tata McGraw-Hill.
Theory of Automata
Credit Hours: 3 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. Explain and manipulate the different concepts in automata
theory and formal languages such as formal proofs,
automata, regular expressions, Turing machines etc;
2. Prove properties of languages, grammars and automata with
rigorously formal mathematical methods
3. Design of automata, RE and CFG
4. Transform between equivalent NFAs, DFAs and REs
5. Define Turing machines performing simple tasks.
6. Differentiate and manipulate formal descriptions of
languages, automata and grammars with focus on regular
and context-free languages, finite automata and regular
expressions.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Finite State Models: Language definitions preliminaries, Regular expressions/Regular
languages, Finite automata (FAs), Transition graphs (TGs), NFAs, Kleene’s theorem,
Transducers (automata with output), Pumping lemma and non-regular language
Grammars and PDA: CFGs, Derivations, derivation trees and ambiguity, Simplifying
CFLs, Normal form grammars and parsing, Decidability, Context sensitive languages,
grammars and linear bounded automata (LBA), Chomsky’s hierarchy of grammars
Turing Machines Theory: Turing machines, Post machine, Variations on TM, TM
encoding, Universal Turing Machine, Defining Computers by TMs.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Introduction to computer theory, Daniel I. A. Cohen, 2nd Edition
2. Automata, Computability and Complexity: Theory and Applications, by Elaine
Rich, 2011
3. An Introduction to Formal Languages and Automata, by Peter Linz, 4th edition,
Jones & Bartlett Publishers, 2006
4. Theory of Automata, Formal Languages and Computation, by S. P. Eugene, Kavier,
2005, New Age Publishers
Theory of Programing Languages
Credit Hours: 3 Prerequisites: Programming Fundamentals
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT
Level*
1. The better understating the underlying theory of C 1
programming languages
2. Enable a student to choose the appropriate Language for a C 2
Project
3. Learning of formal semantics design for a programming C 2
Languages
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Introduction: Models of Computation, Syntax and Semantics, Pragmatics, Language
Design Principles. Syntax and Semantics: Context-Free Grammars, Regular Expressions,
Attribute Grammars and Static Semantics, Algebraic Semantics, Axiomatic Semantics,
Denotational Semantics. BNF grammars and Syntax, Operational Equivalence,
Abstraction and Generalization, Expressions, Assignment Statement, and Control
Structures, Functional Programming: The Lambda Calculus, Operational Semantics,
Reduction Order, Recursive Functions, Logic Programming, Inference Engine,
Concurrency.
Teaching Methodology:
Lectures, Written Assignments, Semester Project, Lab Assignments, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Concepts of Programming Languages, Robert W. Sebesta, 10th edition, 2012
2. Scott, Michael L., Programming Language Pragmatics, 2nd edition, 2006
3. Theory Introduction to Programming Languages, by Anthony A. Aaby, 2004
4. Principles of Programming Languages by Mike Grant Zachary Palmer Scott Smith,
John Hopkins University 2016.
Virtual Systems and Services
Credit Hours: 3 Prerequisites: Programming Fundamentals
Course Learning Outcomes (CLOs):
Domain BT
Level*
Course Content:
This course will investigate the current state of virtualization in computing systems.
Virtualization at both the hardware and software levels will be examined, with emphasis
on the hypervisor configurations of systems such as Vmware, Zen and Hyper-V. The
features and limitations of virtual environments will be considered, along with several
case studies used to demonstrate the configuration and management of such systems.
Para-virtualized software components will be analyzed and their pros and cons discussed.
Processor and peripheral support for virtualization will also be examined, with a focus
on emerging hardware features and the future of virtualization.
Teaching Methodology:
Lectures, Written Assignments, Semester Project, Lab Assignments, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
Handbook of Virtual Environments: Design, Implementation, and Applications (Human
Factors and Ergonomics), Edited by Kay M Stanney, Lawrence Erlbaum Associates
Virtual Reality Technology by GRIGORE
Visual Programming
Credit Hours: 3(3,0) Prerequisites: Object Oriented Programming
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Use the different elements of a visual programming C 1
language as building blocks to develop correct, coherent
programs. C 3
2. Program using the fundamental software development
process, including design, coding, documentation, testing, C 4
and debugging.
3. Analyze problems, develop conceptual designs that solve
those problems, and transform those designs to Visual
Programs.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Visual Programming Basics; Introduction to Events; Fundamentals of Event-driven
Programming, message handling, user interfaces, graphics device interface, painting and
drawing, windows management, input devices, resources, string and menu resource,
dialogs and windows controls, common controls, dynamic link libraries, threads and
synchronization, network programming, Building Class Libraries at the Command Line,
Class Libraries, Using References, Assemblies, Private Assembly Deployment, Shared
Assembly Deployment, Configuration Overview, Configuration Files, Programmatic
Access to Configuration, Using SDK Tools for Signing and Deployment, Metadata,
Reflection, Late Binding, Directories, Files, Serialization, Attributes, Memory
Management and Garbage Collection, Threading and Synchronization, Asynchronous
Delegates, Application Domains, Marshal by Value, Marshal by Reference,
Authentication and Authorization, Configuring Security, Code Access Security, Code
Groups, Evidence, Permissions, Role-Based Security, Principals and Identities, Using
Data Readers, Using Data Sets, Interacting with XML Data, Tracing Event Logs, Using
the Boolean Switch and Trace Switch Classes, Print Debugging Information with the
Debug Class, Instrumenting Release Builds with the Trace Class, Using Listeners, and
Implementing Custom Listeners.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Visual C#: How to Program, Deitel and Deitel, 6/e Edition, Prentice Hall / Pearson
Education, 2017.
2. Programming in C# .NET, J.C. Bradley, A.C. Millspaugh, McGraw-Hill, 2014
3. Microsoft Visual C# 2013 Step by Step (Step by Step Developer), Sharp, J., 1st
Edition (2013), Microsoft Press.
Web Engineering
Credit Hours: 3 (3,0) Prerequisites: Programming Fundamentals
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
CLO-1: Discuss how web standards impact software C 1
development. C 2
CLO-2: Describe the constraints that the web puts on C 4
developers. C 4
CLO-3: Design and Implement a simple web application.
CLO-4: Review an existing web application against a current
web standard.
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A=
Affective domain
Course Content:
Web programming languages (e.g., HTML5, CSS 3, Java Script, PHP/JSP/ASP.Net),
Design principles of Web based applications, Web platform constraints, Software as a
Service (SaaS), Web standards, Responsive Web Design, Web Applications,
Browser/Server Communication, Storage Tier, Cookies and Sessions, Input Validation,
Full stack state management, Web App Security - Browser Isolation, Network Attacks,
Session Attacks, Large scale applications, Performance of Web Applications, Data
Centers, Web Testing and Web Maintenance.
Teaching Methodology:
Lecturing, Written Assignments, Project, Report Writing
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. Web Engineering, Rajiv Chopra, Prentice-Hall of India, 2016
2. Web Engineering, Emilia Mendes and Nile Mosley, Springer Verlag, 2010.
3. Web Engineering: A Practitioners’ Approach, Roger S. Pressman, McGraw Hill, 2008.
4. Dynamic HTML: The Definitive Reference: A Comprehensive Resource for XHTML,
CSS, DOM, JavaScript 3rd Edition, O'Reilly Media 2007.
5. JavaScript: The Definitive Guide, 8th Edition, David Flanagan. O'Reilly Media. 2014.
Web Technologies
Credit Hours: 4 (3,1) Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
Course Content:
Introduction to Web Applications, TCP/IP Application Services. Web Servers: Basic
Operation, Virtual hosting, Chunked transfers, Caching support, Extensibility. SGML,
HTML5, CSS3. XML Languages and Applications: Core XML, XHTML, XHTM MP.
Web Service: SOAP, REST, WML, XSL. Web Services: Operations, Processing HTTP
Requests, Processing HTTP Responses, Cookie Coordination, Privacy and P3P, Complex
HTTP Interactions, Dynamic Content Delivery. Server Configuration. Server Security.
Web Browsers Architecture and Processes. Active Browser Pages: JavaScript, DHTML,
AJAX. JSON, Approaches to Web Application Development. Programing in any
Scripting language. Search Technologies. Search Engine Optimization. XML Query
Language, Semantic Web, Future Web Application Framework.
Teaching Methodology:
Lecturing, Written Assignments, Presentation, Final Exam
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Report Writing, Presentation, Final Exam
Reference Materials:
1. Web Application Architecture: Principles, protocols and practices by Leon Shklar
and Richard Rosen, Wiley; 2nd Edition (May 5, 2009). ISBN-10:047051860X
2. Web Technologies: A Computer Science Perspective by Jeffrey C. Jackson, Prentice
Hall; 1st Edition (August 27, 2006). ISBN-10:0131856030