Carriculum of Computing
Carriculum of Computing
REF: NCBA/BWP/CS/BOS/56
Dated: 01-02-2024
Curriculum Note
In last BOS minute held on 04/01/2024 the committee has decided to prepare the curriculum of
all computing discipline. The computing faculty had prepared the curriculum of following
departments:
1. ADP/BS in Computer Science
2. ADP/BS in Software Engineering
3. ADP/BS in Artificial Intelligence
4. ADP/BS in Data Science
5. ADP/BS in Cyber Security
6. ADPBS in Information Technology
7. BS (5 Semester) in Computer Science
8. MPhil in Computer Science
______________________
1.2.1 Vision
To Inculcate principles of Intellectual curiosity, innovation, and integrity, Computer
Science department offers students proper knowledge-based work environment for
advancement of their prospects as contributor to society. Aspiring the development of youth
in the field of Computer Science.
1.2.3Excellence in Research
Department of Computer Science also producing excellent research publications.
Adaptability and Lifelong Learning: Graduates should have the ability to adapt to new
technologies, programming languages, and tools as the field of computer science evolves. They
should be committed to lifelong learning, staying updated with the latest advancements in the
field, and continuously expanding their knowledge and skills.
2.1.5 How each objective is aligned with program, college and institution mission
statements.
MPhil program objectives are defined in the light of program and university mission statements
that require the output to be able to comprehend knowledge of the software development,
software related companies and IT environment. Students will develop a basic and strategic level
understanding of the key functions of programming. Students will be able to think critically and
make decisions, both individually and as part of teams and groups, using tools such as
written/oral communication, technology, problem and case analysis, integrated modules, and live
consulting opportunities. Students will be able to contribute to the existing knowledge for further
research and professional purposes.
2.1.6 Outline the main elements of the strategic plan to achieve the program mission and
objectives
Sr # Objective Outcomes
To provide a high-quality education in Graduates should possess a strong
computer science that equips students with foundation in computer science principles,
a strong foundation in core concepts, theories, and practical skills. They should
1 theories, and practical skills necessary for a demonstrate proficiency in programming
successful career in the field. languages, data structures, algorithms,
computer architecture, databases, software
engineering, networking, and other core
areas of computer science.
2 To foster an environment that promotes Graduates should be able to analyze
effective collaboration, teamwork, and complex problems, break them down into
communication skills, recognizing the manageable components, and apply
importance of working in interdisciplinary appropriate computational techniques to
teams and effectively conveying ideas and develop effective solutions. They should
technical concepts to diverse audiences. demonstrate proficiency in problem-
solving strategies and have the ability to
think critically and creatively in solving
computational challenges.
To cultivate analytical thinking, problem- Graduate should be capable of developing
solving abilities, and logical reasoning software systems using sound engineering
skills in students, enabling them to tackle principles and methodologies. They should
complex challenges and develop innovative understand the software development life
3 solutions using computer science cycle, requirements analysis, design,
principles. implementation, testing, and maintenance
of software solutions. They should be able
to develop reliable, scalable, and
maintainable software applications.
To instill a strong sense of ethics, integrity, Graduate should possess the skills to
and social responsibility in students, analyze and manipulate data effectively.
emphasizing the ethical considerations and They should be proficient in database
4 implications of computer science in both design, querying, and management, as well
professional and societal contexts as have an understanding of data mining,
data visualization, and data-driven
decision-making techniques.
To promote a culture of lifelong learning, Graduate should be able to work
encouraging students to stay updated with effectively in team environments and
the latest advancements in computer collaborate with others to accomplish
science, pursue continuous professional common goals. They should possess strong
5 development, and adapt to the evolving communication skills, including the ability
technology landscape throughout their to articulate technical concepts clearly and
careers concisely, present their work, and engage
in professional communication within the
field of computer science.
Sr # Objective Outcomes
To provide a high-quality education in Graduates should possess a strong
computer science that equips students with foundation in computer science principles,
a strong foundation in core concepts, theories, and practical skills. They should
1 theories, and practical skills necessary for a demonstrate proficiency in programming
successful career in the field. languages, data structures, algorithms,
computer architecture, databases, software
engineering, networking, and other core
areas of computer science.
To foster an environment that promotes Graduates should be able to analyze
effective collaboration, teamwork, and complex problems, break them down into
communication skills, recognizing the manageable components, and apply
importance of working in interdisciplinary appropriate computational techniques to
2 teams and effectively conveying ideas and develop effective solutions. They should
technical concepts to diverse audiences. demonstrate proficiency in problem-
solving strategies and have the ability to
think critically and creatively in solving
computational challenges.
To cultivate analytical thinking, problem- Graduate should be capable of developing
solving abilities, and logical reasoning software systems using sound engineering
skills in students, enabling them to tackle principles and methodologies. They should
complex challenges and develop innovative understand the software development life
3 solutions using computer science cycle, requirements analysis, design,
principles. implementation, testing, and maintenance
of software solutions. They should be able
to develop reliable, scalable, and
maintainable software applications.
To instill a strong sense of ethics, integrity, Graduate should possess the skills to
and social responsibility in students, analyze and manipulate data effectively.
emphasizing the ethical considerations and They should be proficient in database
4 implications of computer science in both design, querying, and management, as well
professional and societal contexts as have an understanding of data mining,
data visualization, and data-driven
decision-making techniques.
To promote a culture of lifelong learning, Graduate should be able to work
encouraging students to stay updated with effectively in team environments and
the latest advancements in computer collaborate with others to accomplish
science, pursue continuous professional common goals. They should possess strong
5 development, and adapt to the evolving communication skills, including the ability
technology landscape throughout their to articulate technical concepts clearly and
careers concisely, present their work, and engage
in professional communication within the
field of computer science.
3. University Policies
The program has a well-defined admission criterion, which include evaluation of student’s marks
at different levels and admission test results.
The admission is done twice a year, in Fall/Spring semesters.
Students who have completed the 12 years with 50% marks in the Masters 12 years education are
eligible to appear in the admission test of the program. Admission is granted strictly on the basis
of academic record and admission test.
Students from accredited universities are eligible to transfer their credits to NCBA&E
Bahawalpur Campus. Students have to submit complete course curriculum and internal
evaluation certificate of each subject from his/her previous institution duly signed by Dean/Head
of Department/Principal. Student’s applications in this regard are dealt on case-to-case basis.
Prescribed admission forms are available from the office of the student affairs. Online
application form may also be downloaded from the university website www.ncbae.edu.pk.
Applications are received after the appearance of advertisement in the national press.
Course Policies:
As most of the students are not familiar with online learning system you need to make and
convey your policy guidelines of the followings;
Learning hours
Activity Hours allocated
Online contact 35
Individual study 25
Directed reading 20
Assignments 30
Total hours 110
Assignments:
Questions/Assignments/Tasks for Assessment
Course Credit
Sr# Title of Course Domain
Code Hours
Semester-1
1 Islamic Studies 02
2 Arts and Humanities 02
3 Natural Sciences 03 (2+1)
4 Ideology and Constitution of Pakistan 02
5 Programming Fundamental 04(3+1)
6 Discrete Structure 3
Semester-2
1 Civics and Community Engagement 02
2 Applications of Information and Communication Technologies (ICT) 03 (2+1)
3 English 03
4 Social Sciences 02
5 Calculus & Analytical Geometry Allied 03
6 Object Oriented Programming 04 (3+1)
Semester-3
1 Quantitative Reasoning-1 03
2 Expository Writing 03
3 Database Systems 04 (3+1)
4 Data Structures & Algorithms 04 (3+1)
5 Speech Processing 3
Semester-4
1 Quantitative Reasoning-1 03
2 Expository Writing 02
3 Artificial Intelligence 04 (3+1)
4 Computing Vision 03(2+1)
5 Minor 1 03
6 Allied 2 3
Semester-5
1 Programming for Artificial Intelligence 03 (2+1)
2 Digital Logic Design 04 (3+1)
3 Computer Networks 04 (3+1)
4 Computer Organization & Assembly Language 04 (3+1)
5 Information Security 03(2+1)
Semester-6
1 Allied 3 03
2 Operating Systems 04 (3+1)
3 Artificial Neural Networks 04 (3+1)
4 Natural Language Processing 03 (2+1)
5 Analysis of Algorithms 03
Semester-7
1 Machine Learning 03 (2+1)
2 Minor 2 03
3 Allied 4 03
4 Minor 3 03
5 Knowledge representation and reasoning 03
6 Final Year Project-I 03 (0+3)
Semester-8
1 Software Engineering 03
2 Minor 4 03 (2+1)
3 Reinforcements Learning 03
4 Fuzzy System 03
5 Final Year Project-II 03 (0+3)
Course Credit
Sr# Title of Course Domain
Code Hours
Semester-1
1 Islamic Studies 02
2 Arts and Humanities 02
3 Natural Sciences 03 (2+1)
4 Ideology and Constitution of Pakistan 02
5 Programming Fundamental 04(3+1)
6 Calculus and Analytical Geometry 3
Semester-2
1 Civics and Community Engagement 02
2 Applications of Information and Communication Technologies (ICT) 03 (2+1)
3 English 03
4 Social Sciences 02
5 Object Oriented Programming 04(2+2)
6 Data Structure and Algorithm 04(3+1)
Semester-3
1 Quantitative Reasoning-1 03
2 Expository Writing 03
3 Database System 03 (2+1)
4 Human Computer Interaction 03
5 Digital Logical Design 03 (2+1)
6 Software Engineering 03
Semester-4
1 Quantitative Reasoning-1 03
2 Expository Writing 02
3 Database System 04(3+1)
4 Human Computer Interaction 04(3+1)
5 Digital Logical Design 04 (3+1)
6 Software Engineering 03
Semester-5
1 Allied 2 03
2 Artificial Intelligent 04(3+1)
3 Web Engineering 04(3+1)
4 Minor 1 03
5 Theory of Automata 03
Semester-6
1 Design and Analysis of Algorithm 03 (2+1)
2 Compiler Construction 03
3 Allied 3 03
4 Visual Programming 03 (2+1)
5 Mobile Application Development 03 (2+1)
Semester-7
1 Software Project Management 03
2 Minor 3 03
3 Computer Graphics 03 (2+1)
4 Allied 4 03
5 Data Mining 03
6 Project-I 03
Semester-8
1 Machine Learning 03
2 Minor 4 03
3 Cloud Computing 03
4 Information Security 03
5 Project-II 03
Course Credit
Sr# Title of Course Domain
Code Hours
Semester-1
1 Islamic Studies 02
2 Arts and Humanities 02
3 Natural Sciences 03 (2+1)
4 Ideology and Constitution of Pakistan 02
5 Programming Fundamental 04(3+1)
6 Discrete Structure 3
Semester-2
1 Civics and Community Engagement 02
2 Applications of Information and Communication Technologies (ICT) 03 (2+1)
3 English 03
4 Social Sciences 02
5 Object Oriented Programming 04(2+2)
6 Calculus & Analytical Geometry (Allied 1) 3
Semester-3
1 Quantitative Reasoning-1 03
2 Expository Writing 03
3 Database Systems 04 (3+1)
4 Data Structures & Algorithms 04 (3+1)
5 Compiler Construction 3
Semester-4
1 Quantitative Reasoning-1 03
2 Expository Writing 02
3 Information Security 03
4 Introduction to Cyber Security 03 (2+1)
5 Cyber Law & Cyber Crime (Cyber Warfare) 03
6 Allied 2 3
Semester-5
1 Artificial Intelligence Min 04 (3+1)
2 Digital Logic Design 04 (3+1)
3 Computer Networks 04 (3+1)
4 Computer Organization & Assembly Language 04 (3+1)
Semester-6
1 Allied 3 03
2 Operating Systems 04 (3+1)
3 Digital Forensics 03 (2+1)
4 Information Assurance 03
5 Analysis of Algorithms 03
6 Minor 2 3
Semester-7
1 Minor 3 03
2 Secure Software Design and Development 03
3 Vulnerability Assessment & Reverse Engineering 03
4 Network Security 03
5 Allied 4 03
6 Final Year Project-I 03
Semester-8
1 Wireless and Mobile Security 03
2 Minor 4 03
3 Malware Analysis 03
4 Cryptography 03
5 Final Year Project-II 03
Course Credit
Sr# Title of Course Domain
Code Hours
Semester-1
1 Islamic Studies 02
2 Arts and Humanities 02
3 Natural Sciences 03 (2+1)
4 Ideology and Constitution of Pakistan 02
5 Programming Fundamental 04(3+1)
6 Discrete Structure 3
Semester-2
1 Civics and Community Engagement 02
2 Applications of Information and Communication Technologies (ICT) 03 (2+1)
3 English 03
4 Social Sciences 02
5 Object Oriented Programming 04(2+2)
6 Calculus & Analytical Geometry (Allied 1) 3
Semester-3
1 Quantitative Reasoning-1 03
2 Expository Writing 03
3 Database Systems 04 (3+1)
4 Data Structures & Algorithms 04 (3+1)
5 Compiler Construction 3
Semester-4
1 Quantitative Reasoning-1 03
2 Expository Writing 02
3 Information Security 03
4 Introduction to Data Science 03
5 Data Mining 03 (2+1)
6 Allied 2 3
Semester-5
1 Artificial Intelligence 04 (3+1)
2 Digital Logic Design 04 (3+1)
3 Computer Networks 04 (3+1)
4 Computer Organization & Assembly Language 04 (3+1)
Semester-6
1 Minor 1 03
2 Operating Systems 04 (3+1)
3 Allied 3 03
4 Data Visualization 03
5 Analysis of Algorithms 03
6 Human Computer Interaction 3
Semester-7
1 Data Warehousing & Business Intelligence 03
2 Big Data Analytics 03
3 Minor 2 03
4 Allied 4 03
5 Minor 3 03
6 Final Year Project-I 03
Semester-8
1 Software Engineering 03
2 Minor 4 03
3 Topics in Data Science 03
4 Theory of Automata 03
5 Final Year Project-II 03
Course Credit
Sr# Title of Course Domain
Code Hours
Semester-1
1 Islamic Studies 02
2 Arts and Humanities 02
3 Natural Sciences 03 (2+1)
4 Ideology and Constitution of Pakistan 02
5 Programming Fundamental 04(3+1)
6 Calculus and Analytical Geometry Allied 3
Semester-2
1 Civics and Community Engagement 02
2 Applications of Information and Communication Technologies (ICT) 03 (2+1)
3 English 03
4 Social Sciences 02
5 Object Oriented Programming 04(2+2)
6 Data Structure and Algorithm 04(2+2)
Semester-3
1 Quantitative Reasoning-1 03
2 Expository Writing 03
3 Database System 03
4 Operating System 03
5 Digital Logical Design 03
6 Web Technologies 03
Semester-4
1 Quantitative Reasoning-1 03
2 Expository Writing 02
3 Computer Organization and Assembly 04(3+1)
4 Computer Network 04(3+1)
5 Human Computer Interaction 03
Semester-5
1 System Network Administration 04(3+1)
2 Virtual System and Services 04(3+1)
3 Allied 2 03
4 Database Administration and Management 04(3+1)
5 Theory of Automata 3
Semester-6
1 Design and Analysis of Algorithm 03
2 Minor 1 03
3 Minor 2 03
4 Information Technologies Infrastructure 03
5 Multimedia Systems 03
6 Data Mining 03
Semester-7
1 Software Project Management 03
2 Minor 3 03
3 Modeling and Simulation 03
4 Allied 3 03
5 Software Requirement Engineering 03
6 Project-I 03
Semester-8
1 Enterprise System 03
2 Allied 4 03
3 IT-Project Management 03
4 Minor 4 03
5 Project-II 03
Course Credit
Sr# Title of Course Domain
Code Hours
Semester-1
1 Islamic Studies 02
2 Arts and Humanities 02
3 Natural Sciences 03 (2+1)
4 Ideology and Constitution of Pakistan 02
5 Programming Fundamental 04(3+1)
6 Discrete Structures 3
Semester-2
1 Civics and Community Engagement 02
2 Applications of Information and Communication Technologies (ICT) 03 (2+1)
3 English 03
4 Social Sciences 02
5 Object Oriented Programming 04(2+2)
6 Calculus & Analytical Geometry Allied 3
Semester-3
1 Quantitative Reasoning-1 03
2 Expository Writing 03
3 Database Systems 04 (3+1)
4 Data Structures & Algorithms 04 (3+1)
5 Compiler Construction 3
Semester-4
1 Quantitative Reasoning-1 03
2 Expository Writing 02
3 Design and Analysis of Algorithm 03
4 Software Engineering 03
5 Computer Networks 04 (3+1)
6 Information Security 3
Semester-5
1 Software Requirements Engineering 03
2 Simulation and Modeling 03
3 Minor 1 03
4 Business Process Engineering 03
5 Formal Methods in Software Engineering 03
6 Human Resource Management 03
Semester-6
1 Software Design & Architecture 03 (2+1)
2 Operating Systems 04 (3+1)
3 Minor 2 03
4 Allied 2 03
5 Web Engineering 03
6 Human Computer Interaction 03
Semester-7
1 Software Construction & Development 03 (2+1)
2 Formal Methods in Software Engineering 03 (2+1)
3 Minor 3 03
4 Allied 3 03
5 Allied 4 03
6 Final Year Project-I 03 (0+3)
Semester-8
1 Minor 4 03
2 Business Process Engineering 03
3 Stochastic Processes 03
4 Final Year Project-II 03 (0+3)
Course Credit
Sr# Title of Course Domain
Code Hours
Zero Semester
1 Calculus-I 03
2 Object Oriented Programming 03
3 Programming Fundamental 03
4 Data Structure and Algorithm 03
5 Software Engineering 03
6 Operating System 03
Semester-5
1 Digital Logic Design 03
2 Database System 03
3 Multimedia Systems 04(3+1)
4 Programming & Problem Solving 04(3+1)
5 Computer Network & Communication 04(3+1)
Semester-6
1 Design and Analysis of Algorithm 03
2 Compiler Construction 03
3 Theory of Automata 03
4 Visual Programming 03
5 Allied 1 03
6 Distributed System 03
Semester-7
1 Software Project Management 03
2 Cryptography 03
3 Allied 2 03
4 Allied 3 03
5 Minor 1 03
6 Minor 2 03
Semester-8
1 Minor 3 03
2 Human Computer Interaction 03
3 Minor 4 03
4 Allied 4 03
5 Project 06
Course Credit
Sr# Title of Course Domain
Code Hours
Semester-1
1 Adv. Operating Systems Major 03
2 Adv. Research Methodology Major 03
3 Adv. Network Security Elective 03
Semester-2
1 Advanced Analysis of Algorithms Major 03
2 Research Workshop Major 01
3 Adv. Computer Architecture Major 03
Semester-3
1 Adv. Data Mining Elective 03
2 Cloud Computing Elective 03
3 Adv. Theory of Automata Major 03
Semester-4 (Course Work)
1 Theory of Programming Language Elective 03
2 Project 03
Semester-4 (Research Work)
1 Thesis 06
The future scope of computer science is vast and promising, as technology continues to advance
and permeate every aspect of our lives. Here are some key areas where the subjects play a crucial
role in the future:
Sr.# Subject Name Future Scope
1 Programing Fundamental Artificial Intelligence (AI) and Machine Learning
(ML):
Programming is at the core of AI and ML
development. As these fields evolve, there
will be an increasing demand for
programmers who understand the
fundamentals of algorithms, data structures,
and logic to create intelligent systems.
Internet of Things (IoT):
As the number of connected devices
continues to rise, the ability to program these
devices becomes crucial. Understanding
programming fundamentals allows developers
to create applications that communicate with
and control IoT devices.
Cybersecurity:
With the increasing frequency and complexity
of cyber threats, the need for skilled
programmers in cybersecurity is on the rise.
Programming fundamentals are essential for
creating secure software, detecting
vulnerabilities, and implementing effective
security measures.
Quantum Computing:
As quantum computing advances, there will
be a growing demand for programmers who
can work with quantum languages and
algorithms. Understanding the principles of
programming will be crucial for harnessing
the power of quantum computers.
2 Introduction to Computer and Emerging Technologies Awareness:
Technologies The subject introduces students to emerging
technologies such as artificial intelligence,
blockchain, augmented reality, and more.
This awareness is crucial for individuals to
adapt to technological advancements and
explore career opportunities in these fields.
Ethics in Technology:
The ethical implications of technology are
gaining attention. An introduction to
computer and technologies often includes
discussions on ethical considerations, privacy
concerns, and responsible use of technology.
Internet and Networking Basics:
Understanding the fundamentals of the
internet and computer networks is crucial in a
connected world. This knowledge is
applicable across various disciplines and
industries.
Problem-Solving Skills:
Introduction to Computer and Technologies
often emphasizes problem-solving skills,
logical thinking, and algorithmic reasoning.
These skills are valuable in various
professions, not just in computer science.
Cross-Disciplinary Applications:
The knowledge gained in an introductory
course can be applied in various fields.
Understanding how technology intersects
with disciplines such as healthcare, business,
education, and more opens up diverse career
paths.
3 Object Oriented Software Development Practices:
Programming OOP is a key methodology in modern
software development. The future will see a
continued emphasis on modular and reusable
code, making OOP skills crucial for
developers.
Industry Standard:
OOP is an industry standard in software
development. Companies across various
domains prefer developers with strong OOP
skills as it facilitates the creation of robust
and scalable applications.
Frameworks and Libraries:
Many popular programming languages, such
as Java, C++, Python, and C#, rely heavily on
OOP principles. Learning OOP is essential
for effectively using frameworks and libraries
built upon these languages.
Mobile App Development:
OOP is widely used in mobile app
development. Platforms like Android (using
Java or Kotlin) and iOS (using Swift or
Objective-C) heavily leverage OOP
principles. As mobile applications continue to
evolve, OOP skills will remain relevant.
Game Development:
OOP is widely employed in the gaming
industry. Game development frameworks and
engines often use OOP principles for building
interactive and complex game systems. As the
gaming industry grows, OOP skills will be in
demand.
4 Data Structure and Algorithm Core Competency in Computer Science:
Data structures and algorithms are
fundamental to computer science. A strong
understanding of these concepts is likely to
remain a core competency for computer
scientists and software engineers.
Competitive Programming and Coding
Interviews:
The demand for competitive programmers
and candidates who excel in coding
interviews is expected to grow. Companies,
especially in the technology sector, assess
candidates based on their problem-solving
skills, which often involve applying data
structures and algorithms.
Big Data and Data Science:
In the era of big data, understanding how to
organize and process large volumes of data is
essential. Data structures and algorithms play
a vital role in developing algorithms for data
analysis, data mining, and predictive
modeling.
Software Development Practices:
DSA skills are vital in creating high-
performance and scalable software.
Understanding how to choose the right data
structures and algorithms for specific tasks
contributes to the development of robust and
efficient applications
5 Data Base System Big Data Management:
With the exponential growth of data, the
management of large and diverse datasets
becomes more challenging. Database systems
play a crucial role in handling big data,
providing efficient storage, retrieval, and
analysis capabilities
Data Warehousing and Business Intelligence:
Database systems are central to data
warehousing and business intelligence
solutions. As organizations strive to derive
insights from their data, the demand for
professionals skilled in designing and
managing robust database systems for BI
applications is expected to grow.
Cloud Database Services:
The adoption of cloud computing continues to
rise, leading to an increased demand for
cloud-based database services. Understanding
how to design, deploy, and manage databases
in cloud environments is becoming essential
for database professionals.
NoSQL and New Database Models:
The landscape of database systems is
evolving with the emergence of NoSQL
databases and other alternative database
models. Professionals with knowledge of
various database types (relational, NoSQL,
graph databases, etc.) will be well-positioned
to address diverse data management needs.
6 Operating System Edge Computing:
As edge computing gains prominence,
operating systems will play a crucial role in
managing and optimizing resources at the
edge. Operating systems that can efficiently
handle decentralized processing and storage
will be in demand.
Real-time Systems:
Operating systems that can support real-time
processing are essential in applications such
as autonomous vehicles, industrial
automation, and robotics. Future OS
developments may focus on improving real-
time capabilities and responsiveness.
Security and Privacy:
Operating systems will need to place a greater
emphasis on security and privacy features.
With the rising number of cyber threats,
future OS developments may include
enhanced security measures, encryption, and
privacy controls.
Containerization and Virtualization:
Containerization and virtualization
technologies, such as Docker and Kubernetes,
rely on underlying operating systems. Future
OS developments may optimize support for
these technologies, providing better
performance, isolation, and resource
management.
Energy-Efficient Computing:
Operating systems will play a role in
optimizing energy consumption, particularly
in battery-powered devices and data centers.
Future OS developments may include features
for power management and energy-efficient
scheduling.
7 Digital & Logic Design Digital Systems and Computer Architecture:
Understanding digital and logic design is
fundamental to computer architecture. As the
demand for more powerful and efficient
computing systems grows, professionals with
expertise in designing and optimizing digital
systems will be in demand.
Embedded Systems:
Embedded systems, found in a wide range of
devices from smartphones to IoT devices,
require efficient digital design for their
microcontrollers and processors. As the
Internet of Things (IoT) expands, expertise in
digital and logic design will be crucial.
FPGA and ASIC Design:
Field-Programmable Gate Arrays (FPGAs)
and Application-Specific Integrated Circuits
(ASICs) are widely used in various industries
for custom hardware implementations.
Knowledge of digital and logic design is
essential for engineers working on FPGA and
ASIC designs.
Digital Signal Processing (DSP):
In applications such as audio processing,
image processing, and telecommunications,
digital signal processing relies heavily on
digital and logic design principles. As
technology advances, DSP will continue to be
a critical aspect of various systems.
Robotics and Automation:
Robotics and automation systems require
sophisticated control circuits and processors,
often designed using digital and logic design
principles. As industries increasingly adopt
automation, professionals with expertise in
these areas will be in demand.
VLSI (Very Large Scale Integration) Design:
VLSI design involves packing millions of
transistors on a single chip. Digital and logic
design principles are fundamental to VLSI
design, and as semiconductor technology
advances, there will be a need for engineers
with expertise in designing complex
integrated circuits.
8 Software Engineering Agile and DevOps Practices:
Agile methodologies and DevOps practices
are becoming integral to software
development. Future software engineers will
need to be adept at working in agile
environments, collaborating cross-
functionally, and integrating DevOps
practices for continuous delivery and
deployment.
Microservices Architecture:
Microservices architecture is gaining
popularity for building modular and scalable
applications. Future software engineers will
need to understand how to design, implement,
and manage microservices-based systems for
flexibility and maintainability.
Containerization and Orchestration:
Containerization technologies like Docker
and orchestration tools like Kubernetes are
crucial for deploying and managing
applications. Future software engineers will
work with containerized environments,
ensuring seamless deployment and scaling of
applications.
Ethical and Responsible Software Development:
With an increasing focus on ethical
considerations in technology, future software
engineers will need to address ethical
challenges related to bias in algorithms,
privacy concerns, and the responsible use of
emerging technologies.
9 Computer Organization & Processor Architecture and Design:
Assembly Language Understanding computer organization is
crucial for designing and optimizing
processor architectures. Future developments
in processor technologies will require
engineers with expertise in computer
organization to enhance performance, energy
efficiency, and scalability.
Hardware-Software Co-Design:
Computer organization principles are
essential for hardware-software co-design,
where hardware and software components are
optimized together for performance and
efficiency. Future developments will involve
close collaboration between hardware and
software engineers to achieve better system
performance.
FPGA (Field-Programmable Gate Array)
Programming:
Computer organization concepts are applied
in programming FPGAs for various
applications. Future developments in FPGAs
will involve utilizing these devices for custom
hardware acceleration and specialized
processing tasks.
Advanced Memory Architectures:
With the increasing demand for faster and
more efficient memory systems, knowledge
of computer organization is crucial. Future
developments will involve innovations in
memory architectures to meet the growing
requirements of computing systems.
Custom Hardware Accelerators:
Computer organization knowledge is essential
for designing custom hardware accelerators,
which are increasingly used to enhance the
performance of specific tasks. Future
developments will involve creating
specialized hardware for accelerating
artificial intelligence, machine learning, and
other compute-intensive workloads.
10 Human Computer Interaction Natural Language Processing (NLP) and
Conversational Interfaces:
Advancements in NLP and conversational
interfaces will enhance the way humans
interact with computers. Voice-based
assistants and chatbots are becoming
increasingly sophisticated, and future HCI
may involve more seamless and context-
aware conversations, making technology
more accessible to a broader range of users.
Gesture and Emotion Recognition:
HCI is expected to incorporate more
advanced gesture recognition technologies
that can interpret human movements and
expressions accurately. This could lead to
more natural and expressive interactions with
devices, particularly in scenarios where touch
or voice may not be suitable.
Brain-Computer Interfaces (BCI):
The development of BCI holds the potential
for direct communication between the human
brain and computers. Future HCI may involve
thought-controlled interfaces, opening up new
possibilities for individuals with mobility
impairments and enabling more efficient and
personalized interactions.
Wearable Technology and IoT Integration:
Wearable devices and the Internet of Things
(IoT) are likely to play a significant role in
HCI. The integration of sensors into clothing,
accessories, and everyday objects can
enhance user experiences by providing
context-aware information, personalized
feedback, and health monitoring.
11 Computer Network 5G and Beyond:
The rollout and widespread adoption of 5G
networks will significantly impact the future
of communication. Beyond 5G, research and
development are already underway for the
next generation of wireless communication
technologies. These advancements will bring
higher data speeds, reduced latency, and
improved connectivity, enabling a wide range
of applications, including IoT, augmented
reality, and autonomous systems.
Edge Computing:
Edge computing involves processing data
closer to the source of generation, reducing
latency and enhancing real-time applications.
Future computer networks will evolve to
support edge computing architectures,
enabling efficient and low-latency processing
for applications such as IoT devices,
autonomous vehicles, and smart cities.
Software-Defined Networking (SDN):
SDN is an architectural approach that
separates the control plane from the data
plane, providing more flexibility and
programmability in network management.
The future scope of computer networks
includes further advancements in SDN,
leading to more intelligent, adaptive, and
programmable networks that can dynamically
respond to changing demands.
Quantum Networking:
Quantum networking involves leveraging the
principles of quantum mechanics for secure
communication. While still in the early stages
of development, the future may see
advancements in quantum key distribution
and quantum communication protocols,
providing a new level of security for
networked systems.
Blockchain for Networking:
Blockchain technology is gaining attention
for its potential application in networking,
particularly for securing transactions,
enhancing trust, and ensuring transparency. In
the future, blockchain may be integrated into
network architectures to provide
decentralized and secure communication.
12 Artificial Intelligence Advanced Machine Learning Models:
Ongoing research in machine learning is
expected to result in more advanced models
that can handle complex tasks with greater
accuracy. Deep learning architectures,
reinforcement learning algorithms, and other
sophisticated approaches will enable AI
systems to understand and interpret data in
more nuanced ways.
Explainable AI (XAI):
As AI systems become more complex and
influential, there is a growing emphasis on
creating models that are explainable and
interpretable. The future of AI involves
developing methods to make AI decisions
more transparent and understandable,
addressing concerns related to bias,
accountability, and trust.
AI for Healthcare:
AI is poised to play a significant role in
healthcare, with applications in diagnostics,
personalized medicine, drug discovery, and
patient care. Predictive analytics and AI-
driven insights will contribute to more
accurate disease diagnosis, treatment
planning, and healthcare management.
Autonomous Systems:
Autonomous vehicles, drones, and robots are
areas where AI is expected to have a
substantial impact. Advancements in AI
algorithms, sensor technologies, and robotics
will lead to more sophisticated autonomous
systems capable of navigating complex
environments and performing diverse tasks.
Natural Language Processing (NLP):
NLP is evolving rapidly, and future AI
systems are expected to have improved
language understanding and generation
capabilities. Conversational AI, chatbots, and
language translation applications will become
more sophisticated, enabling more natural and
context-aware interactions.
AI in Finance and Business:
AI will continue to transform the financial
and business sectors, with applications in
fraud detection, risk management, customer
service, and decision-making. Predictive
analytics and AI-driven insights will
contribute to more efficient and data-driven
financial strategies.
AI Ethics and Bias Mitigation:
Ethical considerations in AI development will
be a critical focus in the future. Efforts to
mitigate biases, ensure fairness, and establish
ethical guidelines for AI systems will become
increasingly important. This includes
addressing issues related to bias in training
data and algorithmic decision-making.
Edge AI:
Edge AI involves processing AI algorithms
on edge devices, reducing the need for
constant data transfer to centralized servers.
This approach enhances real-time processing,
lowers latency, and contributes to more
efficient AI applications in IoT devices, smart
cities, and decentralized systems.
13 Cyber Security Zero Trust Architecture:
The future of cybersecurity involves a shift
towards Zero Trust Architecture, where trust
is never assumed, and verification is required
from everyone trying to access resources in
the network. This approach enhances security
by adopting a more granular and continuous
authentication process.
AI and Machine Learning in Threat Detection:
AI and machine learning will play a crucial
role in improving threat detection and
response capabilities. Advanced algorithms
can analyze vast amounts of data to identify
patterns, anomalies, and potential security
threats in real time, enabling faster and more
effective cybersecurity measures.
Quantum-Safe Cryptography:
With the advent of quantum computing, there
is a need for quantum-safe cryptography to
protect against potential threats to current
cryptographic systems. The future of
cybersecurity involves developing and
implementing cryptographic algorithms that
remain secure in the era of quantum
computing.
Cloud Security and CASB (Cloud Access Security
Broker):
As organizations increasingly migrate to
cloud environments, the future of
cybersecurity will focus on ensuring the
security of cloud-based data and applications.
CASBs will play a crucial role in providing
visibility, access control, and data protection
in cloud environments.
Human-Centric Security:
Recognizing the role of human factors in
cybersecurity, future strategies will prioritize
user education, awareness, and training.
Human-centric security aims to reduce the
risk of social engineering attacks, phishing,
and other tactics that exploit human behavior.
Biometric Authentication and Multi-Factor
Authentication (MFA):
The future of cybersecurity involves an
emphasis on stronger authentication
mechanisms. Biometric authentication, such
as fingerprint and facial recognition, and the
widespread adoption of multi-factor
authentication will enhance access control
and protect against unauthorized access.
Supply Chain Security:
Cybersecurity efforts will extend beyond
individual organizations to secure the entire
supply chain. This involves ensuring the
security of software, hardware, and services
provided by third-party vendors to prevent
compromises that could impact the overall
security posture.
Regulatory Compliance and Privacy:
As cybersecurity threats continue to evolve,
regulations and compliance requirements will
also evolve. Future efforts will focus on
adapting to regulatory changes, ensuring
compliance with privacy laws, and protecting
sensitive data to maintain trust and legal
adherence.
Incident Response and Cyber Resilience:
Cyber resilience will be a key focus in the
future, emphasizing the ability to prepare for,
respond to, and recover from cyber threats.
Organizations will invest in incident response
plans, cyber insurance, and continuous
improvement of cybersecurity measures to
enhance overall resilience.
14 Theory of Automata Bio-Inspired Computing:
As researchers explore computing paradigms
inspired by biological systems, such as DNA
computing and cellular automata, the Theory
of Automata will play a role in developing
formal models for these unconventional
computational approaches. This includes
understanding the computational power of
bio-inspired systems and their relationship
with classical models.
Automata for Data Science and Machine
Learning: The application of automata
theory in data science and machine learning is
an emerging area. Finite automata and formal
languages can be used to model and analyze
sequences, patterns, and structures in data.
This can lead to the development of novel
approaches for data analysis, pattern
recognition, and automated decision-making.
Automata in Cybersecurity:
Automata theory has practical applications in
the field of cybersecurity. Modeling security
protocols, intrusion detection systems, and
threat analysis using formal languages and
automata provides a systematic way to reason
about security properties. Future
developments may include more sophisticated
automata models for dynamic and evolving
cyber threats.
Blockchain and Smart Contracts:
With the rise of blockchain technology, the
Theory of Automata can be applied to model
and analyze smart contracts. Automata-based
formal verification techniques can be
employed to ensure the correctness and
security of smart contract implementations,
contributing to the reliability of decentralized
applications (DApps).
Automata in Artificial Intelligence:
Automata theory has connections with the
study of formal languages and grammars,
which are relevant to natural language
processing and understanding. Future
applications may involve the use of automata-
based approaches in developing algorithms
for language understanding, sentiment
analysis, and conversational agents.
Complex Systems and Emergent Behavior:
The Theory of Automata can contribute to
understanding complex systems and emergent
behavior in various domains, including social
networks, biological systems, and ecological
models. Automata models may be adapted to
capture and simulate the dynamics of systems
with decentralized, interacting components.
Robotic Process Automation (RPA):
In the realm of automation and robotics,
formal models based on automata theory can
be employed to describe and analyze the
behavior of robotic systems. This includes
developing formal languages to specify tasks
and behaviors for robots, contributing to the
field of Robotic Process Automation (RPA).
Automata and IoT (Internet of Things):
As the number of connected devices in IoT
grows, automata theory can be used to model
and analyze the behavior of interacting
devices. This includes formal languages to
specify communication protocols, ensuring
the reliability and security of IoT systems.
Course Code:
Title: Advance Algorithm Analysis
Credit Rating: 3
Level: MS/M.Phil.
Delivery: Face To Face
Pre-requisites:
Pre-Reading
Material:
This is a post-graduate level course. This course is designed to
provide students with an understanding of the principles and
techniques used in the design and analysis of algorithms. The course
is primarily theoretical and does not require programming, but it does
require understanding of the notion of a mathematical proof and
some knowledge of elementary discrete mathematics. We will
Core Text:
discuss and analyze a variety of data structures and algorithms
chosen for their importance and their illustration of fundamental
concepts. We will emphasize analyzing the worst-case running time
of an algorithm as a function of input size. We will also spend some
time exploring the boundary between feasible computations, taken to
be those doable in polynomial time, and infeasible computations
To understand and implement Divide and Conquer strategy
To understand the concepts of Dynamic programming
Objectives To understand the concepts of Greedy Algorithm
To understand and explain basics of Complexity theory
At the end of this course, you should be able to:
Analyze the worst-case running time of an algorithm as a function of input size
Solve Recurrence relations
Understand and implement Divide and Conquer strategy
Understand the concepts of Dynamic programming
Understand the concepts of Greedy Algorithm
Understand and explain basics of Complexity theory
Session Topics
NO
1 Introduction
2 The Role of Algorithms in Computing
3 Insertion sort
4 Analyzing algorithms & Designing algorithms
5 Growth of Functions
Asymptotic notation
Standard notations and common functions
6 Growth of Functions
Asymptotic notation
Standard notations and common functions (Continued)
7 Divide-and-Conquer
8 Revision
9 MID TERM
10 Heapsort
11 Quicksort
12 Sorting in Linear Time
13 Binary Search Trees
14 Dynamic Programming
15 Dynamic Programming
16 Presentations and Submission of Final Assignment
17 Revision
18 Final Term
Reference Materials:
Introduction to Algorithms Third Edition By
Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein
Course Code:
Title: Advance Computer Architecture
Credit Rating: 3
Level: MS/M.Phil.
Delivery: Face To Face
Pre-requisites:
Pre-Reading
Material:
This is a post-graduate level course. This course will provide the
students with an understanding of the various levels of studying
computer architecture, with emphasis on instruction set level and
Core Text: register transfer level. This course prepares the students to use basic
combinational and sequential building blocks to design larger
structures like Arithmetic Logic Units, memory subsystems, I/O
subsystems etc.
Understand Instruction Set Architecture design and
Central Processing Units of the RISC (Reduced
Instruction Set Computers) and the CISC (Complex
Objectives: Instruction Set Computers) type
Describe the behavior and structure of a computer
using RTL (Register transfer language)
Explain Pipelining and instruction level Parallels
Session Topics
NO
1 Introduction
2 Introduction
Organization and Architecture
3 Introduction
Structure and Function
4 Computer Evolution and Performance
A Brief History of Computers
Designing for Performance
Multicore, MICs, and GPGPUs
5 Computer Evolution and Performance
The Evolution of the Intel x86 Architecture
Embedded Systems and the ARM
Performance Assessment
6 A Top-Level View of Computer Function and Interconnection
Computer Components
Computer Function
Interconnection Structures
7 A Top-Level View of Computer Function and Interconnection
Bus Interconnection
Point-To-Point Interconnect
PCI Express
8 Revision
9 MID TERM
10 Internal Memory
Semiconductor Main Memory
Error Correction
Advanced DRAM Organization
11 External Memory
Magnetic Disk
RAID
Solid State Drives
Optical Memory
Magnetic Tape
12 Number Systems
The Decimal System
Positional Number Systems
The Binary System
13 Number Systems
Converting Between Binary and Decimal
Hexadecimal Notation
14 Digital Logic
Boolean Algebra
Gates
15 Digital Logic
Combinational Circuits
Sequential Circuit
Programmable Logic Devices
16 Presentations and Submission of Final Assignment
17 Revision
18 Final Term
Reference Materials:
Computer Organization and Architecture, Designing For Performance, Ninth Edition
by William Stallings
Course Code:
Title: Artificial Intelligence
Credit Rating: 3
Level: BS
Delivery: Face To Face
Pre-requisites: Data Structures and Algorithms
Pre-Reading
Slides
Material:
Core Text: None
Overview of main AI topics
Wide spectrum of subjects (rather than just a few in detail)
Methodology and tools for problem solving
Objectives: Outlook at AI research
Propaedeutic to applications and advanced courses in problem
solving, decision systems, planning, robotics, data mining,
collective intelligence, etc
Curriculum Contents:
Introduction: What is Data Science? Big Data and Data Science hype, Datafication, Current
landscape of perspectives, Skill sets needed; Statistical Inference: Populations and samples,
Statistical modeling, probability distributions, fitting a model, Intro to Python; Exploratory
Data Analysis and the Data Science Process; Basic Machine Learning Algorithms: Linear
Regression, k-Nearest Neighbors (k-NN), k-means, Naive Bayes; Feature Generation and
Feature Selection; Dimensionality Reduction: Singular Value Decomposition, Principal
Component Analysis; Mining Social-Network Graphs: Social networks as graphs, Clustering
of graphs, Direct discovery of communities in graphs, Partitioning of graphs, Neighborhood
properties in graphs; Data Visualization: Basic principles, ideas and tools for data
visualization; Data Science and Ethical Issues: Discussions on privacy, security, ethics, Next-
generation data scientists.
Session Topics
NO
1 Introduction
What is data Science
Big Data
Data Science Hype
2 Datafication
Current landscape of perspectives
Skill sets needed
3 Statistical Inference
Populations
samples
Assignment-1
4 Statistical modeling
probability distributions
fitting a model
Intro to Python
5 Exploratory Data Analysis
The Data Science Process
Assignment-2
6 Basic Machine Learning Algorithms
Linear Regression
k-Nearest Neighbors (k-NN)
Quiz-1
7 Basic Machine Learning Algorithms
k-means
Naive Bayes
Presentation-1
8 Revision
9 MID TERM
10 Feature Generation and Feature Selection
11 Dimensionality Reduction
Singular Value Decomposition
Principal Component Analysis
Assignment-3
12 Mining Social-Network Graphs
Social networks as graphs
Clustering of graphs
Direct discovery of communities in graphs
Partitioning of graphs
Neighborhood properties in graphs
13 Data Visualization
Basic principles
Ideas and tools for data visualization
14 CFGs and PDA
Nondeterministic PDA
PDA corresponding to CFG
CFG corresponding to PDA
15 Data Science and Ethical Issues
Discussions on privacy
security
ethics
Next-generation data scientists
Quiz-2
16 Presentation-2
17 Revision
18 Final Term
Reference Materials:
Foundations of data science, Blum, A., Hopcroft, J., & Kannan, R., Vorabversion
eines Lehrbuchs, 2016.
An Introduction to Data Science, Jeffrey S. Saltz, Jeffrey M. Stanton, SAGE
Publications, 2017.
Python for everybody: Exploring data using Python 3, Severance, C.R., CreateSpace
Independent Pub Platform. 2016.
Doing Data Science, Straight Talk from the Frontline, Cathy O'Neil and Rachel
Schutt, O'Reilly. 2014.
Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and
Presenting Data, EMC Education Services, John Wiley & Sons, 2015.
Course Code:
Title: Calculus II
Credit Rating: 03
Level: BS
Delivery: Face To Face
Tutor/s: Ms. Ayesha Afzal
Pre-requisites: None
Pre-Reading
Slides, Board
Material:
Core Text: None
To provide foundation on functions of two and three variables
and using calculus to analyze the geometry of curves and
surfaces.
To primarily concerned with developing the student’s
Objectives: understanding of the concepts of calculus and providing
experience with its methods and applications.
To emphasizes a multi representational approach to calculus,
with concepts, results and problems being expressed
geometrically, numerically, analytically and verbally.
Curriculum Contents:
Function of several variables, Domain and ranges, Limits for function of two variables,
Continuity for two variables, Partial derivatives, The chain rule for function of two variables,
Double and triple integrals, Double integral over general regions, Triple integral over general
regions, Limit by substitution, Extreme values of function, Absolute extreme values, Local
extreme values, Increasing and decreasing functions, First derivative test for local extrema,
Point of inflection, Second derivative test for local extrema, Directional Derivatives in the
plane, Properties of Directional Derivatives, Gradients, The Tangent Plane and Normal lines
Session Topics
NO
1 Function of several variables
Domain and ranges
2 Limits for function of two variables
Continuity for two variables
3 Partial derivatives
The chain rule for function of two variables
Assignment-1
4 Double and triple integrals
5 Double integral over general regions
Assignment-2
6 Triple integral over general regions
Quiz-1
7 Limit by substitution
Presentation-1
8 Revision
9 MID TERM
Curriculum Contents:
Functions, Piecewise-Defined Functions, Increasing and decreasing functions, Even and Odd
functions, Common Functions, Composite Functions, Limit of a Function and Limit Laws,
Limit of polynomials and Limit of trigonometric functions, Limit by substitution, Continuity,
Derivative as Slope of Tangent to a Curve and as Rate of Change, Applications, Derivative by
definition, Derivative by techniques, Applications of derivatives, Derivative of trigonometric
functions, Derivative by chain rule and applications
Session Topics
NO
1 Functions
2 Piecewise-Defined Functions, Increasing and decreasing functions, Even and
Odd functions
3 Common Functions
Assignment-1
4 Composite Functions
5 Limit of a Function and Limit Laws
Assignment-2
6 Limit of polynomials and Limit of trigonometric functions
Quiz-1
7 Limit by substitution
Presentation-1
8 Revision
9 MID TERM
10 Continuity
11 Derivative as Slope of Tangent to a Curve and as Rate of Change, Applications
Assignment-3
12 Derivative by definition, Derivative by techniques
13 Applications of derivatives
14 Derivative of trigonometric functions
Quiz-2
15 Derivative by chain rule and applications
16 Presentation-2
17 Revision
18 Final Term
Reference Materials:
Calculus and Analytical Geometry, Swokowski Olinick. Pence. 1994. 6th edition.
Calculus, 7 th edition.2002. John Wiley and Sons.
Calculus, William, E. Boyce .Richard, C. Diprima. John Wiley & Sons.
Calculus and Analytical Geometry 10th edition. Thomas, F. John Wiley and Sons
Course Code:
Title: Cloud Computing
Credit Rating: 03
Level: MCS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Basic knowledge of computer science and networking concepts.
Material:
Core Text: None
To Understand the fundamental concepts, principles, and
historical evolution of cloud computing.
To Differentiate between Infrastructure as a Service (IaaS),
Platform as a Service (PaaS), and Software as a Service
Objectives: (SaaS), and evaluate use cases for each.
To apply cloud computing knowledge to solve real-world IT
problems and make informed decisions about cloud adoption
and management.
Curriculum Contents:
Datacenter Architectures, Cloud Stack , Technology Trends, Consistency, Availability,
Partitions, Cluster File Systems, Data-flow Computation Frameworks, Key-Value Store and
Interactive Query Systems, Big Data in the Clouds, Geographic distributed Storage,
Programming Languages for the Cloud, Dbases in the Cloud, In-Memory Frameworks,
Google file system, Hadoop file system, Map Reduce, OSes and Clouds Networking:
topologies, Networking: Traffic Management, Networking: Transport Protocol
Improvements, Security, Scheduling and Resource Management in clouds, Software Level
Agreements.
Session Topics
NO
1 Introduction to Cloud Computing
Definition and Concepts
Historical Evolution
Advantages and Disadvantages
Service Models (IaaS, PaaS, SaaS)
Deployment Models (Public, Private, Hybrid, Community)
2 Cloud Infrastructure
Virtualization and Hypervisors
Data Centers and Server Farms
Cloud Resource Allocation and Management
Scalability and Elasticity
Cloud Service Providers (e.g., AWS, Azure, Google Cloud)
3 Cloud Storage and Databases
Cloud Storage Services (e.g., Amazon S3)
Cloud Databases (e.g., AWS RDS, Azure SQL Database)
Data Backup and Recovery in the Cloud
Data Security and Compliance in Cloud Storage
Assignment-1
4 Virtual Machines in the Cloud
Virtual Machines (VMs) in Cloud
Creating and Managing VMs
Orchestration and Scaling
5 Virtual Machines in the Cloud
Orchestration and Scaling
Containerization (Docker, Kubernetes)
Server less Computing (AWS Lambda)
Assignment-2
6 Cloud Networking
Networking Fundamentals in Cloud
Virtual Private Cloud (VPC)
Load Balancing and Content Delivery
Quiz-1
7 Cloud Networking
Load Balancing and Content Delivery
Network Security in Cloud (Firewalls, Security Groups)
Hybrid Cloud Networking
8 Revision
9 MID TERM
10 Cloud Security
Cloud Security Challenges
Identity and Access Management (IAM)
Encryption and Key Management
Compliance and Auditing
Best Practices for Securing Cloud Resources
11 Cloud Application Development
Developing Applications for the Cloud
Serverless Computing and FaaS
Microservices Architecture
DevOps and CI/CD Pipelines in Cloud
Cloud-native Development Tools
12 Cloud Cost Management
Cloud Cost Models
Cost Estimation and Monitoring
Cost Optimization Strategies
Billing and Pricing Models
Budgeting and Governance
13 Cloud Migration and Management
Strategies for Cloud Migration
Managing Cloud Resources
Cloud Resource Monitoring and Optimization
Disaster Recovery in the Cloud
14 Emerging Trends and Future of Cloud Computing
Edge Computing
Quantum Computing and Cloud
15 Emerging Trends and Future of Cloud Computing
Artificial Intelligence and Machine Learning in Cloud
IoT and Cloud Integration
Quiz-2
16 Presentation
17 Revision
18 Final Term
Reference Materials:
Handbook of Cloud Computing, BorkoFurht. Springer (2010) or Latest Edition
Cloud Computing: SaaS, PaaS, IaaS, Virtualization, Business Models, Mobile,
Security, and More, Kris Jamsa Jones & Bartlett Publishers,(2012) or Latest Edition
Cloud Computing and SOA: Convergence in your enterprise, David Linthicum (2009),
Addison Wesley (Latest Edition).
Distributed File Systems: Hadoop, Lustre, Google File System, Andrew File System,
Off system, Distributed File System”, Ceph. General books LLC. (2010) or Latest
Edition.
Map Reduce Design Patterns, Donald Miner and Adam Shook. O’ Reillyand Sons,
(2012) or Latest Edition
"Cloud Computing: Concepts, Technology & Architecture" by Thomas Erl, Ricardo
Puttini, and Zaigham Mahmood
Course Code:
Title: Communication & Presentation Skill
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
To acquire knowledge & awareness of effective
communication
To communicate effectively (Verbally & Non-Verbally)
Objectives:
To learn skills & techniques for effective presentation
technically
To learn communication techniques and style
Session Topics
NO
1 Introduction to Communication Skills
2 Types of communication skills
Communication Process
Barriers in Communication
3 7c's of Effective Communication
4 Four Ways of Communication
5 Importance of Body Language in Communication Skill
6 Written communication
Types of Written Communications
(Creative Writing Activity)
7 Quiz
8 Revision
9 MID TERM
Course Code:
Title: Compiler Construction
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Material:
Core Text: None
To understand the basic techniques used in compiler
construction such as lexical analysis, top-down, bottom-up
parsing, context-sensitive analysis, and intermediate code
generation
To understand the basic data structures used in compiler
Objectives:
construction such as abstract syntax trees, symbol tables,
three-address code, and stack machines
To design and implement a compiler using a software
engineering approach 4. Use generators (e.g. Lex and Yacc)
Curriculum Contents:
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
Session Topics
NO
1 Overview of Compilers, Compilation Process, Phases of Compiler, Cousins of
compiler
2 Overview and Role of Lexical Analyzer, Tokens, Lexemes, Patterns,
Specification of tokens, recognition of tokens
3 Finite automata, NFA, DFA, Conversion from a regular expression to an NFA,
NFA problems, NFA & DFA Comparison, Design of a Lexical Analyzer.
4 Overview, Symbol Table organization, Classification of the symbol table,
symbol table operations, working, implementation.
5 Role of Parser, Context-Free grammars, writing a grammar, Types of Parsing,
Top-down parsing, Bottom-up parsing
6 Backtracking, Recursive Descent parsing, problems with RD parsing,
Predictive parsing, Transition diagrams for predictive parsers, Non-Recursive
Predictive Parsing
7 Practical Examples and Parser Generators
8 Overview of Type Checking, specification of a simple type checker,
Equivalence of type expressions
Revisions
9 MID TERM
Reference Materials:
Compilers: Principles, Techniques, and Tools, A. V. Aho, R. Sethi and J. D. Ullman,
Addison-Wesley, 2nd ed., 2006
Modern Compiler Design, D. Grune, H. E. Bal, C. J. H. Jacobs, K. G. Langendoen,
John Wiley, 2003.
Modern Compiler Implementation in C, A. W. Appel, M. Ginsburg, Cambridge
University Press, 2004.
Course Code:
Title: Computer Architecture and Assembly Language
Credit Rating: 03
Level: BS
Delivery: Face to face
Pre-Requisites None
Teaching Lectures, Written Assignments, Project, Report Writing
Methodology
Course Assessment Midterm exam, Final Exam, Assignments
Reference Materials
Pre-Reading Slides
Material
Core Text None
To provide the students with an understanding of the various
levels of studying computer architecture, with emphasis on
Aims: instruction set level and register transfer level.
To prepares the students to use basic combinational and
sequential building blocks to design larger structures like
Arithmetic Logic Units, memory subsystems, I/O subsystems
etc.
Curriculum Contents:
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, outof-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.
Session Topics
1 Introduction to the Course
• Basic function unit of the computer
• Basic I/O
2 Bus Organization
• Operational concepts of a computer
• Software (system/Application)
• Caching
• Performance
3 Fetch and Execute
• Registers
• Memory locations and addresses
• Addressing Modes
4 Continue with Addressing Modes
• Indexing and Arrays
• Stack
• Basic I/O
• Programmed I/O
• Memory Mapped I/O
5 Interrupts
• Interrupt driven I/O
• Interrupt Request
• Interrupt Service Routine
• Enabling and Disabling Interrupts
6 Memory
• Types of Memory
• Memory Hierarchy
• Cache Memory
• Virtual Memory
7
Presentation and Revision
8 Mid-Term Exam
9 Pipelined Processors
• Pipelining concepts and benefits
• Hazards in pipelined processors: data hazards, control hazards
10 Virtual Memory and Paging
• Address translation and page tables
• Page replacement algorithms
11 Input/Output Systems
• I/O interfaces and devices
• Polling, interrupts, DMA in I/O operations
12 Secondary Storage Devices
• Hard disk drives, SSDs, optical drives
• File systems and storage management
13 Multiprocessor Architectures
• Symmetric Multiprocessing (SMP)
• Interconnection networks: buses, crossbars
14 Multicore Processors
• Advantages of multicore architectures
• Programming models for parallel processing
15 Pipelined Processors (Advanced)
• Data hazards: forwarding, stalling
• Control hazards: branch prediction, delay slots
16 Final -Term Exam
Reading Material
Computer Organization and Embedded System By C Hamacher………6th Edition 2012
Structured Computer Organization By Andrew S Tanenbaum 5th Edition
Course Code:
Title: Computer Graphics
Credit Rating: 03
Level: BS
Delivery: Face to face
Pre-Requisites None
Teaching Lectures, Written Assignments, Project, Report Writing
Methodology
Course Assessment Midterm exam, Final Exam, Assignments
Reference Materials
Pre-Reading Slides
Material
Core Text None
To learn basic principles and theories behind computer graphics,
including pixel representation, color models, and geometric
Aims: transformations.
To explore the hardware components involved in generating and
displaying computer graphics, including GPUs, display devices,
and input devices like graphics tablets.
To explore advanced topics such as ray tracing, texture mapping,
and global illumination to create photorealistic images and scenes.
Curriculum Contents:
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.
Sessio Topics
n
1 Introduction to Computer
History
Graphics Application
User Interface
Simulations
Interdisciplinary
2 Text and Graphics Modes
Resolution
Colors IN VGA
Line Drawing Techniques
Circle Drawing Techniques
3 Ellipse and Other Curves
Algorithm
Hyperbola
Filled Area Primitives 1
Filled Area Primitives 11
Polygon
4 Mathematical Fundamental’s
Matrices and Simple Matrix Operations
2D Transformations 1
3D Magnitude and Direction
Homogeneous Coordinates
5 Graphics System
Videos Display Devices
Clipping 1
Clipping 11
6 3-D Concepts
3D Model and Lighting Effects
3-D Transformations-I
3-D Transformations-II
7 Quiz and Revision
8 Mid-Term Exam
Curriculum Contents:
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. Virtual private network (VPN s), Wireless and Mobile Networking,
Wireless network topologies Mobile network and cellular commutation, Mobile device
management and security.
Session Topics
NO
1 Introduction to Computer Networks
Definition and importance of computer networks
Network classifications (LAN, WAN, MAN)
Network topologies and models (client-server, peer-to-peer)
2 Network Architecture and OSI Model
OSI model layers and their functions
TCP/IP protocol su Network Architecture and OSI Model
OSI model layers and their functions
TCP/IP protocol suite
Comparison of OSI and TCP/IP models
Comparison of OSI and TCP/IP models
3 Physical Layer
Transmission media (copper, fiber, wireless)
Signal encoding and modulation
Error detection and correction
4 Data Link Layer
Framing and addressing
Error detection and correction at the data link layer
Ethernet and LAN technologies
5 Network Layer
IP addressing and sub netting
Routing algorithms and protocols (e.g., RIP, OSPF)
Internet Control Message Protocol (ICMP)
Assignment-1
6 Transport Layer
Introduction to transport layer protocols (TCP and UDP)
Flow control and error handling
Socket programming
Quiz-1
7 Application Layer
Common application layer protocols (HTTP, FTP, SMTP)
DNS (Domain Name System)
Network services and applications
8 Revision
9 MID TERM
10 Network Security
Threats and vulnerabilities in computer networks
Cryptography and encryption
Network security protocols (e.g., SSL/TLS, IPsec)
11 Wireless and Mobile Networks
Wireless communication principles
Mobile IP
4G and 5G networks
12 Network Management and Troubleshooting
Network monitoring and management tools
Troubleshooting network issues
Network performance optimization
13 Emerging Network Technologies
Virtualization and cloud computing
Software-Defined Networking (SDN)
Internet of Things (IoT) and its impact on networks
Assignment 2
14 Network Security
Network security fundamental
cryptography and encryption
Virtual private network (VPN s)
15 Quiz-2
16 Presentation
17 Revision
18 Final Term
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
Course Code:
Title: Computer Organization & Assembly Language Lab
Credit Rating: 03 (2+1)
Level: BS
Delivery: Practical
Pre-requisites: None
Pre-Reading
Slides, Computer
Material:
Core Text: None
To introduced students to the basic concept and issues in
managing the hardware.
To understand how compilation systems work.
To enable them to prepare a program by using assembly
Objective:
language.
To comprehend the structure of machine-level representations
of floating-point programs.
Session Topics
NO
1 Basic introduction to Compiler
2 Basic knowledge ─ ENVIORNMENT SETUP (Irvine_6th_Edition_VS2012)
3 ASSEMBLY ─ BASIC SYNTAX
4 ASSEMBLY ─ MEMORY SEGMENTS, REGISTERS,
5 ASSEMBLY ─ SYSTEM CALLS, ADDRESSING MODES
6 ASSEMBLY ─ VARIABLES, CONSTANTS
7 ASSEMBLY ─ ARITHMETIC INSTRUCTIONS
8 Revision
9 MID TERM
Reference Materials:
Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e), Randal E. Bryant and
David R.O' Hallaron, Carnegie Mellon University
Robert Britton, MIPS Assembly Language Programming, Latest Edition
Computer System Architecture, M. Morris Mano, Latest Edition
Assembly Language Programming for Intel- Computer, Latest Edition
Course Code:
Title: Cryptography
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: Information Security
Pre-Reading
Slides
Material:
Core Text: None
To introduced students to the basic concept and issues in
computer world.
To identify the symmetric key, asymmetric key algorithm and
hash function.
To explain cryptography, encryption and there related
Objectives: algorithms.
To apply various risk management tools for achieving the
hybrid cryptography algorithm.
To understand the concepts and standards related to wireless
security, IoT and Cloud security.
Curriculum Contents:
Elementary number theory: Prime numbers, Factoring, Modular arithmetic, Fermat’s &
Euler’s theorems, gcd, Euclid’s algorithm, Discrete logarithm problem Public key encryption:
Public key crypto systems, RSA algorithm, Elliptic Curve cryptography Hash digests:
Properties of cryptographic hash functions, Merkle Damgard construction, md family, sha
family, Digital signatures, sha3 Block ciphers: Block cipher principles, Feistel networks, S
boxes and P boxes, Block cipher modes of operation, DES, 3DES, AES Interactive Proofs,
Zero-Knowledge Proofs, Zero-Knowledge Proofs of Knowledge, Non-Interactive Zero-
Knowledge Proofs, Secure Protocols, Two-Party Secure Computation, Multiparty Secure
Computation, Chosen Cipher text Security
Session Topics
NO
1 Cryptography
Symmetric Key Algorithms
Asymmetric Key Algorithms
Unkeyed Algorithms (e.g. Hash Function)
2 Private key crypto systems
Advanced encryption standard
Data encryption standard
DES, 3DES
XOR
3 Public key crypto systems
Diffie-Hellman key exchange
RSA
Elliptic curve cryptography
DSA
Assignment-1
4 Unkeyed Algorithm
HMAC
SHA family
SHA-3
SHA-128
SHA-256
5 Encryption Techniques
Full Encryption
Selective Encryption
Transparent Encryption
Assignment-2
6 Steganography
Text Steganography
Image Steganography
Audio and Video Steganography
Network Steganography
Quiz-1
7 Presentation
8 Revision
9 MID TERM
10 Block cipher principles
Feistel networks
S boxes
P boxes
Block cipher modes of operation
11 Cloud & IoT security
Authentication
Device authorization
Two-Factor Authentication
Data Encryption
12 Firewall and Protocol
Packet-filtering firewall
Circuit-level gateways
Application-level gateways (a.k.a. proxy firewalls)
Software firewalls
Hardware firewalls
Cloud firewalls
13 Digital Signature
Two-Party Secure Computation
Multiparty Secure Computation
Chosen Cipher text Security
14 Social engineering
Investing, Hooking, Attacking, Exiting
Usability engineering
Baiting, Scareware, Pretexting, Phishing, Vishing and Smishing
15 Planning and policy
Quiz-2
16 Presentation
17 Revision
18 Final Term
Reference Materials:
The course materials will consist of research papers related to each topic.
Corporate Computer Society by Randall J.Boyle, 3rd Edition
Course Code:
Title: Cyber Security
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
To introduced students to the basic concept and issues in
computer world.
To apply various risk management tools for achieving the
privacy and security.
Objectives: To identify the malicious software techniques and learn anti-
malicious softwares.
To understand the concepts and standards related to the
discipline of Information System.
Curriculum Contents:
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.
Session Topics
NO
1 Basic security concepts:
Security
Information security
Cyber Security
Differentiate between Information and Cyber Security.
Information security terminology
2 Malware analysis
Malware classifications
Types of Malware
Viruses, Worms, trojans, and ransomware
Bots or botnets, adware, spyware, rootkits, fileless malware, and
malvertising.
3 Computer attacks
Server side web applications attacks
Hardware attacks
password attack,
phishing attack
SQL injection attack
Assignment-1
4 Network protocols and service models
ARP, CSLIP, HDLC, IEEE. 802.3, PPP, X-25, SLIP, ATM, SDLS and
PLIP
Transmission Control Protocol (TCP) Internet Protocol (IP) User
Datagram Protocol (UDP) Post office Protocol (POP)
5 Cryptography
Symmetric Key Algorithms
Asymmetric Key Algorithms
Unkeyed Algorithms (e.g. Hash Function)
Assignment-2
6 Encryption Techniques
Full Encryption
Selective Encryption
Transparent Encryption
Quiz-1
7 Presentation
8 Revision
9 MID TERM
10 Social engineering
Investing, Hooking, Attacking, Exiting
Usability engineering
Baiting, Scareware, Pretexting, Phishing, Vishing and Smishing
11 Steganography
Text Steganography
Image Steganography
Audio and Video Steganography
Network Steganography
12 Firewall
Packet-filtering firewall
Circuit-level gateways
Application-level gateways (a.k.a. proxy firewalls)
Software firewalls
Hardware firewalls
Cloud firewalls
13 Wireless security
Wired Equivalent Privacy (WEP)
Wi-Fi Protected Access (WPA)
Wi-Fi Protected Access 2 (WPA 2)
Wi-Fi Protected Access 3 (WPA 3)
14 Cloud & IoT security
Authentication
Device authorization
Two-Factor Authentication
Data Encryption
15 Planning and policy
Quiz-2
16 Presentation
17 Revision
18 Final Term
Reference Materials:
Security+ Guide to Network Security Fundamentals by Mark Ciampa, 4th Edition
Corporate Computer Society by Randall J.Boyle, 3rd Edition
Course Code:
Title: Data Communication
Credit Rating: 03
Level: BS
Delivery: Face to face
Pre-Requisites: None
Pre-Reading Material Slides
Core Text None
To foster a comprehensive grasp of data communication
principles, protocols, and technologies among students.
Aims: To connect theoretical concepts to practical applications, enabling
students to design, analyze, and troubleshoot communication
networks effectively.
To develop strong communication skills to elucidate intricate
concepts, facilitate discussions, and prepare students for effective
collaboration in the field.
Intended Learning Outcomes:
1. Define data communications, name uses of data communications, and list the basic
components of a communications system.
2. Describe other pieces of hardware and software which make networks more efficient,
faster, more secure, easier to use, able to transmit several simultaneous messages, and
able to interconnect with other networks.
3. Learn the basic technical concepts of data communications.
Key Transferable Skills:
Cultivate the ability to analyze complex communication protocols and network configurations,
fostering strong problem-solving skills applicable to various technical challenges.
Develop clear and concise communication skills to explain intricate data communication
concepts and share findings with technical and non-technical audiences.
Curriculum Contents:
This course gives you the overview about, What Data Communication actually is? What tools and
techniques you will use to send your data from one place to another. Similarly, all about the
techniques, devices and concepts of data sending and receiving activities will be covered in this
course.
Session Topics
1 Introduction to Data Communication
Brief History of Communication
Data Communication System
Key Data Communication Terminology
Networks and Why we need Them?
Communication Tasks
Protocols
2 Network Models
LAYERED TASKS
Sender, Receiver , Carrier, Hierarchy
THE OSI MODEL
LAYERS IN THE OSI MODEL
TCP/IP PROTOCOL SUITE
ADDRESSING
3 Data and Signals
ANALOG AND DIGITAL
Analog and Digital Data
Analog and Digital Signals
Periodic and Nonperiodic Signals
4 Data and Signals
DIGITAL SIGNALS
Bit Rate
Bit Length
Digital Signal as a Composite Analog Signal
Application Layer
5 DATA RATE LIMITS
Noiseless Channel: Nyquist Bit Rate
Noisy Channel: Shannon Capacity
Using Both Limits
Assignment 01
6 Digital Transmission
Line Coding
Line Coding Schemes
Block Coding
Scrambling
7 Analog-to Analog Conversion
Pulse Code Modulation (PCM)
Delta Modulation (DM)
Revisions and Presentations
8 Mid-Term Exam
9 Analog Transmission
Aspects of Digital-to-Analog Conversion
Amplitude Shift Keying
Frequency Shift Keying
Phase Shift Keying
Quadrature Amplitude Modulation
10 Transmission Media
GUIDED MEDIA
Twisted-Pair Cable
Coaxial Cable
Fiber-Optic Cable
UN-GUIDED MEDIA
Radio Waves
Microwaves
Infrared
11 Wired LANs: Ethernet
IEEE STANDARDS
STANDARD ETHERNET
CHANGES IN THE STANDARD
FAST ETHERNET
GIGABIT ETHERNET
12 Wireless LANs
IEEE 802.11
MAC layers in IEEE 802.11 standard
CSMA/CA flowchart
Addressing mechanisms
BLUETOOTH
13 Data Link Control
Line Disciplin
Flow Control
Hamming Code
Assignment 02
14 Error Control
Data Link Protocols
Asynchronous Protocols
Synchronous Protocols
15 Revisions and Quiz
16 Final Term Exam
Course Code:
Title: Data Mining
Credit Rating: 03
Level:
Delivery: Face to Face
Pre-requisites: Introduction to Database System
Pre-Reading
Material:
Core Text: N/A
To expand on the student’s understanding and awareness of the
concepts of data mining basics, techniques, and application.
To introduce the concepts of Data Pre-processing and Summary
Statistics.
Objectives:
To introduce the concepts of Frequent Item Set Generation,
Associations and Correlations measures.
To introduce the concepts of Classification, Prediction, and
Clustering algorithms.
Session Topics
NO
1 Concepts of Data mining
2 Data Preparation Techniques: outlier and missing data analysis
3 Data Reduction Techniques
4 Learning methods in Data mining
Assignment 1
5 Statistical Methods in Data Mining
6 Cluster Analysis
Quiz-1
7 Hierarchal agglomerative and Naïve Bayesian methods
Presentation-1
8 Revision
9 MID TERM
Reference Materials:
Jiawei Han & Micheline Kamber, Jian Pei (2011). Data Mining: Concepts and
Techniques, 3rd Edition.
Pang-Ning Tan, Michael Steinbach, and Vipin Kumar (2005). Introduction to Data
Mining.
Charu C. Aggarwal (2015). Data Mining: The Textbook
D. Hand, H. Mannila, P. Smyth (2001). Principles of Data Mining. MIT Press.
Course Code:
Title: Data Science
Credit Rating: 03
Level: BS
Delivery: Face To Face
Tutor/s: Mr. Ali Asghar
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
To provide students with a solid understanding of the
foundational concepts and principles underlying data science,
including statistics, mathematics, and computer science.
To equip students with the technical skills necessary for
working with data, including programming languages (e.g.,
Objectives: Python, R), data manipulation, and database management.
To teach students how to explore and visualize data
effectively.
To foster problem-solving skills by presenting real-world data
challenges.
Curriculum Contents:
Introduction: What is Data Science? Big Data and Data Science hype, Datafication, Current
landscape of perspectives, Skill sets needed; Statistical Inference: Populations and samples,
Statistical modeling, probability distributions, fitting a model, Intro to Python; Exploratory
Data Analysis and the Data Science Process; Basic Machine Learning Algorithms: Linear
Regression, k-Nearest Neighbors (k-NN), k-means, Naive Bayes; Feature Generation and
Feature Selection; Dimensionality Reduction: Singular Value Decomposition, Principal
Component Analysis; Mining Social-Network Graphs: Social networks as graphs, Clustering
of graphs, Direct discovery of communities in graphs, Partitioning of graphs, Neighborhood
properties in graphs; Data Visualization: Basic principles, ideas and tools for data
visualization; Data Science and Ethical Issues: Discussions on privacy, security, ethics, Next-
generation data scientists.
Session Topics
NO
1 Introduction
What is data Science
Big Data
Data Science Hype
2 Datafication
Current landscape of perspectives
Skill sets needed
3 Statistical Inference
Populations
samples
Assignment-1
4 Statistical modeling
probability distributions
fitting a model
Intro to Python
5 Exploratory Data Analysis
The Data Science Process
Assignment-2
6 Basic Machine Learning Algorithms
Linear Regression
k-Nearest Neighbors (k-NN)
Quiz-1
7 Basic Machine Learning Algorithms
k-means
Naive Bayes
Presentation-1
8 Revision
9 MID TERM
Reference Materials:
Foundations of data science, Blum, A., Hopcroft, J., & Kannan, R., Vorabversion
eines Lehrbuchs, 2016.
An Introduction to Data Science, Jeffrey S. Saltz, Jeffrey M. Stanton, SAGE
Publications, 2017.
Python for everybody: Exploring data using Python 3, Severance, C.R., CreateSpace
Independent Pub Platform. 2016.
Doing Data Science, Straight Talk from the Frontline, Cathy O'Neil and Rachel
Schutt, O'Reilly. 2014.
Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and
Presenting Data, EMC Education Services, John Wiley & Sons, 2015.
Course Code:
Title: Data Structure & Algorithm
Credit Rating: 03
Level: BS
Delivery: Face to face
Pre-Requisites: None
Pre-Reading Slides
Material
Core Text None
To organize and manipulate data and how to design and
analyze algorithms.
Aims: To study of data structures and algorithms provides students
with the tools to solve complex problems in a systematic and
efficient manner
To optimize algorithms and data structures to improve
performance and reduce resource consumption.
Intended Learning Outcomes:
1. Should be able to analyze the time and space complexity of different algorithms and
design new algorithms for specific problems.
2. Should be familiar with common data structures such as arrays, linked lists, trees, and
graphs and understand their properties and usage.
3. Understanding of different algorithmic paradigms such as divide and conquer, dynamic
programming, and greedy algorithms.
Curriculum Contents:
Arrays, linked lists, stacks, queues, and trees, Sorting, searching, and graph algorithms, Heaps,
hash tables, priority queues, and balanced search trees, Dynamic programming, divide and
conquer, and greedy algorithms, Time and space complexity, Big O notation, and worst-case
and average-case analysis ,Real-world applications of data structures and algorithms in fields
such as computer graphics, artificial intelligence, and machine learning.
Session Topics
1 Introduction to Algorithms and Data Structures
Static Data Structures
Searching Algorithms
Sorting Algorithms
List implementation through Array
2 Dynamic Data Structures (Linear and Non-Linear)
Linked List (Linear Data Structure)
Trees, Graphs, Hashing
3 Algorithm Analysis
Problem Solving
Space Complexity
Time Complexity
Classifying Functions by Their Asymptotic Growth
5 List
List Data Structure
List operations
List Implementation
Array
Linked List
6 Pointer
Pointer
Pointer Variables
Dynamic Memory Allocation
Functions
Quiz-1
7 Revisions and Presentations
8 Mid-Term Exam
Introduction to Searching and Recursion
External and Internal Searching
Types of Searching
9
Recursive Definition
Recursive Algorithms
Finding a Recursive Solution
10 Insertion Sort
Insertion Sort Algorithm
Time Complexity
Best case
Average case
Worst case
Quick Sort
Quick Sort Algorithm
11 Time Complexity
Best case
Average case
Worst case
Merge Sort
Merge Sort
Merge Sort Algorithm
12 Time Complexity
Best case
Average case
Worst case
Selection Sort
Selection Sort
Selection Sort Algorithm
13 Time Complexity
Best case
Average case
Worst case
Basic skills learned while pursuing a Database systems career includes working with
Relational Database, E-R Diagrams, relational Algebra. Valuable skills also include
knowing how SQL (Structured Query Languages) work, how to use SQL Queries
for searching data in database, how to normalize data in database.
Curriculum Contents:
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.
Session Topics
NO
1 Basic database concepts, Database architecture, three level schema
architecture
2 Transactional processing and Concurrency control techniques
3 Data independence, relational data model, attributes, schemas, tuples,
domains
Assignment-1
4 keys of relations, integrity constraints
5 Relational algebra, selection, projection, Cartesian product, types of
joins
Assignment-2
6 Recovery techniques, Database Administration
Quiz-1
7 keys of relations, Integrity and security
Presentation-1
8 Revision
9 MID TERM
Reference Materials:
Course Code:
Title: Design and analysis of algorithm
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
To explain what is meant by “best”, “expected”, and “worst”
case behavior of an algorithm.
To identify the characteristics of data and/or other conditions
or assumptions that lead to different behaviors.
Objectives: To determine informally the time and space complexity of
simple algorithms.
To use big O, Omega, Theta notation formally to give
asymptotic upper bounds on time and space complexity of
algorithms.
Curriculum Contents:
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
Session Topics
NO
Introduction of algorithm
Role of algorithms in computing
1
Analysis on nature of input
Size of input
Algorithm Design Techniques
Properties of Algorithm
2
Sorting
Asymptotic notations: Big-O, Big Ω, Big Θ, little-o, little-ω
3 Bubble Sort
Worst complexity
Average complexity
Best complexity
Space complexity
Method
Stable
Class
Assignment-1
Selection Sort
Worst complexity
Average complexity
Best complexity
4
Space complexity
Method
Stable
Class
Insertion Sort
Worst complexity
Average complexity
Best complexity
5 Space complexity
Method
Stable
Class
Assignment-2
Merge Sort
Worst complexity
Average complexity
Best complexity
6 Space complexity
Method
Stable
Class
Quiz-1
7 Presentation
8 Revision
9
MID TERM
Quick Sort
Worst complexity
Average complexity
Best complexity
10
Space complexity
Method
Stable
Class
11 Heap Sort
Worst complexity
Average complexity
Best complexity
Space complexity
Method
Stable
Class
Counting Sort
Worst complexity
Average complexity
Best complexity
12
Space complexity
Method
Stable
Class
Radix Sort
Worst complexity
Average complexity
Best complexity
13
Space complexity
Method
Stable
Class
Shortest paths
14 sparse graphs
String matching
Introduction to complexity classes
15
Quiz-2
16 Presentation
17 Revision
18 Final Term
Reference Materials:
Introduction to Algorithms (3rd edition) by Thomas H. Corman, Charles E. Leiserson,
Ronald L. Rivest and Clifford Stein
Algorithm Design, (1st edition, 2013/2014), Jon Kleinberg, Eva Tardos,
Algorithms, (4th edition, 2011), Robert Sedgewick, Kevin Wayne
Course Code:
Title: Discrete Structure
Credit Rating: 03
Level: BS
Delivery: Face to face
Pre-Requisites: None
Pre-Reading Slides
Material
Core Text None
The key concepts of Discrete Structures such as Sets,
Permutations, Relations, Graphs, and Trees etc.
Objective: Formal logic proofs and/or informal, but rigorous, logical
reasoning to real problems, such as predicting the behavior of
software or solving problems such as puzzles.
Various discrete structures and their relevance within the
context of computer science, in the areas of data structures and
algorithms, in particular.
Intended Learning Outcomes:
1. Understand mathematical logic and apply it in problem-solving.
2. Analyze and manipulate functions to solve problems in combinatory and number theory.
3. Understand the basics of graph theory, including graph terminology, types of graphs,
and graph isomorphism.
4. Apply counting principles, including permutations and combinations.
Session Topics
1 Introduction to Discrete Structures
Discrete Vs Continuous
Applications of discrete mathematics
Propositional Logic
Logic of Compound Statements
Notations
2 Exclusive OR (XOR)
Logical Equivalences.
De Morgan’s laws.
Tautologies and Contradictions.
Laws of Logic.
Conditional propositions.
3 Conditional Propositions.
Negation, Inverse and Converse of the conditional statements.
Contra positive.
Bi conditional statements.
Necessary and Sufficient Conditions.
4 Basic Logic gates
Circuits using logic gates
Boolean Algebra
Adders
Reductions of circuits
5 NAND and NOR Gates
Basics of Boolean Algebra
Decimal and Binary numbers
Circuits using Half adders
Parallel Adder Circuits
6 Predicates and Set Notation
Universal and Existential Statement
Translating between formal and informal language
Universal conditional Statements
Quiz-1
7 Revisions and Presentations
Nested Quantifiers
Relations
9 Universal Instantiation statement
Universal Modus Ponens
Universal Modus Tollens
Quantified form of Converse and Inverse error
Fundamental Theorem of Arithmetic
Divisors
Prime Numbers
10 Division Algorithm
Greatest common divisors
Least Common Multiple
Relative Prime
Floor and Ceiling
Properties of Floor and Ceiling Functions
11
Methods of Proof
Direct Proofs
12 Relation between Contradiction and Contra-positive
Mod Functions
Divisibility and Floor
Mod Congruence
Indirect Proofs
Proof by Contra-positive
Sets
Operations on sets
13
Memberships
Notations
Venn diagrams
Course Code:
Title: Distributed System
Credit Rating: 3
Level: BS
Delivery: Face to face
Pre-requisites: Operating System
Pre-Reading Per to per model, Clint server model Topologies and physical
Material: models
Core Text: N/A
Objectives: To grasp the concept of distributed computing and recognize
the differences between distributed and centralized systems.
To learn how to design systems that can handle increased
loads and users by distributing resources and tasks across
multiple nodes.
To design systems that are robust in the face of failures,
ensuring high availability and fault tolerance.
To optimize the performance of distributed systems by
minimizing latency, bandwidth usage, and resource
consumption.
To understand the security challenges in distributed systems
and implement mechanisms to protect against threats such as
unauthorized access, data breaches, and denial of service
attacks.
Understanding system architecture principles, including micro services, server less, and
containerization, is crucial for designing scalable and fault-tolerant distributed systems.
A strong understanding of networking concepts, including TCP/IP, HTTP, DNS, load
balancing, and CDN, is necessary to ensure communication and data transfer between
distributed components.
Understanding security principles like encryption, authentication, authorization, and
vulnerability management is crucial in protecting distributed systems from threats.
Knowing how to manage concurrent access to shared resources and implement parallel
processing can help optimize performance in distributed systems.
Curriculum Contents:
Session NO Topics
1 Introduction to Distributed Systems
What are Distributed Systems?
Characteristics and challenges of distributed systems Architectural
models: client-server, peer-to-peer, and hybrid
Examples of distributed systems
2 Communication and Networking
Socket programming
Remote Procedure Calls (RPC)
Message Passing
3 Distributed System Models
Architectural styles: Monolithic, Layered, Micro services
Distributed computing models: Cloud computing, Grid computing,
4 Cluster computing
Virtualization and containerization
Assignment 1
5 Distributed System Design
Principles of distributed system design
Fault tolerance and reliability consistency and replication
6 Load balancing and scalability
Case studies in distributed system design
Quiz 1
7 Distributed Computing and Processing
Parallel computing and Map Reduce
Apache Hadoop and Spark
8 MID TERM
9 Stream processing and real-time analytics
10 Case studies in distributed computing
11 Distributed System Security
Security challenges in distributed systems
Authentication and authorization
12 Encryption and data privacy
Assignment 2
13 Distributed service
Distributed denial of service (DDoS) attacks and mitigation
Amazon AWS, block chain)
Emerging trends and technologies in distributed systems (e.g., edge
computing, server less computing)
14 Quiz-2
16 Presentation
17 Final term
Reference Materials:
Course Code:
Title: Composition and Comprehension English
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
Objectives: The importance of English language cannot be denied.
It enriches our thought and culture and provides us with the
most important international vehicle of expression.
It has opened for us several doors of knowledge for it is the
lingua franca of the world and also the language of science,
technology, commerce and diplomacy.
The main objective of this course is to enhance English
language skills of the students and develop their critical
thinking.
Session Topics
NO
1 Grammar Basic
2 Part of Speech
3 Sentence and its types
Basic Sentence Structure
4 Phrases
5 Clauses
6 Punctuation
7 Quiz
8 Revision
9 MID TERM
Course Code:
Title: Human Computer Interaction (HCI)
Credit Rating: 03
Level: BS
Delivery: Face to Face
Pre-requisites: None
Pre-Reading
Material:
Core Text:
Objectives: To introduced students to the basic concept and issues in
interaction and GUI.
To understand the procedure to designed a well-designed
Graphical User Interface.
To enable them to prepare an attractive interface which attract
the user.
To comprehend the structure of modern computer graphics
systems.
Curriculum Contents:
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.
Session Topics
NO
1 Contexts for HCI
What is Human Computer Interaction?
Why do you get out of this?
Why study HCI?
Seven Stages of Action
2 Old GUIs and Psychology of usable things
Batch Interface (1945 to 1968)
Ivan Sutherland 1963
Douglas Engelbart 1967
CLIs 1969 to 1983
GUIs – 1984 to present
3 New Interaction Technologies and Augmented and Virtual Reality
Auditory Interaction
Vision Based Interaction
Multimodal Interaction
Richard Bolt – 1980
Ubiquitous Computing
Augmented reality/ Virtual reality
Mobile Computing
Assignment-1
4 Conceptual model of Interaction
Interface Model
User Model may be wrong
Interaction style
Direct manipulation
Core Principles of DM
Comparison three interaction style
5 Prototyping
Why Prototype?
Prototype fidelity
More Dimension of fidelity
Paper Prototype
Why Paper?
Tools for Paper prototyping
Computer prototype
More detail mockups
Prototyping tools
Assignment-2
6 Interaction Design and Usability
Why bother with Usability
What is Interaction designing
Quiz-1
7 Presentation-1
8 Revision
9 MID TERM
Reference Materials:
Designing the User Interface: Strategies for Effective Human-Computer Interaction,
Ben Shneiderman and Catherine Plaisant, 6th Ed, Pearson Inc, 2016.
Designing Interactive Systems: A Comprehensive Guide to HCI, UX and Interaction
Design, Benyon, D. 3rd Ed., Pearson. 2013
About Face: The Essentials of Interaction Design, Alan Cooper, Robert Reimann,
David Cronin, Christopher Noessel, 4th Ed, Wiley, 2014
Course Code:
Title: Introduction to Communication Technologies
Credit Rating: 4 (3-1)
Level: BS
Delivery: Face to Face
Pre-requisites: None
Pre-Reading
None
Material:
Core Text: None
To understanding the Concept and tools of Computer
To understand the role of ICT in different fields
Objectives: To understand to apply ICT platforms and tools for
different purposes to address basic needs in different
domains of daily, academic and professional.
Curriculum Contents:
Brief history of Computer, Four Stages of History, Computer Elements, Processor, Memory,
Hardware, Software, Application Software its uses and Limitations, System Software its Importance
and its Types, Types of Computer (Super, Mainframe, Mini and Micro Computer), Introduction to
CBIS (Computer Based Information System), Methods of Input and Processing, Class2. Organizing
Computer Facility, Centralized Computing Facility, Distributed Computing Facility, Decentralized
Computing Facility, Input Devices. Keyboard and its Types, Terminal (Dump, Smart, Intelligent),
Dedicated Data Entry, SDA (Source Data Automation), Pointing Devices, Voice Input, Output
Devices. Soft- Hard Copies, Monitors and its Types, Printers and its Types, Plotters, Computer Virus
and its Forms, Storage Units, Primary and Secondary Memories, RAM and its Types, Cache, Hard
Disks, Working of Hard Disk, Diskettes, RAID, Optical Disk Storages (DVD, CD ROM), Magnetic
Types, Backup System, Data Communications, Data Communication Model, Data Transmission,
Digital and Analog Transmission, Modems, Asynchronous and Synchronous Transmission, Simplex.
Half Duplex, Full Duplex Transmission, Communications, Medias (Cables, Wireless), Protocols,
Network Topologies (Star, Bus, Ring), LAN, LAN, Internet, A Brief History, Birthplace of ARPA
Net, Web Link, Browser, Internet Services provider and Online Services Providers, Function and
Features of Browser, Search Engines, Some Common Services available on Internet.
Session Topics
NO
Introduction to ICT
Component of ICT
1
Scope of ICT
Emerging technologies and future trends
Basic ICT productivity tools
Search engines
Formal communication tools
2 Google workspace
Cloud storage
Video conferencing
Social media applications
ICT in education
Working with learning management system
3 Source of online education courses
Interactive multimedia and virtual classroom
Assignment-1
ICT in health and well-being
4 Health and fitness tracking devices and applications
Telemedicine’s and online health consultations
5 Personal finance and shopping
Online banking and financial management
Ecommerce platforms
Assignment-2
Digital Citizenship and online Etiquette
Digital Identity and online reputation
6 Netiquette and respectful online communication
Cyberbullying and online harassment
Quiz-1
Ethical considerations in use of ICT platforms and tools
7 Intellectual property and copyright
Content accuracy and integrity
8 Revision
MID TERM
9
Concept of Networking
Advantages and disadvantages of networking.
10
Types of networks
Current trends
Storage Units
Primary and Secondary Memories,
RAM and its Types, Cache,
11 Hard Disks, Working of Hard Disk, Diskettes,
RAID, Optical Disk Storages (DVD, CD ROM),
Magnetic Types, Backup System
Quiz-2
Data Communications
Data Communication Model,
Data Transmission,
12 Digital and Analog Transmission,
Modems, Asynchronous and Synchronous Transmission,
Simplex. Half Duplex, Full Duplex Transmission,
Communications, Medias (Cables, Wireless),
Word Processing MS-Word
13 Menus: Creating and saving documents, Viewing, Editing, Formatting
Navigating, Previewing and Printing, Margins and Breaks,
Word Processing MS-Word
Character and Fonts, Formatting Paragraph,
14
Header and Footer, Page Numbers and Footnotes,
Creation of Tables and use of Tools.
Spreadsheet Microsoft Excel
Concept of Spreadsheet.
Copying, formatting and isolating Assumptions
15
Spreadsheet in decision-making.
Graphs and Charts.
List and Data management
16 Microsoft Power Point
Creating, opening and saving presentation.
Working in different Views.
Adding and formatting text and paragraphs.
Making notes Pages and handouts
17 Revision
18 Final Term
Reference Materials:
Computer Applications in Business Management, Fazal Ahmed 2016
Exploring Microsoft Office 2016 - Volume 1, MaryAnne Poatsy, Cynthia Krebs, Amy
Rutledge – 2016
Charles S. Parker, Understanding Computers: Today and Tomorrow, Course
Technology, 25 Thomson Place, Boston, Massachusetts 02210, USA 2.
Livesley, Robert Kenneth. An introduction to automatic digital computers. Cambridge
University Press, 2017.
Zawacki-Richter, Olaf, and Colin Latchem. "Exploring four decades of research in
Computers & Education." Computers & Education 122 (2018): 136-152.
Sinha, Pradeep K., and Priti Sinha. Computer fundamentals. BPB publications, 2010.
Goel, Anita. Computer fundamentals. Pearson Education India, 2010.
Course Code:
Title: IT Infrastructure
Credit Rating: 3
Level: BS
Delivery: Face to Face
Pre-requisites: None
Pre-Reading
None
Material:
Core Text: N/A
To develop a comprehensive knowledge of the functionality of
networking hardware;
To acquire the skills to solve business problems that require IT
Objectives: solutions
To develop the competency to investigate inter-organization
and intra-organization communications problems and propose
a viable technology solution
Curriculum Contents:
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.
Session Topics
NO
1 Definition of IT Infrastructure, Non-functional Attributes
2 Availability Concepts, Sources of Unavailability, Availability Patterns.
Performance. Security Concepts
3 Data centers
Assignment-1
4 Servers: Availability, Performance, Security
5 Virtualization: Availability, Performance, Security
Assignment-2
6 Virtualization: Availability, Performance, Security
Quiz-1
7 Presentation-1
8 Revision
9 MID TERM
Reference Materials:
IT Infrastructure Architecture: Infrastructure building blocks and concepts by Sjaak
Laan, Lulu.com (November 5, 2011). ISBN-10: 1447881281
IT Infrastructure and its Management by Prof Phalguni Gupta, Tata McGraw Hill
Education Private Limited (October 6, 2009). ISBN-10: 0070699798
IT Architecture for Dummies by Kalani Kirk Hausman and Susan Cook, For
Dummies; 1st Edition (November 9, 2010). ISBN-10: 0470554231
Course Code:
Title: Language Programming
Credit Rating: 03 (2+1)
Level: BS
Delivery: Practical
Pre-requisites: None
Pre-Reading
Slides, Computer
Material:
Core Text: None
To introduced students to the basic concept and issues in
managing the hardware.
To understand how compilation systems work.
To enable them to prepare a program by using Python
Objective:
language.
To comprehend the structure of machine-level representations
of floating-point programs.
Curriculum Contents:
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.
Session Topics
NO
1 Introduction to Python Programming
Introduction to Python as a programming language
Installation and setup of Python environment
Basics of Python syntax and variables
Introduction to problem-solving with Python
2 Data Types and Variables in Python
Numeric data types (integers, floats)
String data type and string manipulation
Boolean data type and logical operations
Variables and variable assignment
3 Data Structures in Python
Lists and list operations in Python
Tuples and tuple operations
Dictionaries and dictionary operations
Sets and set operations
Assignment 1
4 Control Flow and Loops in Python
Conditional statements (if, elif, else)
Iterative statements (for and while loops)
Loop control statements (break, continue)
5 Python Operators and Expressions
Arithmetic operators
Comparison operators
Logical operators
Assignment operators
6 Object-Oriented Programming in Python
Introduction to object-oriented programming concepts
Classes, objects, and methods in Python
Inheritance and polymorphism in Python
Quiz-1: Object-oriented programming concepts in Python
7 Modules and Libraries in Python
Importing and using built-in Python modules
Introduction to external libraries (NumPy, Pandas, Matplotlib, Seaborn)
Exploring NumPy for numerical computations
Introduction to Pandas for data manipulation
Assignment-2
8 Revision
9 MID TERM
10 Introduction to Data Analysis with Pandas
Data manipulation with Pandas Data Frames
Handling missing data
Data aggregation and grouping
Introduction to data visualization with Matplotlib and Seaborn
11 Introduction to Machine Learning with scikit-learn
Overview of machine learning concepts
Supervised learning and unsupervised learning
Regression and classification algorithms
Evaluation metrics in machine learning
12 Image Processing with OpenCV
Introduction to computer vision and OpenCV library
Image manipulation and filtering
Object detection and tracking using OpenCV
Assignment-3: Implement an image processing task with OpenCV
13 Introduction to scikit-learn for Machine Learning
Feature scaling and normalization
Model selection and evaluation
Cross-validation and hyperparameter tuning
Introduction to ensemble methods (random forests, gradient boosting)
Assignment-4
14 Advanced Topics in Python
Introduction to online algorithms and their applications
Introduction to parallel and distributed algorithms
Introduction to advanced data structures in Python
Quiz-2: Advanced topics in Python programming
15 Advanced Topics
Online algorithms
Quantum algorithms
Parallel and distributed algorithms
Advanced data structures
Quiz-3
16 Final Project Presentation
Students present their final projects related to programming and
problem-solving with Python
17 Revision
18 Final Term
Reference Materials:
Computer Systems: Basic Concept of Python, Randal E. Bryant and David R.O' Hallaron,
Carnegie Mellon University
Robert Britton, Introduction to Python, Latest Edition
Course Code:
Title: Machine Learning
Credit Rating: 3
Level: MS/M.Phil.
Delivery: Face To Face
Pre-requisites:
Pre-Reading
Material:
Machine learning (ML) studies the design and development of
algorithms that learn from the data and improve their performance
through experience. ML refers to a set of methods and that help
computers to learn, optimize and adapt on their own. ML has been
employed to devise algorithms for diverse applications including
object detection or identification in computer vision, sentiment
Core Text:
analysis of speaker or writer, detection of disease and planning of
therapy in healthcare, product recommendation in e-commerce,
learning strategies for playing games, recommending movies to
customers, speech recognition systems, fraudulent transaction
detection or loan application approval in banking sector,to name a
few
Objectives: To provide a thorough introduction to ML methods
To build mathematical foundations of ML and provide an
appreciation for its applications
To provide experience in the implementation and
evaluation of ML algorithms
To develop research interest in the theory and
application of ML
Course Code:
Title: Mobile Application Development Lab
Credit Rating: 3(2+1)
Level: BS
Delivery: Face to Face
Pre-requisites: Object Oriented Programming
Professional Android application development, Reto Meier,
Wrox Programmer to Programmer, 2015.
Pre-Reading iOS Programming: The Big Nerd Ranch Guide, Conway, J.,
Material: Hillegass, A., &Keur, C.,5th Edition, 2014.
Android Programming: The Big Nerd Ranch Guides, Phillips, B.
& Hardy, B., 2ndEdition, 2014.
Core Text: N/A
Objectives: To facilitate the graduates with the ability to visualize, gather
information, articulate, analyze, solve complex problems, and
make decisions. These are essential to address the challenges of
complex and computation intensive problems increasing their
productivity.
To facilitate the graduates with the technical skills that prepare
them for immediate employment and pursue certification
providing a deeper understanding of the technology in advanced
areas of computer science and related fields, thus encouraging to
pursue higher education and research based on their interest.
To facilitate the graduates with the soft skills that include
fulfilling the mission, setting goals, showing self-confidence by
communicating effectively, having a positive attitude, get
involved in team-work, being a leader, managing their career and
their life.
To facilitate the graduates with the knowledge of professional
and ethical responsibilities by paying attention to grooming,
being conservative with style, following dress codes, safety
codes, and adapting themselves to technological advancements.
4 When the user clicks the OK button Create a screen that has input boxes
for User Name
5-6 Password, Address, Gender (radio buttons for male and female), Age
(numeric), Date of Birth (Date Picket), State (Spinner) and a Submit
button.
7 Mid-term-exam
8-9 Print all the data below the Submit Button (use any layout) Design an
android application to
10- Create page using Intent and one Button and pass the Values from one
11 Activity to second
12- Activity Design an android application Send SMS using Intent Create
13 an android application using Fragments Design an android
application Using Radio buttons Design an android application for
menu.
Course Code:
Title: Mobile Application Development
Credit Rating: 03
Level: BS
Delivery: Face to Face
Pre-requisites: Object Oriented Programming
Professional Android application development, Reto Meier,
Wrox Programmer toProgrammer, 2015.
Pre-Reading iOS Programming: The Big Nerd Ranch Guide, Conway, J.,
Material: Hillegass, A., &Keur, C.,5th Edition, 2014.
Android Programming: The Big Nerd Ranch Guides, Phillips, B.
& Hardy, B., 2ndEdition, 2014.
Core Text: N/A
To involves creating software applications that run on mobile
devices such as smartphones and tablets.
To create responsive and user-friendly interfaces that consider
the limitations and unique features of mobile devices.
Objectives: To develop focus on optimizing the app's speed, responsiveness,
and resource usage to provide a seamless user experience.
To involves implementing encryption, secure authentication
mechanisms, and following best practices for data storage and
transmission
Session Topics
NO
1 Mobiles Application Development Platform; HTML5 for Mobiles
2 Android OS:Architecture, Framework and Application Development;
iOS: Architecture, Framework;
3 Application Development with Windows Mobile; Eclipse; Fragments
Assignment-1
4 Calling Built-in Applications using Intents;Displaying Notifications;
Components of a Screen; Adapting to Display Orientation
5 Managing Changes to Screen Orientation; Utilizing the ActionBar;
Creating the User Interface
Assignment-2
6 Listening for UI Notifications; Views
Quiz-1
7 User Preferences
Presentation-1
8 Revision
9 MID TERM
Course Code:
Title: Operating system
Credit Rating: 3+1
Level: BS
Delivery: Face To Face
Pre-requisites:
Pre-Reading
Material:
Core Text: N/A
To efficiently manage hardware resources such as CPU,
memory, disk space, and peripherals to ensure fair and optimal
allocation for various processes and users.
To protect the system and its data from unauthorized access,
malware, and other security threats. This involves user
authentication, access control, and data encryption.
To handle input and output operations efficiently, ensuring
Objectives: data is transferred between software and hardware devices
seamlessly.
To provide user interfaces (CLI or GUI) to interact with the
computer system, making it accessible to users.
To optimize system performance by scheduling processes,
managing memory efficiently, and minimizing resource
wastage.
1. Students should be able to explain the key components of an operating system, such as
the kernel, file system, device drivers, and user interfaces.
2. Learners should be capable of managing system resources effectively, including CPU
scheduling, memory allocation, and I/O operations.
3. Students should understand OS-level security mechanisms like access control,
authentication, and encryption to protect the system from threats.
4. Students should be able to implement efficient input and output operations, including
device management and file handling.
5. Understanding how to design and develop user interfaces, whether command-line or
graphical, should be a learning outcome.
6. Learners should be capable of analyzing system performance and applying
optimization techniques to enhance it.
Curriculum Contents:
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, distributed system,
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
Session Topics
NO
1 Introduction to Operating Systems:
What is an operating system?
Functions and goals of an operating system.
Historical perspective on operating systems.
2 Operating System Structures:
Monolithic, layered, microkernel architectures.
System calls and APIs.
3 Kernel mode vs. user mode.
Deadlock
Assignment-1
4 Process Management:
Processes and threads.
Process states and transitions
5 Process control blocks (PCB).
Process scheduling algorithms
6 Memory Management:
Address spaces and memory hierarchy.
Virtual memory and paging.
Quiz-1
7 Page replacement algorithms.
Memory allocation strategies.
8 Revision
9 MID TERM
10 File Systems:
File system organization and structure.
File operations and file attributes.
File system implementation
Disk management and storage
11 Input/output Systems:
Device management and I/O subsystems.
I/O scheduling.
Interrupts and DMA.
Buffering and caching.
12 Synchronization and Concurrency:
Critical sections and race conditions.
Semaphores and condition variables.
Deadlocks and deadlock prevention/avoidance.
Interposes communication (IPC).
13 Security and Protection:
Access control and authentication.
Security threats and vulnerabilities.
Security policies and mechanisms.
Encryption and authentication protocols.
Assignment 2
14 Distributed Operating Systems:
Distributed system architectures.
Distributed file systems.
Distributed process management.
Distributed synchronization and communication.
15 Quiz-2
16 Presentation
17 Revision
18 Final Term
Reference Materials:
Operating Systems Concepts, 9th edition by Abraham Silberschatz
Modern Operating Systems, 4th edition by Andrew S. Tanenbaum
Operating Systems, Internals and Design Principles, 9th edition by William Stallings
Course Code:
Title: Parallel and distributed computing
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
To learn about parallel and distributed computers.
To write portable programs for parallel or distributed
architectures using Message-Passing Interface (MPI) library
Objectives: To analytical modelling and performance of parallel
programs.
To analyze complex problems with shared memory
programming with openMP
Curriculum Contents:
Session Topics
NO
1 Asynchronous/synchronous computation/communication
2 Concurrency control, fault tolerance
3 GPU architecture and programming, heterogeneity
Assignment-1
4 interconnection topologies, load balancing
5 Memory consistency model
Assignment-2
6 Memory hierarchies, Message passing interface (MPI)
Quiz-1
7 MIMD/SIMD, multithreaded programming
Presentation-1
8 Revision
9 MID TERM
Course Code:
Title: Programming Fundamental
Credit Rating: 03
Level: BSCS
Delivery: Face To Face
Pre-requisites:
Pre-Reading
Material:
Core Text: None
Students have a solid grasp of programming fundamental
concepts, including the role of programming in solving
problems and its importance.
Students will develop a keen understanding of foundational
programming concepts in C++, encompassing data types,
control structures, functions, and classes. They will acquire
proficiency in implementing these fundamentals to create
efficient and functional programs, mastering essential skills
Objectives:
crucial for effective problem-solving and software
development in C++.
Students will become acquainted with various problem-
solving approaches to programming using C++. They'll
develop the skills to practically implement these strategies in
C++ to tackle practical, real-world programming tasks and
scenarios.
Curriculum Contents:
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
Session Topics
NO
1 Introduction
Introduction to problem-solving,
Flowchart, Pseudocode, Syntax and Semantics
A brief review of Von-Neumann architecture
2 Introduction to Programming
Overview and types of Programming Languages
Basics of Programming Logic using C++
Comments and Variables
Role of compiler and linker
3 Introduction to Algorithms
Algorithm Basics and Analysis
Algorithm Design Strategies
Course Code:
Title: Programming & Problem Solving
Credit Rating: 03
Level: MCS
Delivery: Face To Face
Pre-requisites: Programming Fundamentals
Pre-Reading Hands-on practice is crucial to reinforce your understanding of
Material: Python.
Core Text: None
To develop a solid understanding of Python as a programming
language.
To gain familiarity with Python syntax and basic
programming concepts.
To acquire problem-solving skills using Python.
Objectives:
To develop a solid foundation in Python programming, data
analysis, machine learning, and computer vision, equipping
them with essential skills for various domains and
empowering them to tackle complex real-world challenges.
Curriculum Contents:
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.
Session Topics
NO
1 Introduction to Python Programming
Introduction to Python as a programming language
Installation and setup of Python environment
Basics of Python syntax and variables
Introduction to problem-solving with Python
2 Data Types and Variables in Python
Numeric data types (integers, floats)
String data type and string manipulation
Boolean data type and logical operations
Variables and variable assignment
3 Data Structures in Python
Lists and list operations in Python
Tuples and tuple operations
Dictionaries and dictionary operations
Sets and set operations
Assignment 1
4 Control Flow and Loops in Python
Conditional statements (if, elif, else)
Iterative statements (for and while loops)
Loop control statements (break, continue)
5 Python Operators and Expressions
Arithmetic operators
Comparison operators
Logical operators
Assignment operators
6 Object-Oriented Programming in Python
Introduction to object-oriented programming concepts
Classes, objects, and methods in Python
Inheritance and polymorphism in Python
Quiz-1: Object-oriented programming concepts in Python
7 Modules and Libraries in Python
Importing and using built-in Python modules
Introduction to external libraries (NumPy, Pandas, Matplotlib, Seaborn)
Exploring NumPy for numerical computations
Introduction to Pandas for data manipulation
Assignment-2
8 Revision
9 MID TERM
Reference Materials:
Starting out with Python, 4th Edition, Tony Gaddis.
Starting out with Programming Logic & Degins, 4th Edition, Tony Gaddis,
The C Programming Language, 2nd Edition by Brian W. Kernighan, Dennis M.
Ritchie Object Oriented Programming in C++ by Robert Lafore
Introduction to Computation and Programming Using Python: With Application to
Understanding Data, 2nd Edition by Guttag, John
Practice of Computing Using Python, 3rd Edition by William Punch & Richard
Enbody
C How to Program, 7th Edition by Paul Deitel & Harvey Deitel
Problem Solving and Program Design in C++, 7th Edition by Jeri R. Hanly & Elliot B.
Koffman
Course Code:
Title: Research Workshop
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
To develop a thesis proposal.
Objectives: To develop skills of critical analysis through a process which
facilitates peer review of research proposals.
Curriculum Contents:
The course will introduce students to the essential knowledge needed in order to appreciate
the field of research, critically read research articles, prepare a research proposal and conduct
a small-scale inquiry.
Session Topics
NO
1 Introduction and interaction
Why do we conduct Research?
2 Introduction of research (Continue)
Introduction of different research based softwares.
Installation of different softwares and Preperation Research environment
3 Joy of Research ( Need and Attributes)
4 The research process and components of a research proposal P-I ( Research
Questions)
5 The research process and components of a research proposal P-II (Literature
Review)
6 The research process and components of a research proposal P-II (Literature
Review) Continue
7 Writing a Research Proposal (Chapter No 1)
8 Revision
9 MID TERM
Session Topics
NO
1 Introduction to Software Project Management
2 Project Management concepts, Project Management Tools
3 PMI Framework, PMI Process Groups. Understanding Organizations
Assignment-1
4 Project Planning, Project Evaluation
5 Selection to an Appropriate Approach in Project
Assignment-2
6 Software Effort Estimation
Quiz-1
7 Presentation-1
8 Revision
9 MID TERM
Course Code:
Title: Software Quality Engineering
Credit Rating: 3
Level: BS
Delivery: Face to face
Pre-requisites: None
Pre-Reading
Material:
Core Text: N/A
Define and comprehend fundamental concepts related to
software quality engineering.
Understand the principles of functional and non-functional
testing.
Objectives: Understand the benefits and challenges of test automation
Understand how to assess and improve the performance of
software applications.
Understand the importance of communication in the context of
software quality.
Develop the ability to analyze software requirements and identify potential areas of
improvement.
Enhance problem-solving skills by identifying and resolving defects in software.
Improve communication skills to convey testing results and collaborate with cross-
functional teams.
Develop the ability to adapt to evolving software development methodologies and
technologies.
Curriculum Contents:
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
Session Topics
NO
1 Software Quality
Software Quality Attributes
Quality Engineering
2 Testing
Concepts, Issues
And Techniques, Software testing lifecycle
Testing Scopes
3 Testing Approaches
Testing Concepts
Test Planning Process
Introduction to testing process
Requirement of software test planning
4 Testing documentation
Reporting and historical data recording
Software testing techniques
Testing philosophies
Assignment 1
5 Testing strategies
Model based testing
Software testing techniques
6 Testing using models
Domain and combinatorial testing
7 Unit and integration testing
Acceptance testing
8 Test automation, Slicing
Software reliability models and engineering,
9 MID TERM
10 Introduction
Exponential model
Reliability growth models
Modeling process
Software inspections
Software reviews, Inspection checks and metrics
11 Quality Models, Models for quality assessment
Product quality metrics, Quality Measurements
In-Process metrics for software testing
In-Process quality management
12 Effort/outcome models
System testing
Introduction to sub-system testing
From functional to system aspects of testing
13 Introduction to sub-system testing
From functional to system aspects of testing
System testing
Assignment 2
14 Introduction to system testing
Scenarios development
System testing
15 Use-cases for testing
Specification-based testing
Open issues on software testing
16 Presentation
17 Revision
18 Final Term
Reference Material
Paul Jorgensen, Software Testing, A Craftsman's Approach, 4th Ed. CRC Press,
Taylor and Francis Group, 2015
Bernard Homes, Fundamentals of Software Testing, ISTE, Wiley, 2012
Software Engineering, “Ian Sommerville, 9th Edition, Addison Wesley, 2011
Course Code:
Title: Software Engineering
Credit Rating: 3
Level: BS
Delivery: Face to face
Pre-requisites: None
Pre-Reading
Material:
Core Text: N/A
Demonstrate proficiency in one or more programming
languages. Write clean, maintainable, and efficient code.
Debug and troubleshoot software effectively.
Understand software design principles and patterns. Create
modular and scalable software architectures. Make informed
design decisions based on requirements and constraints.
Objectives: Design and manage databases effectively. Write efficient
database queries and transactions.
Comprehend the software development lifecycle, including
requirements gathering, design, implementation, testing,
deployment, and maintenance.
Manage software projects using agile or other project
management methodologies.
Curriculum Contents:
Introduction to Software Engineering, Software Processes, Software process models ,Process
activities , Coping with change , The rational unified process, SDLC(software development
life cycle), Phases ,System Planning, Preliminary Investigation, SWOT Analysis, Agile
software development, Agile methods ,Plan-driven and agile development ,Extreme
programming ,Agile project management ,Scaling agile methods , Requirements engineering,
Functional and non-functional requirements , The software requirements
document ,Requirements specification , Requirements engineering processes , Requirements
elicitation and analysis , Requirements validation , Requirements management, Architectural
design, Design and implementation, Software testing, Component-based software engineering,
Distributed software ,Project management ,Quality management, Embedded software.
Session Topics
NO
1 Introduction to Software Engineering
2 Software Processes
-Software process models
-Process activities
-Coping with change
-The rational unified process
3 SDLC(software development life cycle)
Phases
System Planning
Preliminary Investigation
SWOT Analysis
4 Agile software development
-Agile methods
-Plan-driven and agile development
-Extreme programming
-Agile project management
-Scaling agile methods
Assignment 1
5 Requirements engineering
-Functional and non-functional requirements
-The software requirements document
-Requirements specification
-Requirements engineering processes
-Requirements elicitation and analysis
-Requirements validation
-Requirements management
6 Architectural design
-Architectural design decisions
-Architectural views
-Architectural patterns
-Application architectures
7 Design and implementation
-Object-oriented design using the UML
-Design patterns
-Implementation issues
-Open source development
8 WebApps Interface Design
9 MID TERM
10 Software testing
-Development testing
-Test-driven development
-Release testing
-User testing
11 , Component-based software engineering
-Components and component models
-processes
-Component composition
12 Distributed software engineering
-Distributed systems issues
-Client–server computing
-Architectural patterns for distributed systems
-Software as a service
13 Project management
-Risk management
-Managing people
-Teamwork
Assignment 2
14 Quality management
-Software quality
-Software standards
-Reviews and inspections
-Software measurement and metrics
15 Embedded software
-Embedded systems design
-Architectural patterns
-Timing analysis
-Real-time operating systems
16 Presentation
17 Revision
18 Final Term
Reference Materials:
Introduction to Software Engineering" by Ronald J. Leach - A textbook that provides
an introduction to the fundamental concepts of software engineering, suitable for
beginners in the field.
Software Engineering: Modern Approaches" by Eric J. Braude - A comprehensive
textbook that covers software engineering principles, methodologies, and tools, with a
focus on modern approaches.
Course Code:
Title: System network and administrator
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
To understand the ethical issues of working as a Network
Administrator
To understand network security issues
To be familiar with common network operating systems
(NOSs) used by network servers
To understand directories, directories services, and their uses
in a network environment, particularly X.500, LDAP and
Objectives:
their derivatives
To design and implement a Novell Directory Services (NDS)
installation
To design and implement a Microsoft Active Directory (AD)
installation
To work as a basic Network Administrator with NDS
To work as a basic Network Administrator with AD
Curriculum Contents:
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).
Session Topics
NO
1 Introduction to System Administration
2 SA Components. Server Environment (Microsoft and Linux).
3 Reliable Products, Server Hardware Costing
Assignment-1
4 integer arithmetic, floating point
5 Maintenance Contracts and Spare Parts, Maintaining Data Integrity
Assignment-2
6 Client Server OS Configuration, Providing Remote Console Access
Quiz-1
7 Comparative Analysis of OS: Important Attributes, Key Features, Pros
and Cons
Presentation-1
8 Revision
9 MID TERM
Reference Materials:
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
Red Hat Enterprise Linux 6 Bible: Administering Enterprise Linux Systems by
William vonHagen, 2011
Studyguide for Practice of System and Network Administration by Thomas A.
Limoncelli, Cram101; 2nd Edition (2011). ISBN-10: 1428851755
Networking Systems Design and Development by Lee Chao, CRC Press; 1st Edition
(December 21, 2009). ISBN-10: 142009159X (TB2)
Course Code:
Title: System Programming
Credit Rating: 03
Level: BS
Delivery: Face To Face
Introduction to Programming
Pre-requisites: Computer Architecture and Assembly Language
Programming
Barry B. Bery, Intel Micro Processor, 6th Edition. Prentice-
Hall.
Pre-Reading V.J Mukee, Advanced DOS, 6th Edition. Prentice- Hall.
Material: Michael Tischer, Bruno Jennrich, PC Intern: The
Encyclopedia of System Programming, 6th Edition. Abacus
Software 1996.
Core Text: None
To familiarizes with the internal working of different
Objectives: components of PC and control them.
Session Topics
NO
1 Introduction, Technical Writing
2 Use of Appropriate Language: Formal English, Simple Terms, Direct Language,
Action verb
3 Create Text Flow: Coherent Paragraphs, Transitional Words, Sentence variety,
Acronyms and Initialisms
4 Use of Correct Grammar: Parallel Structure, Subject and Verbs, Capitalization,
That and Which
5 Punctuation: Comma, Colon, Semicolon, Quotation Marks etc.
6 Persuasive Communications: Pompous Vocabulary, Impact on audiences, Persuasive
not Argumentative
7 Presentation-1
8 Revision
9 MID TERM
Curriculum Contents:
Basic Mining concepts, Steps Text Mining Process, Text Pre-Processing, Text managing,
Introduction to python, Data types strings, Bagging vs Boosting. Bitcoin data mining, orange
data mining, data mining vs big data, Data Mining Model, Data mining vs. Data Science, Data
mining vs. Statistics, Data mining vs. Web Mining, Data mining vs, Data Analysis, Visual
and Audio data mining, Birch in data mining, Stemming, Feature Transformation, Data
Selection
Session Topics
NO
1 Introduction to Text Mining
Types of Text Mining
Challenges of Implementation
2 Steps Text Mining Process
Classifications of data
Types of data
3 Text Pre-Processing
Text managing
Assignment-1
4 Introduction to python
Data types
String
5 Bagging vs Boosting
Assignment-2
6 Bitcoin Data Mining
Orange Data Mining
Data Mining vs Big Data
Quiz-1
7 Presentation
8 Revision
9 MID TERM
Curriculum Contents:
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.
Session Topics
NO
1 Course Introduction + Fundamentals of Automata
Alphabets
String and words
Valid and invalid alphabets
2 Fundamentals of Automata + Recursive Definitions
Length of string
Reverse of string
Palindrome
3 Regular Expressions
Kleene Star closure
Plus operator
Equivalent Regular Expressions
Assignment-1
4 Languages associated with regular expressions
Regular languages
Equivalent Regular Expressions
Finite languages
5 Finite Automata and their languages
States (Initial & Final)
Transition
Equivalent FAs
Assignment-2
6 Transition graphs
Authentication
Device authorization
Two-Factor Authentication
Data Encryption
Quiz-1
7 Transition graphs & Presentation
8 Revision
9 MID TERM
10 Kleene’s theorem
Kleene’s Theorem Part I
Kleene’s Theorem Part II
Kleene’s Theorem Part III
11 Finite automata with output
Moore machine
Mealy machine
complementing machine
Incrementing machine
12 Decidability and Context free grammars
CFG terminologies
Trees
Polish Notation
Ambiguous CFG
Unambiguous Grammar
Regular Grammar
Chomsky Normal Form (CNF)
13 Pushdown automata
PUSHDOWN STACK or PUSHDOWN STORE
Non determinism
14 CFGs and PDA
Nondeterministic PDA
PDA corresponding to CFG
CFG corresponding to PDA
15 Turing machines
Quiz-2
16 Presentation
17 Revision
18 Final Term
Reference Materials:
“Introduction to Automata Theory, Languages, and Computation”, 3rd Edition, John
E. Hopcroft, Jeffery D. Ullman and Rajeev Motwani, Pearson Education 2013.
“Automata, Computability and Complexity, Theory and Applications”, Elaine A.
Rich, 2013.
“Introduction to Computer Theory”, 2nd Edition, Daniel I. A. Cohen.
“A Textbook on Automata Theory”, Nasir S.F.B and P.K. Srimani.
Course Code:
Title: Virtual System and services
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: Virtualization, Hypervisor, Virtual Machine.
Pre-Reading
Slides
Material:
Core Text: None
To fundamental Virtualization and paravirtualization
concepts
To be familiar with Virtual Machines;
Objectives:
To be familiar with Hypervisor and its types;
To use of virtualization in cloud computing.
Curriculum Contents:
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.
Session Topics
NO
1 Introduction
Basics of virtualization, benefits of virtualization
2 Hardware virtualization layers, components of hyper V.
3 Server virtualization, understanding the hyper V architecture
Assignment-1
4 key benefits of using hyper V, working with Hyper V
5 Virtual Machine, the PVM resource manager interface
Assignment-2
6 Server Virtualization and Networking, Hypervisor and its types
Quiz-1
7 Hyper V3, VMware, Xen hypervisor
Presentation-1
8 Revision
9 MID TERM
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
Course Code:
Title: Web Engineering
Credit Rating: 03
Level: BS
Delivery: Face To Face
Pre-requisites: None
Pre-Reading
Slides
Material:
Core Text: None
To provide a comprehensive understanding of web development.
To hands-on experience, aim should be to give students hands-on
experience in developing web applications.
Objectives: To foster problem-solving skills should be to foster problem-
solving skills in the students.
To keep up-to-date with the latest trends.
Curriculum Contents:
Overview of the web development landscape, history of the web, and the role of web applications in
modern society. Front-end development: Introduction to HTML, CSS, and JavaScript, and how to
use these technologies to create responsive and dynamic user interfaces.
Back-end development: Introduction to server-side scripting languages like PHP. How to use
databases like MySQL to store and retrieve data.
Session Topics
NO
1 Introduction to Web Application Development
WWW, HTTP, Hyperlink, URL ,Web Site, Web Page ,Web Brower’s
Discuss the importance of HTML in web development
what HTML stands for and what it is used for
Discuss the structure of an HTML
Introduce the concept of tags and attributes
2 How to link between pages of your site (internal links)
How to link to other sites (external)
How to structure the folders on your web site
Internal document references
Link attributes
Other Type of links
3 Creating tables in HTML
Table attributes
o Table level attributes
o Row level attributes
o Cell level attributes
Page lay-out using tables
4 Creating forms in HTML
Adding form elements
HTML5 added the following attributes for <input>:
the following attributes for <form>:
autocomplete
novalidate
5 HTML5 enhancements in form
XHTML
New attributes to existing form elements
New form elements in HTML5
XHTML is the strict form of HTML
6 Introduction to CSS (Cascading Style Sheets)
Versions of CSS
Advantages/Disadvantages of CSS
CSS writing option External style sheet , Internal style sheet ,Inline style
CSS rules
Id,s and Classes
7 Controlling text with CSS
Styling links ,Styling tables , Styling tables
Revisions and Presentations
8 Revision
9 MID TERM
10 Introduction to JavaScript
Embedding JavaScript with HTML
Variables in JavaScript
JavaScript operators
JavaScript functions
Looping Statements
11 Dialog boxes in JavaScript
HTML DOM Elements
Finding HTML Elements
Find an element by element
Find elements by tag
Find elements by class name
12 PHP overview
What Can PHP Do?
PHP constants
PHP variables
PHP Strings
PHP is a Loosely Typed Language
Basic PHP Syntax
13 Operators in PHP
Conditional Statements in PHP
Looping Statements
Arrays in PHP
14 Database Connective
Intro to MySQL
Creating database in MySQL using XAMMP
Connecting PHP with MySQL
Inserting data in database
15 Introduction to WordPress
Overview of WordPress as a content management system
Setting up a local development environment
Installing WordPress and configuring basic setting
16 Revisions and Presentations
17 Revision
18 Final Term