Gi Ki Course Outlines
Gi Ki Course Outlines
Pre-Requisite: CS424
Instructor: Adeel Pervez
Office # G-07 FCSE, GIK Institute, Ext. 2504
Email: adeel@giki.edu.pk
Office Hours: 11:00am ~ 12:00 pm
Lab Introduction
This course provides practical experience with compiler construction and instructs in the use of common tools for lexical analysis, parsing
and translation.
Lab Contents
1. Lexical Analysis (2 weeks)
Regular Expressions, NFA’s, DFA’s, Lexer Construction
2. Syntax Analysis (4 weeks)
Top-down and Bottom-up Parsing, Grammar Classes: LL, LR, LALR.
3. Syntax Directed Translation (3 weeks)
Syntax Directed Definitions and Translation Schemes, Semantic Analysis
4. Intermediate Code Generation (3 weeks)
Mapping of CLOs and PLOs
Taxonomy level (Psychomotor Domain)
Sr. No Course Learning Outcomes+ PLOs*
P3
CLO1 Build lexical analyzers using regular expressions PLO 1
CLO 2 P3
PLO 3
Build parsers using top-down and bottom-up methods.
P4
CLO 3 Build translators for basic programming languages. PLO 3
+
Please add the prefix “Upon successful completion of this course, the student will be able to”
*
PLOs are for BS (CE) only
Administrative Instruction
▪ According to institute policy, 100% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Course Introduction
This course covers database design and the use of databases in real-world settings, with an introduction to the internals of relational
database engines. It includes extensive coverage of the relational model, relational algebra, and SQL. The course also features database
design and relational design principles based on dependencies and normal forms. Many additional key database topics from the design and
application-building perspective are also covered, including indexes, views, transactions, and integrity constraints. There will be a
programming project in the course, which explores database design and management in platform of the student’s choice
(Web/Desktop/Mobile) by utilizing appropriate features of SQL.
Course Contents
The course will cover:
1. Basic Database Terminologies and Concepts
2. Entity-Relationship Model (ER and EER)
3. Relational Data Model
4. Basic Structured Query Language
5. Normalization
6. Query Optimization techniques
7. Transaction Processing Concepts
8. Concurrency Control Techniques
Reference books:
• Silberschatz, A., Korth, H. and Sudarhshan., S: “Database System Concepts”, 6th Edition, McGraw-Hill Education, New York
(2010).
• Date, C,J.: "An Introduction to Database Systems", 8th Edition, Pearson, Boston (2010)
Administrative Instruction
▪ According to institute policy, 100% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Lab Introduction
This lab enables the students to practice the concepts learnt in the course by developing a database for any given problem. The students
will practice the designing and querying a database in the context of examples given as a lab task. Students will learn to create databases
and to update them for the required functionality. Oracle 11g will be used as a DBMS for the lab practice. Students will practice
implementing queries that may be needed in many database applications.
Lab Contents
Broadly, this lab will cover following contents:
1. Overview of features of SQL
2. Basic Data Retrieval Operations in SQL
3. Single and Multi-Row functions
4. Data Manipulation Operations of SQL
5. Creating and Managing Tables, Views, Indexes and Sequences
6. Basic Features of PL/SQL Programming
7. Managing Profiles and controlling user access.
8. Database connectivity with a programming language..
Mapping of CLOs and PLOs
Taxonomy level ( Psychomotor Domain)
Sr. No Course Learning Outcomes+ PLOs*
Design an efficient relational model; apply the
normalization techniques for development of P4
CLO 1 PLO5
application software to realistic problems using modern
DBMS.
Install, configure, and interact with a relational database
management system and apply the major components of P3
CLO 2 PLO3
the relational database model SQL DML/DDL/DCL
commands.
Implement a relational database system, using one or P3
CLO 3 PLO 3
more programming languages.
+
Please add the prefix “Upon successful completion of this course, the student will be able to”
*
PLOs are for BS (CE) only
Administrative Instruction
▪ According to institute policy, 100% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Course Introduction
As a second course on programming, the emphasis would be that students should be able to write a program of reasonable size and
complexity. Devising a solution to a problem will be encouraged and converting a design into a computer program would be stressed
including the software reuse. The primary aspect of the course is to introduce students with the object-oriented programming skills. This
course will provide in-depth coverage of object-oriented programming principles and techniques using C++. Topics include classes,
overloading, data abstraction, information hiding, encapsulation, inheritance, polymorphism, file processing, templates, exceptions,
container classes, and low-level language features.
Course Contents
Broadly, this course will cover following: Introduction to Classes and Objects, Control Structures, Methods, Arrays, Pointers, Classes
Inheritance, Polymorphism, Templates, Exceptions, Files, STL, and Operator Overloading.
Administrative Instruction
▪ According to institute policy, 100% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned on the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly observe the office hours to avoid any inconvenience.
Week 2
Recursion, Preprocessing in C++
Week 3
Bit Manipulation, Strings, Pointers
Week 4
Reference and Dynamic memory allocation
Week 5
Function Pointers, ADTs and C++ Classes-I
Week 6
C++ Classes-II Constructor, Destructor, Copy Constructor
Week 7
Inheritance, Virtual Functions and Polymorphism
Week 8
Operator Overloading, Function and class templates
Week 9
Exception Handling
Week 10
I/O Streams and File Handling
Week 11
Graphics
Week 12
GUI Programming
Week 13
Introduction to Standard Template Library (STL)
Week 14
Project and case studies
Week 15
STL
CS121 – Fundamentals of Computer Sciences (3 CH) CS
Pre-Requisite: N/A
Instructor: Ms. Laila Khalid
Office # F-08 FCSE, GIK Institute, Ext. 2763
Email: laila.khalid@giki.edu.pk
Office Hours: 11:00am ~ 12:00 pm
Course Introduction
After completing this course students should have a strong breadth-wise knowledge about diverse aspects of system and application
domains of computer science. Ranging from topics of Gates and circuits to Operating systems, Databases to Networks and its Security
constraints and the Final Project Showcasing in HTML5 with Applets and servlets embedded codes, students will get a diversified
knowledge by this fundamental course. Students will be able to showcase their CV in digital format
Course Contents
Broad and thorough exploration of computer systems within a computer science context will be taught to the students. Referring to the
book, students will adhere with various layers namely information layer catering binary representations and data representations,
hardware layer catering circuits and gates, programming layers catering high and low level languages and computer networks catering
communications, network configurations and security. Introduction of following subjects:
Operating System Concepts, Data Structures, Database Introduction, DLD, HTML5, Computer Networks, WWW & Security
Mapping of CLOs and PLOs
Bloom’s Taxonomy level (Cognitive domain)
Sr. No Course Learning Outcomes+ PLOs*
Familiarize students with prominent topics related to C1
CLO 1 computer science and utilize the tactics related to PLO 1
various computer science aspects.
Understand the incorporation of various subjects and
PLO 1
CLO 2 their background related with respect to computer
C2
sciences field.
Analyzing the need for various software’s and Be able
C4
CLO 3 to Implement HTML5 and embed java servlets and PLO 1
applets to enhance their web skills
+
Please add the prefix “Upon successful completion of this course, the student will be able to”
*
PLOs are for BS (CE) only
Administrative Instruction
▪ According to institute policy, 100% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Week 4 • Individual Computer Components, Stored-Program Concept, von Neumann Architecture, The Fetch-
Execute Cycle, RAM and ROM, Secondary Storage Devices, Non-von Neumann Architectures
Week 5 • Problem Solving, How to Solve Problems, Computer Problem-Solving, Following an Algorithm,
Developing an Algorithm, Top-Down Design, A General Example, A Computer Example, Summary
of Methodology, Testing the Algorithm, Object-Oriented Design, Object Orientation, Relationships
between Classes, Object-Oriented Design Methodology, General Example, Computer Example,
Important Threads, Information Hiding, Abstraction, Naming Things, Programming Languages,
Testing
Week 8 • Abstract Data Types and Algorithms, Abstract Data Types, Implementation, Array-Based
Implementations, Linked Implementation, Lists, Basic List Operations, Additional List Operations,
Sorting, Programming Libraries
Week 9 • Operating Systems, Roles of an Operating System, Memory, Process, and CPU Management, Batch
Processing, Timesharing, Other OS Factors, Memory Management, Single Contiguous Memory
Management, Partition Memory Management, Paged Memory Management, Process Management,
The Process States , The Process Control Block, CPU Scheduling, First-Come, First-Served, Shortest
Job Next, Round Robin
Week 10 • File Systems and Directories, File Systems, Text and Binary Files, File Types, File Operations, File
Access, File Protection, Directories, Directory Trees, Path Names, Disk Scheduling, First-Come,
First-Served Disk Scheduling, Shortest-Seek-Time-First Disk Scheduling, SCAN Disk Scheduling
Week 14 • Networks, Networking, Types of Networks, Internet Connections, Packet Switching, Open Systems
and Protocols, Open Systems, Network Protocols, TCP/IP, High-Level Protocols, MIME Types,
Firewalls, Network Addresses, Domain Name System Implementation of Hashing techniques
Week 15 • The World Wide Web, Spinning the Web, HTML, Basic HTML Formatting, Images and Links,
Interactive Web Pages, Java Applets, Java Server Pages, XML
CS 224 Formal Languages and Automata Theory (3 CH) CS
Pre-Requisite:
Instructor: Adeel Pervez
Office # G-11 FCSE, GIK Institute, Ext. 2504
Email: adeel@giki.edu.pk
Office Hours: 11:30 ~ 12:30 (Wed, Thu)
Course Introduction
Automata theory is the study of abstract computational devices. The objective of this course is to understand the power and
limitations of such devices. We will study various models including finite automata, grammars, pushdown automata, and
Turing machines. We end with an introduction to computational complexity theory.
Course Contents
1. Finite State Machines
2. Regular Languages
3. Context Free Grammars
4. Turing Machines
5. Decidability
6. Complexity Theory
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Lecture Breakdown
# Topic
1 Introduction
2 Definitions and Basics
3 Finite Automata Examples
4 Formal Definition of FA
5 Computation by FA
6 Designing FA
7 Regular Languages, Examples
8 Non-determinism
9 Examples of NFAs
10 Equivalence of NFA and DFA
11 Closure under Regular Operators
12 Closure under Regular Operators
13 Regular Expressions
14 Examples of Regular Expressions
15 Equivalence with Finite Automata
16 Equivalence with Finite Automata
17 Equivalence with Finite Automata
18 Pumping Lemma
19 Pumping Lemma
20 Proof of the Pumping Lemma
21 Application of Pumping Lemma
22 Application of Pumping Lemma
23 Review
24 Review
25 Context Free Grammars
26 Formal Definition and Examples
27 More Examples of CFG's
28 Parse Trees and Ambiguity
29 Conversion of DFA to CFG
30 Pushdown Automata
31 Definition and Examples
32 Designing PDA's
33 PDA CFG Equivalence
34 PDA CFG Equivalence
35 Non-Context Free Grammars
36 Pumping Lemma
37 Turing Machines
38 Church-Turing Thesis
39 Turing Machine Variants
40 Undecidability
41 Reducibility
42 Reducibility
43 Time Complexity
44 Time Complexity
45 P v. NP
CS324 Computer Architecture (3 CH) CS
Pre-Requisite: CS222
Instructor: Dr. Ghulam Abbas
Office # G-11, FCSE, GIK Institute, Ext. 2739
Email: abbasg@giki.edu.pk
Office Hours: 10:00am ~ 12:30 pm
Course Introduction
The course aims to provide students with a fundamental knowledge of computer architecture with emphasis on how to design and analyze
computer systems for improved performance, availability and dependability, and reduced cost and energy consumption. The course focuses
on parallelism at various levels, working knowledge of various subsystems, fundamentals of key technologies, and principles and
techniques to measure, evaluate, report and improve performance of processors and memory subsystems.
Course Contents
Broadly, this course will cover the following contents: fundamentals of computer design, instruction-level parallelism, data-level
parallelism, multiprocessors, thread-level parallelism and memory performance.
Administrative Instruction
▪ According to the Institute’s policy, 80% attendance is mandatory to appear in the final examination.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Lecture Breakdown
Week 1 • Fundamentals of computer design
o Technological improvements
o Classes of computers
o Trends in technology and performance
Week 2 • Fundamentals of computer design
o Trends in power and energy in Integrated Circuits
o Trends in costs.
Week 3 • Fundamentals of computer design
o Availability and dependability
o Performance metrics
o Measuring and reporting performance
o Performance benchmarks
o Quantitative principles of design
Week 4 • Instruction-level parallelism
o CPU performance equations
o Pipelining, space-time diagram
o Pipelining equations
o Pipelining analogy and basics instruction pipelines.
Week 5 • Instruction-level parallelism
o Pipeline speedup
o Theoretical and practical speedup
o Basic performance issues
o Pipelining implementation
o Pipelining issues and hazards
o Exception handling
Week 6 • Instruction-level parallelism:
o RISC pipeline
o Advanced ILP
o Challenges in ILP
Week 7 • Data-level parallelism
o SIMD array processors
o Vector processors
o Arithmetic pipelines
o Branch prediction
o Exception handling
o Overcoming data hazards with dynamic scheduling
o Floating-point arithmetic pipelines
Week 8 • Multiprocessors & thread-level parallelism
o MIMD architectures
o Multicomputers
o Multiprocessors
Week 9 • Multiprocessors & thread-level parallelism
o Creating parallel processing programs
o Multiprocessors speedup challenge
o Shared memory multiprocessors
o Clusters and other message-passing multiprocessors
Week 10 • Multiprocessors & thread-level parallelism
o Multithreading
o Thread-level parallelism
o Symmetric shared memory architectures and performance
Week 11 • Multiprocessors & thread-level parallelism
o Multiprocessor network structures
o Inter-processor arbitration
o Inter-processor communication and synchronization
Week 12 • Memory performance
o Principle of locality
o Memory hierarchy design
o Performance issues and improvements
Week 13 • Memory performance
o Cache design and organization
o Direct mapped cache
o Accessing direct mapped cache
Week 14 • Memory performance
o Measuring cache performance
o Improving cache performance
o Main memory
o Performance issues of main memory
o Distributed shared memory
o Designing and evaluating I/O systems
Week 15 • Memory performance
o Disk storage
o Flash storage
o Design parameters of storage systems
o Virtual memory
o Memory optimization
o Models of memory consistency
CS351 Artificial Intelligence (3 CH) CS
Pre-Requisite: CS221
Instructor: Dr. Sajid Anwar
Office # G-17 FCSE, GIK Institute, Ext. 2283
Email: sajid@giki.edu.pk
Office Hours: 08:30am ~ 11:30 am (Monday-Wednesday) and 02:00 pm ~ 03:30 pm (Monday-Friday)
Course Introduction
This course aims to enable the students to understand and build intelligent machines with primarily two approaches: thinking and acting
humanly, thinking and acting rationally. The first approach learns from data while the second one depends on rationality. Consider the
decision making of a machine in the Chess game. Intelligence may be learnt from the data of world champions leading to human like
cognitive decision making. In the second approach, a machine may evaluate several future moves and select the most likely one. The
ultimate goal of both approaches is to make a computer that can learn, plan, and solve problems autonomously. In this course, we will
cover a range of topics from finding solutions via searching, heuristics, genetic algorithms, basic to deep neural networks, convolutional
and recurrent network structures, generative adversarial networks, unsupervised learning (k-means and k-medoids), and applications to
problem domains like speech recognition and computer vision. Prerequisites: a strong mathematical background in mathematics and
programming in Python, Matlab, and C/C++. There will be assignments and a term project.
Course Contents
9. Overview and Basics of Artificial Intelligence:
Introduction of problem representation, the decision making problem, algorithms and heuristics, etc.: The search space problem,
global search space, goal finding, object functions, Heuristics for search space such as Best first search, local search, Hill-
climbing search, etc. : What are heuristics, determining cost functions, Best First Search, Uniform Cost Search, A* algorithm,
shortest path finding, etc.
10. Game Heuristics:
Adversarial searching techniques, two player games, fitness functions, min-max tree searching, alpha-beta pruning.
11. Solving optimization problems:
Introduction to optimization algorithms, Population generation, fitness criteria, cross-over and mutation, using genetic
algorithms for optimization problems, etc.
12. Learning 1 (Unsupervised):
Cluster analysis, clustering techniques including k-means, k-medoids, cobweb etc.
13. Learning 2 (Supervised):
Introduction to Multi-Layered Perceptron, hidden layers for non-linear separation, gradient descent algorithm, back-propagation
and error correction, deep neural networks, convolutional neural networks, generative adversarial networks, data augmentation,
batch normalization etc.
14. Miscellaneous:
Bayesian Learning, posterior and likelihood estimation, sequential importance resampling, object tracking with particle
filtering, decision trees and random forest
Administrative Instruction
▪ According to institute’s policy, the minimum attendance must be greater than 80% for appearing in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
▪ Your assignments will be checked for plagiarism (including from peers or the internet)
▪ Your project will be a team-work but you will be graded individually based on your contribution and/or understanding
Computer Usage
▪ Students are free to use any programming language (Matlab/Python etc.) of their choice.
Lecture Breakdown
▪ Lecture 01. Introduction to AI, Thinking and Acting Humanly/Rationally
▪ Lecture 02. Optimization Problems
▪ Lecture 03. Intelligent Agents (Simple & Model Based Reflex Agents)
▪ Lecture 04. Intelligent Agents (Goal Based & Utility Based Agents)
▪ Lecture 05. Intelligent Agents (Learning Agents)
▪ Lecture 06. State Space Search - I
▪ Lecture 07. State Space Search – II (Example)
▪ Lecture 08-09. Un-Informed Search
▪ Lecture 10-11. Informed Search
▪ Lecture 12-13. Adversarial Search, A* algorithm
▪ Lecture 14. Min-Max Algorithms
▪ Lecture 15. Alpha Beta Pruning
▪ Lecture 16-17. Simulated Annealing
▪ Lecture 18-19. Hidden Markov Models
▪ Lecture 20. Supervised Learning, Classification, Regression
▪ Lecture 21. Overfitting, Underfitting, Occam Razor
▪ Lecture 22. ANN Activation Functions (ReLU, Sigmoid, Tanh, and comparison)
▪ Lecture 23. Vanishing Gradient Problem (Learning in the frontal and rear layers)
▪ Lecture 24. Experiments on ANN: Iris Recognition, Gesture Recognition
▪ Lecture 25. Random Number Generators, Data Shuffling, Random Initialization, Xavier Initialization
▪ Lecture 26. Convergence of Network Training (Validation Checks, Learning Rate Decay etc.)
▪ Lecture 27. Gradient Descent Optimization
▪ Lecture 28. Data Augmentation
▪ Lecture 29. Convolutional Neural Networks, (Convolution and Pooling)
▪ Lecture 30. Convolution Unrolling, Memory Usage (Examples)
▪ Lecture 31. Generative Adversarial Networks (GANs)
▪ Lecture 32. Discussions on Term Projects-I
▪ Lecture 33. How to Find Relevant Research Papers and Reproduce their results
▪ Lecture 34. Unsupervised Learning, k-means clustering
▪ Lecture 35. k-medoids clustering
▪ Lecture 36. Cobweb algorithm
▪ Lecture 37. Genetic Algorithm-I
▪ Lecture 38. Genetic Algorithm-II
▪ Lecture 39. Sequential Importance Resampling
▪ Lecture 40-41. Decision Trees and Random Forest
▪ Lecture 42. Bayes Theorem and Particle Filtering
▪ Lecture 43-45. Demos/Presentation/Evaluation/LATEX Report of Term Projects-I
CS351L Artificial Intelligence Lab (1 CH) CS
Pre-Requisite: CS221
Instructor: Dr. Sajid Anwar (TA: Engr. Syed Arsalan)
Office # G-29 FCSE, GIK Institute, Ext. 2227
Email: sajid@giki.edu.pk, syed.arsalan@giki.edu.pk
Office Hours: 09:00am ~ 12:30 am (Monday-Tuesday) and 02:00 pm ~ 04:30 pm (Thursday-Friday)
Course Introduction
This course introduces strategies, methods and algorithms for solving problems that requires decision making on part of the computer.
Further, different implementation techniques in automated reasoning, data and knowledge representation, search techniques, planning and
learning techniques are practiced.
Course Contents
Broadly, this lab will cover following contents:
1- Introduction to Prolog, matching and proof searching, recursive definition, Prolog lists etc.
2- Introduction to Multi-Layered Perceptron, hidden layers for non-linear separation and back propagation algorithm.
3- Implementation of neural networks in Matlab with and without NNT.
4- Introduction to optimization algorithms, Population generation, fitness criteria, cross-over and mutation, using genetic
algorithms for optimization problems, etc.
5- Introduction to WEKA, classification and clustering.
6- Invited sessions on Tensor Flow
P3 (Guided Response)
CLO 1 Use the fundamentals and basic concepts of Prolog PLO 1
P3 (Guided Response)
CLO 2 Apply concepts of neural network and implement it using Matlab PLO 3
+
Please add the prefix “Upon successful completion of this lab, the student will be able to”
*
PLOs are for BS (CE) only
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Attendance is mandatory for students in all the labs. If a student is absent from a lab due to any reason, he/she will have to get
written permission of the Dean to perform that lab. The Dean will allow students to perform lab if he feels that the student has a
genuine excuse.
▪ Students should bring their text books to the lab, so that they can refer to theory and diagrams whenever required. `
▪ Labs will be graded in double entry fashion; one entry in the assessment sheet given at the end of every lab and another entry in
the instructor’s record. This system of keeping records will keep students aware of their performance throughout the lab.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Lecture Breakdown
Lab 1 • Introduction to Prolog, Basic concepts
• Structures of Prolog programs, syntax, facts, rules and queries
Lab 2 • Matching and proof searching in prolog
Lab 3 • Recursive definition
• Clause ordering and Goal ordering in prolog
Lab 4 • Lists in prolog
• Recursing down list
Lab 5 • Arithmetic in prolog
• Arithmetic and lists
• Comparing integers
Lab 6 • Append in prolog
• Reversing list
Lab 7 • Introduction to MATLAB
• Creating script files and introducing variables, arrays, loops, if – else, functions
Lab 8 • Neural Networks implementation in Matlab using neural network toolbox
Lab 9 • Neural Networks implementation in Matlab without using NNT
Lab 10 • Back Propagation Algorithm implementation in Matlab
• Problems with backpropagation
Lab 11 • Genetic Algorithm
• Fitness function, initial population
• Crossover and Mutation
Lab 12 • WEKA: Introduction, classification and clustering
Course Introduction
The aim of this course is to expose students to the basic principles and tools used to process images, and to apply them in solving practical
problems of commercial and scientific interests. In this course, students will learn the theory behind fundamental processing tasks including
image enhancement, recovery, and compression. They will also learn to perform these key processing tasks using state-of-the-art
techniques and tools in the spatial and frequency domains.
Course Contents
Image processing basically includes the following three steps and the course contents are designed in relevance to the below mentioned
steps:
▪ Importing the image via image acquisition tools.
▪ Analyzing and manipulating the image.
▪ Output in which result can be altered image or report that is based on image analysis.
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Lecture Breakdown
The topics to be covered are:
Week 1
▪ Digital image fundamentals:
Representation
Sampling and quantization.
Image sensing and acquisition
Imaging geometry
Visual perception
EM spectrums
Basic relationships between pixels (neighbors, adjacency, connectivity, regions and boundaries, distance
measures, image operations on a pixel basis)
Filtering
Differentiation
Week 2
▪ Image transformations: Grey level transformations.
Week 3 & 4
▪ Image enhancement in spatial domain
Week 5 & 6
▪ Image enhancement in frequency domain
Week 7
▪ Image transformations:
Image smoothing and sharpening
Grey level transformations.
Week 8
▪ Image transformations: Histogram equalization.
Week 9
▪ Mid Exams
Week 10
▪ Image transformations: Geometric transformations.
Week 11 & 12
▪ Morphological operation
Erode and dilate as max and min operators on binary images.
Open, close, thinning, thickening and other transforms.
Medial axis transform.
Introduction to grey-level morphology.
Boundary Extraction
Convex Hull
Skeletonizing
Pruning
Week 13
▪ Image Segmentation
Detection of discontinuities,
Region-oriented segmentation
Thresholding and thresholding algorithms.
Connected components labeling.
Week 14
▪ Feature Detection and Matching
Points and patches (features detectors, feature descriptors, feature matching, feature tracking)
Edge detection and edge linking, edge editing and enhancement
Lines (Hough Transform and etc.)
▪ Canny Edge Detector
Week 15
▪ Bio-Medical Applications in Applied Image Processing
▪ Presentations
CS421 Human Computer Interaction (3 CH) CS
Pre-Requisite : CS325
Instructor : Dr. Asif Khan
Email : asifkhan@giki.edu.pk
Office: FCSE G13
Visiting Hours:
Tue: 11:30 – 13:00
Wed: 08:30 – 10:30
Course Introduction
This course is concerned with designing the interaction between users and computers. The interaction between
users and computers occurs at an interface which includes both software and hardware. Interface design impacts
the software life-cycle in that it should occur early; the design and implementation of core functionality can
influence the user interface. Because it deals with people as well as computers, the HCI draws on a variety of
disciplinary traditions including psychology, computer science, product design, anthropology and engineering.
A basic goal of this course is to improve the interactions between users and computers by making digital system
more usable and receptive to the user's needs. The objectives of the HCI course are to enable students to: understand
what HCI is and why it is important; understand usability; and carry out a complete user-centered design process.
Course Contents
The human, The computer, The interaction, Paradigms, Interaction design basics
HCI in the software process, Design rules, Implementation support, Cognitive models, groupware, ubiquitous
computing, hypertext, multimedia and www.
Course Introduction
The objective of this lab is to provide a strong foundation in Linux Operating System’s technology and practice.
The course aims to groom students with well-informed knowledge of Linux Commands and File Structure, and to
give students a good formal foundation on shell scripting.
Course Learning Outcome: At the end of this course, students will be able to give rights to files, directories and
understand shell scripting.
Lab Contents
Installing a flavor of Linux, understand the file structure of Linux, different commands, permission to file and
directory.
Understanding the Scripting, Looping, Case structure, Array and function in scripting.
+
Please add the prefix “Upon successful completion of this course, the student will be able to”
*
PLOs are for BS (CE) only
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Attendance is mandatory for students in all the labs. If a student is absent from a lab due to any reason,
he/she will have to get written permission of the Dean to perform that lab. The Dean will allow students to
perform lab if he feels that the student has a genuine excuse.
▪ Students should bring their text books to the lab, so that they can refer to theory and diagrams whenever
required. `
▪ Labs will be graded in double entry fashion; one entry in the assessment sheet given at the end of every lab
and another entry in the instructor’s record. This system of keeping records will keep students aware of their
performance throughout the lab.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Computer Usage
▪ Most of the tasks/assignments must be solved through computers using Linux.
Lab Breakdown
▪ Lab 06. Background / Foreground Execution, Wild cards and Arithmetic in Linux
o Background / Foreground Processing
o Wilde Cards
o Doing Arithmetic in Linux
o expr and bc commands
Course Introduction
An Operating System manages all of the computer's resources and presents users with a virtual view of machines that are easier to manage
and program as compared to the underlying hardware. This course provides an overview of fundamental operating system principles,
complemented with discussions of services provided by modern systems. The course shall provide a good grasp of basic abstractions
employed in system-level software (e.g., processes, threads, virtual memory, caching, etc.) to uncover the "magic" that happens inside the
box (computer).
Course Contents
Computer System Overview
Operating System Overview
Process Description & Control
Threads
Concurrency
Mutual Exclusion and Synchronization
Deadlock and Starvation
Memory Management
Virtual Memory
C1 (Remember)
and
Identify the theory underlying operating systems and PLO 1
CLO_1 C2 (Understand)
the implications of different designs.
Reference books:
William Stallings "Operating Systems: Internals & Design Principles", 9th Ed., Prentice Hall
A. S. Tanenbaum and A. S. Woodhull “Modern Operating Systems”, 4th Ed., Prentice Hall
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours to avoid inconvenience.
Computer Usage
▪ Students are to solve assigned homework problems using available software over computing platforms as mentioned during the
course.
Lecture Breakdown
1. Course overview, Course objectives & Grading scheme
2. Basic Elements, Evolution of the Microprocessor
3. Instruction Execution
4. Interrupts
5. Interrupts and the Instruction Cycle
6. Interrupt Processing, Multiple Interrupts
7. The Memory Hierarchy
8. Cache Memory, Direct Memory Access
9. Multiprocessor and Multicore Organization
10. Operating System Objectives and Functions
11. The Evolution of Operating Systems
12. Major Achievements
13. Developments Leading to Modern Operating Systems
14. Virtual Machines
15. Virtual Machine Architectures
16. OS Design Considerations for Multiprocessor and Multicore
17. What Is a Process?
18. Process States
19. Process Description
20. Process Control
21. Execution of the Operating System
22. Processes and Threads
23. Types of Threads
24. Multicore and Multithreading
25. Principles of Concurrency
26. Mutual Exclusion
27. Hardware Support
28. Semaphores
29. Producer/Consumer Problem
30. Message Passing
31. Readers/Writers Problem
32. Principles of Deadlock
33. Deadlock Prevention
34. Deadlock Avoidance
35. Deadlock Detection
36. An Integrated Deadlock Strategy
37. Dining Philosophers Problem
38. Memory Management Requirements
39. Memory Partitioning
40. Paging, Segmentation
41. Virtual Memory
42. Hardware and Control Structures for Virtual Memory
43. Fetch Policy,Placement Policy
44. Replacement Policy,Resident Set Management
45. Cleaning Policy, Load Control
CE313L Computer Communication and Networking Lab (1 CH) CS/CE
Pre-Requisite: None
Instructor: Engr. Iffat Maab (TA: Engr. Madiha Tahir)
Office: G-35 FCSE, GIK Institute, Ext. 2549
Email: madiha.tahir@giki.edu.pk
Office Hours: 10:00am ~ 01:00 pm
Course Introduction
The objective of this lab is to provide a foundation of fundamentals of Computer Communication and Networking
accompanied with a comprehensive hands-on approach in Wireshark and Packet Tracer. The students will be able to create
variety of networks, ranging from switch and router configuration to application and transport layer protocols. IP addressing
and subnetting will also reinforce the concepts of networking.
Lab Contents
• Introduction to Wireshark
• Introduction to Packet tracer and Basic Switch Configuration
• Switch Security and DHCP, DNS, FTP and http
• Basic VLAN Configuration
• Inter-Vlan Routing
• Configuration of Virtual Private Network
• Connecting Two or More Routers Together
• Routing Information Protocol v2
• IP Addressing and Subnetting
• Enhanced Interior Gateway Routing Protocol (EIGRP)
• Configuring NAT (Network Address Translation)
• Cable Modem, DSL, Cloud Configuration and Open ended lab
Mapping of CLOs and PLOs
Course Learning Outcomes PLOs
Taxonomy level ( Psychomotor Domain)
Sr. No Upon successful completion of this course, the PLOs are for BS
student will be able to: (CE) only
Efficiently identify underlying features of
CLO_1 P3 (Guided Response)
networking and be able to analyze solutions of PLO 2
network’s related security and reliability.
CLO_2 Efficiently apply solutions to practical problems of PLO 5 P3 (Guided Response)
networking.
CLO Assessment Mechanism
Assessment Items CLO1 CLO2
Lab Performance 50% -
Midterm 50% -
PBL - 10%
Final - 90%
Overall Grading Policy
Assessment Items Percentage
Lab Performance 30%
Midterm Exam 25%
PBL 10%
Final Exam 35%
Course Introduction
This course focuses on a breadth-first coverage of computer science discipline, introducing computing environments, general application
software, basic computing hardware, operating systems, desktop publishing, Internet, software applications and tools and computer usage
concepts; Introducing Software engineering and Information technology within the broader domain of computing, C/C++ Language
Course Contents
15. Basics of Computer Software and Hardware
Computers & Applications, History of Computing, Introduction to Hardware and Software, Peripheral Devices, Data
Representation, Number Systems, Conversion Methods, ASCII / Unicode, Microprocessors, Memory, Storage Devices.
16. Basic Computer Programming
Algorithms, Flowcharts & Pseudocode, Assignment Operators, If Selection Statement, If… Else Selection Statement, Nested
Control Structures, switch Multiple-Selection Statement, Passing Arrays to Functions, Searching Arrays, Pointers, Library
Functions and Header Files
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Computer Usage
▪ Most of the assignments must be solved through computers using Dev++ compiler.
Lecture Breakdown
▪ Lecture 01. History of Computer.
▪ Lecture 02. Parts and Types of Computer
▪ Lecture 03. Data Representation in Computer
▪ Lecture 04. Hardware
▪ Lecture 05. Software
▪ Lecture 06. Algorithms, Flowcharts, Pseudocode
▪ Lecture 07. Programming Languages
▪ Lecture 08. Variable, Memory Concepts, Athematic operators
▪ Lecture 09. Control Structures: If Selection Statement
▪ Lecture 10. Control Structures: If……..Else Selection Statement
▪ Lecture 11. Nested Control Structures
▪ Lecture 12. Switch Multiple Selection Statement, Increment Decrement Operator
▪ Lecture 13. The Essential of Repetition: Counter-Controlled Repetition
▪ Lecture 14. The Essential of Repetition: Sentinel-Control Repetition
▪ Lecture 15.While Repetition Statement, do….while Repetition Statement
▪ Lecture 16. For Repetition Statement
▪ Lecture 17. Break and Continue Statement
▪ Lecture 18. Functions: Definition, Prototypes, Calling
▪ Lecture 19. Call by Value
▪ Lecture 20. Call by Reference
▪ Lecture 21. Random Number Generation
▪ Lecture 22. Storage Classes, Scope Rules
▪ Lecture23. Arrays Declaration
▪ Lecture 24. Arrays Examples
▪ Lecture 25. Passing Arrays to Functions
▪ Lecture 26. Searching Arrays
▪ Lecture 27. Pointers
▪ Lecture 28.Passing Pointers as Function Parameters
▪ Lecture 29. Library Functions
▪ Lecture 30. Header Files
CS101L: Introduction to Computing Lab (1 CH) CS/CE
Pre-Requisite: Nil
Instructor: Engr. Zawar Hussain
Office # F-05 FCSE, GIK Institute, Ext. 2283
Email: zawar@giki.edu.pk
Office Hours: 10:00am ~ 01:00 pm
Course Introduction
This course focuses on a practical breadth-first coverage of computer science discipline, introducing computing environments, general
application software, basic computing hardware, operating systems, desktop publishing, Internet, software applications and tools and
computer usage concepts; Introducing Information technology within the broader domain of computing, C/C++ Language.
Course Contents
Basic Computer Programming
Number systems, inter-conversion of different number systems, Variable types, If Selection Statement, If… Else Selection
Statement, Nested Control Structures, switch Multiple-Selection Statement, while loop, do while loop, for loop, Arrays,
Functions, Pointers, Introduction to High performance cluster of GIKI.
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Computer Usage
▪ Most of the tasks/assignments must be solved through computers using DevC++ compiler.
Lab Breakdown
▪ Lab 01. Learn how to use GIKI email service and FCSE course website, Computer Setting for web access in GIKI, using GIKI
email.
▪ Lab 02. Different number systems, inter-conversion of different number systems, flow charts, algorithms, pseodocodes,
computer hardware.
▪ Lab 03. A brief introduction of C/C++ programing environment (DevC++), compiler installation and usage, First C++
program, data types and operator usage.
▪ Lab 04. Variables, types of variables, comments, input/output in C++, arithmetic operators in C++.
▪ Lab 05. Decision control statements, comparison/ relational operators, logical operators
▪ Lab 06. Loop structure, while loop, nested while loop, do while loop,
▪ Lab 07. For loop, nested for loop, comparison of while, do while and for loop.
▪ Lab 08. Switch, break statement, continuous statement.
▪ Lab 09. Functions in C++
▪ Lab 10. Call by reference, call by value, default values in functions, random number generation.
▪ Lab 11. Arrays in C++: declaration, initialization, accessing, copying.
▪ Lab 12. Pointers in C++: Computer memory and variable concepts, declaration, referencing and dereferencing of pointers,
pointer’s arithmetic, passing pointers to functions as argument.
▪ Lab 13. HPC (High performance cluster): OS, specifications, applications, how to access GIKI HPC, C++ programming using
GIKI HPC.
CS221 Data Structures (3 CH) CS/CE
Pre-Requisite: CS112
Instructor: Dr. Ahmar Rashid, Dr. Zahid Halim, Mr. Usman Raza
Office # G-01 FCSE, GIK Institute, Ext. 2263
Email: zahid.halim@giki.edu.pk
Office Hours: 11:00am ~ 12:00 pm
Course Introduction
This course aims to introduce the fundamental concept of data structures and to emphasize the importance of data structures in developing
and implementing efficient algorithms. Efficient data structure provides basis for a good algorithm (code). This course focuses on the most
common data structures utilized in various computational problems. It will be taught that how these data structures work and their
implementation in C++/C. Students will practice implementing them in a number of programming assignments. This will help them
understand the nuts and bolts of various data structures and enable to write efficient programs. In addition, another objective of the course
is to develop effective software engineering practice, emphasizing such principles as decomposition, procedural abstraction, and software
reuse.
Course Contents
Broadly, this course will cover following contents: asymptotic analysis, algorithm design, Abstract Data Types (ADTs), lists, stacks,
queues, trees, Binary trees, B-trees, AVL tree, hashing, sorting, graph algorithms and other recent topics in data structures.
Administrative Instruction
▪ According to institute policy, 100% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Lab Introduction
This lab aims to introduce the fundamental concept of data structures and to emphasize the importance of data structures in developing
and implementing efficient algorithms. Efficient data structure provides basis for a good algorithm (code). This lab focuses on the most
common data structures utilized in various computational problems. It will be taught that how these data structures work and their
implementation in C++/C. Students will practice implementing them in a number of programming tasks. This will help them understand
the nuts and bolts of various data structures and enable to write efficient programs.
Lab Contents
Broadly, this lab will cover following contents: algorithm design, Abstract Data Types (ADTs), lists, stacks, queues, trees, Binary trees,
B-trees, AVL tree, hashing, sorting, graph algorithms and other recent topics in data structures.
CLO 2 PLO 3 P3
Map requirements of a computational problem to the
various abstract data types.
Design efficient solutions using the concepts of data P4
CLO 3 PLO 3
structures for solving various real-world problems.
+
Please add the prefix “Upon successful completion of this course, the student will be able to”
*
PLOs are for BS (CE) only
Administrative Instruction
▪ According to institute policy, 100% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Course Introduction
The main objective of the course is to introduce the architectural concepts, organization, basic principles and operations of various building
blocks of a typical computer system. Emphasis is also given to expose the low-level logic employed for problem solving while using
Assembly Language as a tool.
Course Contents
1. Register Transfer and Microoperations: Digital Computer Systems; Architecture and Organization; Structural and Functional
Organizations; Von-Neumann Architecture; Microoperations; Register Transfer Language; Register Transfer Microoperations;
Control Functions; Bus Structure; Bus and Memory Transfers; Arithmetic Microoperations; Binary Adder; Binary Adder–
Subtractor; Binary Incrementer; Arithmetic Circuit; Logic Microoperations; Shift Microoperations; Arithmetic Logic Unit;
Memory and Instruction Set of Three-bit Opcode Processor; Assembly Language of Three-bit Opcode Processor.
2. Basic Computer Organization and Design: Memory; Instruction Format; Addressing Modes; Instruction Set; Registers;
Instruction Set Completeness; Common Bus System; Instruction Cycle; Hardwired Control Unit; Memory Reference Instructions;
Timing Signals; Register Reference Instructions; Input-Output Reference Instructions; Program Interrupt; Interrupt Cycle;
Complete Computer Description; Design of Accumulator Logic; Control of AC Register; Adder and Logic Circuit.
3. Programming the Basic Computer: Machine Language; Assembly Language; Pseudoinstructions; Assembly Language
Programs; Translation to Binary; Program Loops; Programming Arithmetic Operations; Double Precision Addition;
Programming Logic and Shift Operations; Programming Subroutines; Input/output Programming; Interrupt Service Routine;
4. Microprogrammed Control: Control Memory; Instruction Format; Microinstructions; Mapping of Instructions; Microprograms;
Design of Microprogrammed Control Unit; Microprogram Sequencer
5. Central Processing Unit: General Register Organization; Register Stack Organization, Memory Stack Organization; Reverse
Polish Notations; Instruction Formats; Assembly Language Programs; Addressing Modes; Data Transfer and Manipulation;
Program Control; Conditional Branch Instructions; Subroutine Call and Return; Interrupt Procedure; Complex Instruction Set
Computers; Reduced Instruction Set Computers
6. Input-Output Organization: Peripheral Devices; Input-Output Interfacing; I/O Bus and Interface Modules; I/O Commands;
Memory Mapped I/O; Isolated I/O; Serial and Parallel Priority Interrupts; Interrupt Cycle; Modes of Transfer; Direct Memory
Access; Burst Transfer and Cycle Stealing
7. Memory Organization: Memory Hierarchy; Memory Address Map; Main Memory; Auxiliary Memory; Disk Storage; Flash
Storage
Mapping of CLOs and PLOs
Sr. No Course Learning Outcomes+ PLOs* Blooms Taxonomy
Computer Usage
• Three-bit Opcode Processor Simulator and Laurens Rodriguez’s Basic Computer Simulator is to be used for the Assembly
Language Programming of Three-bit Processor and Basic Computer, respectively.
Lecture Breakdown
▪ Lecture 01. Introduction and Orientation, Architecture and Organization
▪ Lecture 02. Digital Computer Systems, Structural and Functional Organizations, General Purpose Von-Neumann Architecture
▪ Lecture 03. Microoperations; Register Transfer Language; Control Functions; Register Transfer Microoperations
▪ Lecture 04. Registers Transfer; Microprocessor Bus Structure; Bus Transfer
▪ Lecture 05. Bus and Memory Transfers
▪ Lecture 06. Arithmetic Microoperations; Binary Incrementer; Binary Adder; Binary Adder–Subtractor
▪ Lecture 07. Arithmetic Circuit
▪ Lecture 08. Logic Microoperations; Hardwar implementation of Logic Microoperations
▪ Lecture 09. Applications of Logic Microoperations
▪ Lecture 10. Shift Microoperations; Logical, Circular and Arithmetic Shifts
▪ Lecture 11. Arithmetic Logic and Shift Unit
▪ Lecture 12. Three-bit Opcode Processor
▪ Lecture 13. Assembly Language Programming of Three-bit Opcode Processor
▪ Lecture 14. Basic Computer Memory, Instruction Format and Addressing Modes
▪ Lecture 15. Basic Computer Instruction Set and Processor Registers
▪ Lecture 16. Instruction Set Completeness; Common Bus System
▪ Lecture 17. Basic Computer Instruction cycle
▪ Lecture 18. Timing and Control, Control Unit of Basic Computer
▪ Lecture 19. Memory Reference Instructions
▪ Lecture 20. Timing Signals
▪ Lecture 21. Register and I/O Reference Instructions
▪ Lecture 22. Program Interrupts, Interrupt Cycle; Input/out Configuration; Complete Computer Description
▪ Lecture 23. Control of Registers, Flags, Memory and Common Bus
▪ Lecture 24. Design of Accumulator Logic; Control of AC Register; Adder & Logic Circuit
▪ Lecture 25. Machine Language, Objectives and Perspectives of Assembly Language, Pseudo-instruction
▪ Lecture 26. Assembly Language Programs; Translation to Binary
▪ Lecture 27. Program Loops
▪ Lecture 28. Programming Arithmetic Operations
▪ Lecture 29. Double Precision Addition; Programming Logic and Shift Operations
▪ Lecture 30. Programming Subroutines
▪ Lecture 31. Input/output Programming, Interrupt Programming
▪ Lecture 32. Microprogrammed Control Organization; Control Memory; Microprogram and Microinstructions
▪ Lecture 33. Instruction Format; Mapping of Instructions; Symbolic and Binary Microprograms
▪ Lecture 34. Design of Microprogram Control Unit; Microprogram Sequencer
▪ Lecture 35. General Register Organization
▪ Lecture 36. Stack Organization; Reverse Polish Notation
▪ Lecture 37. Instruction Formats, Assembly Language Programs
▪ Lecture 38. Addressing Modes
▪ Lecture 39. Data Transfer and Manipulation; Program Control
▪ Lecture 40. Complex Instruction Set Computers; Reduced Instruction Set Computers
▪ Lecture 41. Peripheral Devices; Input/output Interface; Isolated and Memory Mapped I/O,
▪ Lecture 42. Serial and Parallel Priority Interrupts;
▪ Lecture 43. Modes of Transfer; Direct Memory Access
▪ Lecture 44. Memory Hierarchy; Main Memory; Memory Address Map; Connection of Memory to CPU
▪ Lecture 45. Auxiliary Memory; Disk Storage; Flash Storage
CS222L Computer Organization & Assembly Language Lab (1 CH) CS/CE
Pre-Requisite: EE221L
Instructor: Dr. Ghulam Abbas (TA: Engr. Waleed Khalil)
Office: G-35 FCSE, GIK Institute.
Email: waleed.khalil@giki.edu.pk
Office Hours: 09:00am ~ 05:00 pm
Lab Introduction
The main focus of this lab is to introduce the internal working, and design of various building blocks of a typical computer system by
practically implementing those building blocks with consideration of performance, usability, reliability, optimization and control.
Emphasis is also given to expose the low-level logic employed for problem solving while using Verilog language as a tool.
Lab Contents
17.
SAP–I, Program Counter, MAR, 2-1 Nibble MUX, 16x8 RAM, Instruction Register, Instruction Decoder, Ring Counter,
Control Matrix, Accumulator, B-Register, Output Register, Binary Display, HDL Based Designing, Gate Level Modeling,
Verilog Operator and Verilog Behavioral Modeling
Text books:
• M. Morris Mano, “Computer System Architecture,” 3rd Edition, Prentice-Hall Inc.
• Albert Paul Malvino and Jerald A. Brown, “Digital Computer Electronics”, 3rd Edition, McGraw-Hill
• David Patterson and John Hennessy, “Computer Organization and Design”, 5th Ed., Morgan Kaufmann
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Computer Usage
▪ Xilinx Software is used for Verilog Programming.
Lecture Breakdown
▪ Week 2: Lab - 1: Introduction to SAP – I
▪ Week 3: Lab - 2: Design a Clock Circuit for SAP-I
▪ Week 4: Lab - 3: Program Counter, MAR, and 2-1 MUX
▪ Week 5: Lab - 4: 16x8 RAM & Instruction Register
▪ Week 6: Lab - 5: Instruction Decoder, Ring Counter & Control Matrix
▪ Week 7: Lab - 6: Accumulator & Adder/Subtractor
▪ Week 8: Lab - 7: B-Register, Output Register and Binary Display
▪ Week 9: Lab - 8: Checking of SAP-I
▪ Week 10: Lab - 9: Introduction to HDL Based Designing
▪ Week 11: Lab - 10: Gate Level Modeling
▪ Week 12: Lab - 11: Verilog Operator
▪ Week 13: Lab - 12: Verilog Behavioral Modeling
▪ Week 14: Lab - 14: Open Ended Lab
CS 231 Discrete Mathematics (3 CH) CS/CE
Pre-Requisite: None
Instructor: Adeel Pervez
Office # G-07 FCSE, GIK Institute, Ext. 2504
Email: adeel@giki.edu.pk
Office Hours: 11:00am ~ 12:00 pm
Course Introduction
This course introduces the kind of mathematics especially helpful in computer science. The emphasis is on discrete objects such as sets,
graphs and trees, and counting techniques that apply to such objects. Logic, analysis of algorithms, basic number theory and arithmetic
algorithms are also covered.
Course Contents
18. Logic
Propositional Logic, Connectives, Conditional Statements, Biconditionals, Predicate Logic
19. Algorithm Analysis
Big O notation, Theorems, Application to common algorithms
20. Integers and Algorithms
Number Theory, Residue Arithmetic, Integer Representations, Arithmetic Algorithms.
21. Combinatorics
Sum and Product Rules, Pigeon Hole Principle, Permutations, Combinations, Binomial Theorem, Generalized Combinations.
22. Graph Theory:
Types, Paths, Circuits, Euler Paths, Hamiltonian Paths, Shortest Paths, Isomorphism, Planar Graphs, Trees, Spanning Trees.
Bloom’s Taxonomy
Sr. No Course Learning Outcomes PLOs
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Lecture Breakdown
▪ Lecture 1: Introduction, Discrete v. Continuous in Mathematics.
▪ Lecture 2: Logic, Propositions, Conditionals.
▪ Lecture 3: Biconditionals, Equivalence, Applications to Natural Language and System Specification.
▪ Lecture 4: Predicates and Quantifiers
▪ Lecture 5: Algorithms, Searching, Linear and Binary Search
▪ Lecture 6: Sorting, Bubble Sort, Quiz 1
▪ Lecture 7: Insertion Sort, Algorithmic Efficiency
▪ Lecture 8: Algorithmic Efficiency, Big O Notation
▪ Lecture 9: Big O Notation, Theorems and Examples
▪ Lecture 10: Big O for Combinations of Functions, Quiz
▪ Lecture 11: Complexity of Algorithms: Linear and Binary Search
▪ Lecture 12: More Complexity, Miscellaneous Asymptotic Analysis Topics
▪ Lecture 13: Counting, Product and Sum Rules
▪ Lecture 14: Counting Examples, Quiz
▪ Lecture 15: Pigeonhole Principle, Generalized Pigeonhole Principle
▪ Lecture 16: Permutations and Combinations
▪ Lecture 17: Binomial Theorem and Identities
▪ Lecture 18: Pascal's Identity, Pascal's Triangle, Quiz
▪ Lecture 19: Number Theory: Divisibility, Division Algorithm, Modular Arithmetic.
▪ Lecture 20: Modular Arithmetic and Congruences.
▪ Lecture 21: Prime Numbers, Fundamental Theorem of Arithmetic, GCD, LCM.
▪ Lecture 22: Review of Number Theory, Algorithm for div and mod (Quotient and Remainder)
▪ Lecture 23: Euclid's Algorithm for GCD, Review of Asymptotic Analysis
▪ Lecture 24: Problems, Quiz
▪ Lecture 25: Exam Review.
▪ Lecture 26: Integer representations, Computing representations, Integer addition algorithm.
▪ Lecture 27: Review of integer representations and addition, Integer multiplication algorithm, Exponentiation
▪ Lecture 28: Exponentiation Algorithms, Quiz
▪ Lecture 29: Graph Theory Introduction.
▪ Lecture 30: Types of Graphs
▪ Lecture 31: Paths and Circuits, Euler Circuits
▪ Lecture 32: Euler Circuits and Paths
▪ Lecture 33: Graph Isomorphism
▪ Lecture 34: Shortest Path Problems and Dijkstra's Algorithm
▪ Lecture 35: Dijkstra's Algorithm, Complexity, Hamiltonian Circuits, Traveling Salesman Problem
▪ Lecture 36: Planar Graphs, K3,3, Euler's Formula.
▪ Lecture 37: Trees: Definitions and basic properties
▪ Lecture 38: Applications of Trees: Searching, Binary Search Trees
▪ Lecture 39: Tree Traversal: Inorder, Preorder, Postorder, Applications to file systems, expressions.
▪ Lecture 40: Spanning Trees, Construction of spanning trees, Breadth First Search.
▪ Lecture 41: Spanning Trees: Depth First Search
▪ Lecture 42: Minimum Spanning Trees
▪ Lecture 43: Minimum Spanning Trees II
▪ Lecture 44: Review
▪ Lecture 45: Review
CS312L Systems Programming Lab (1 CH) CS/CE
Pre-Requisite: CE311 Operating Systems
Instructor: Engr. Badre Munir (TA: Mumtaz Ali Shah)
Office # G-35 FCSE, GIK Institute, Ext. 2459
Email: mumtaz@giki.edu.pk
Office Hours: 11:00am ~ 01:00 pm
Course Introduction
This lab provides a strong foundation of programming with system calls of the Linux Operating System.
Accompanied with a comprehensive foundation, a hands-on approach will be used to program system calls for a
variety of tasks ranging from basic I/O up to network communication. Relevant concepts shall be discussed along
the way.
Lab Contents
Introducing Linux Environment: Basic concepts, issues, and installation. Programming in Linux: gcc and
associated IDEs.
Working with System calls: User and Kernel modes, programming with system call vs library function.
Working with files: File descriptors, fundamental concepts of open(), read(), write() and close() System calls.
Command Line Arguments: opendir(), readdir(), closedir() and lstat() Sytems calls.
Error reporting mechanisms: errno, perror(), exec() family of functions, Kernel statistics and parameter
modifications.
Processes: Process Ids/structure, scheduling, fork/creation, waiting for, Zombies/Orphans, I/O redirection, and
management system calls.
Signals: Fundamentals, challenges, signal-sets and programming with sigaction() interface.
Pipes fundamentals, similarities, differences, programming with single and multiple processes. Single- and multi-
reading and writing scenarios. Related File Descriptor table operations. Semaphores, Shared Memory and
Message Queues: Fundamentals, basic programs followed by combined usage scenarios.
Sockets: Type of connections, attributes, addressing scheme, host and network byte ordering, network
information services, single- and multi- client scenarios.
▪ Ubuntu Installation
o Parallel within Windows
o Inside with Window Virtual Box
o Introduction of Linux Operating System
▪ System Calls
o Command Line Arguments
o Opendir(), readdir(),
o closedir() and lstat()
▪ System Calls
o Error Handling
o Process Environments
o gdb
▪ System Calls
o exec() Family of Functions
o execl(), execlp(), execle()
o execv(), execvp()
▪ System Calls
o Process Ids
o fork() and wait()
▪ System Calls
o Zombies and Orphan
o Signals
▪ System Calls
o Unnamed and Named Pipes
▪ System Calls
o Semaphores
o Binary Semaphore
▪ System Calls
o Shared Memory
o Message Queues
o Sockets, Type of connections, attributes, addressing scheme
Course Introduction
This course introduces fundamentals of Linux Operating System and System calls. Accompanied with a comprehensive foundation, a
hands-on approach in C language, shall be used to program with system calls for variety of tasks ranging from process creation and
management up to inter-process communication over a network using TCP/IP protocols. Relevant concepts shall be discussed along the
way.
Course Contents
Introduction to Linux Environment: Basic concepts, issues and installation. Programming in Linux: gcc and associated IDEs.
Working with System calls: User and Kernel modes, programming with system call vs library function.
Processes: Process structure, scheduling, creation, waiting for, Zombies, I/O redirection, and management system calls.
Working with files: File descriptors, fundamental concepts, programming with low-level access and the Standard I/O library.
Error reporting mechanisms: errno, perror(), /proc file system, Kernel statistics and parameter modifications.
Signals: Fundamentals, challenges, signal-sets and programming with sigaction() interface.
Pipes fundamentals, similarities, differences, programming with single and multiple processes. Single- and multi- reading and writing
scenarios. Related File Descriptor table operations.
Semaphores, Shared Memory and Message Queues: Fundamentals, basic programs followed by combined usage scenarios.
Sockets: Type of connections, attributes, addressing scheme, host and network byte ordering, network information services, xinetd,
single- and multi- client scenarios issues. Datagrams, connectionless communication: issues and mitigation options.
Mapping of CLOs and PLOs
Blooms Taxonomy
Sr. No Course Learning Outcomes+ PLOs*
Books
Beginning Linux Programming (4th Ed) by Mathew and Stones, Wiley Publishing, Inc.
Unix Systems Programming: Communication, Concurrency and Thread (2nd Ed) by Robbins and Robbins, Prentice Hall.
The Linux Programming Interface: A Linux and UNIX System Programming Handbook by Michael Kerrisk (2010)
Linux System Programming: Talking Directly to the Kernel and C Library by Robert Love (2013)
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours to avoid inconvenience.
Computer Usage
▪ Students are to solve assigned homework problems using available software over computing platforms as mentioned during the
course.
Lectures Breakdown (Tentative)
Week Topics
1 Introduction to the course and the Linux environment.
Review of C programming and pointers.
Library Functions vs System Calls.
Basic I/O: File descriptors, fundamental concepts & programming with system calls.
2 File information system calls.
Programming with the Standard I/O Library over Linux.
Error reporting mechanisms: errno, perror(), /proc file system, Kernel statistics and parameter modifications.
3 Programs with command line arguments.
const keyword usage with pointers passed to functions.
4 Processes: Process structure, scheduling, creation, waiting for, Zombies, I/O redirection, and management
system calls: fork(), exec(), wait(), waitpid() and related macros.
5 Signals: Fundamentals, challenges, signal-sets.
Programming with signal() interface.
Programming with sigaction() interface.
6 Sigaction() continued.
sigprocmask() operations.
sa_flags for struct sigaction.
7 IPC Shared Memory: Introduction.
Pipes: Fundamentals, similarities, differences, programming with single and multiple processes.
8 FIFOs: Single- and multi- reading and writing scenarios. File Descriptor table operations with dup().
9 Client/Server communication with FIFOs: detailed example with single and multiple clients.
10 Basic programs followed by differences.
IPC Message Queues: Fundamentals, basic programs followed by combined usage scenarios.
Intro to git.
11 Coordinated access of two processes to Shared Memory with Named Sempahores.
Intro to theads: pthreads of Linux.
Syncing two threads with semaphores.
12 Many threads.
Syncing many threads with barriers.
Intro to OpenMP.
13 OpenMP Directive: critical.
OpenMP Directive parallel for.
OpenMP Clauses: private and reduction.
14 Sockets: Type of connections, attributes, addressing scheme. Single- and multi-client scenarios.
Network information services.
15 Host and network byte ordering.
xinetd configuration.
Datagrams, connectionless socket communication.
CS325-Software Engineering (3 CH) CS/CE
Pre-Requisite : CS112 / CE323
Instructor : Dr. Sajid Anwar
Email : sajid@giki.edu.pk
Office: FCSE G17
Visiting Hours: Tue: 11:30 – 13:00, Wed: 10:00 – 13:00
Course Introduction
Customers expect reliable and easy to use software to be developed within a set budget and to a tight deadline.
Increasing size and complexity of software, together with more demanding users, means the consequences of failure
are increasingly severe. Programming is only one of a range of activities necessary for the development of software,
which is a challenging process that meets customer needs. The rest of the activities are: planning and acquiring
resources for the project; investigating the business and technical contexts for the system; eliciting and documenting
user requirements; creating a design for the system; and integrating, verifying and deploying the completed
components. This course provides with an understanding of the major challenges inherent in real software
development, and with some of the tools and techniques that can be used in their attainment.
Mapping of PLOs and CLOs
Sr. No Course Learning Outcomes+ PLOs* Bloom’s Taxonomy
Investigate and model the user requirements and the
CLO_1 problem to be solved for the software to be designed C5
and developed.
Demonstrate their team work capabilities and to
CLO_2 justifying their individual contributions by developing PLO9 C3
a software system.
Read, understand and critically analyze the technical
CLO_3 PLO12 C4
and professional literature on Software Engineering
+
Please add the prefix “Upon successful completion of this course, the student will be able to”
*
PLOs are for BS (CE) only
CLOs Assessment Mechanism
Assessment Tools CLO_1 CLO_2 CLO_3
Quizzes 0% 0% 0%
Assignments 0% 0% 100%
Project 0% 100% 0%
Mid Term 30% 0% 0%
Final Term 70% 0% 0%
Grading Policy
Assessment Item Weightage
Quizzes 10%
Assignments 10%
Projects 10%
Mid Term 25%
Final Term 45%
Text and Reference Books
• Software Engineering (9th Ed.), By Ian Sommerville.
• Software Engineering: A Practitioner's Approach (8th Ed.) By Roger Pressman, and Bruce Maxim
Administrative Instructions
• Attendance as per institute’s policy.
• No retake of quizzes.
• Late submission of assignment/quiz/project is not acceptable.
• For course project, the team should consist of at most 4 students.
Computer Usage
• Students are encouraged to use software tools such as Rational Rose for UML etc.
Weekly Lecture Breakdown
Lecture 01 Introduction
Lecture 02 Motivation, Professional s/w development
Lecture 03 Software ethics
Lecture 04 Process Models
Lecture 05 Process Activities
Lecture 06 Software Process Models, Process Activities,
Lecture 07 Coping with change, Rational Unified Process (RUP)
Lecture 08 Agile methods, Plan-driven methods
Lecture 09 Extreme programming
Lecture 10 Agile project management
Lecture 11 Scaling agile methods
Lecture 12 Requirements engineering, Functional and non-functional requirements
Lecture 13 Requirements Specification (RS), RS Document
Lecture 14 Requirements Elicitation and Analysis
Lecture 15 Requirements Validation
Lecture 16 Requirements Management
Lecture 17 System Modeling: Context Models, Interaction Models, Structural Models
Lecture 18 System modeling, context models
Lecture 19 Interaction models, Structural models, Behavioral models
Lecture 20 Model-driven engineering
Lecture 21 Architectural design, design decisions
Lecture 22 Architectural vies, Architectural patterns
Lecture 23 Application architectures
Lecture 24 Design and Implementation, OO Design using UML
Lecture 25 Design patterns
Lecture 26 Implementation Issues
Lecture 27 Open Source Development
Lecture 28 Software Testing
Lecture 29 Development Testing
Lecture 30 Test- Driven Development
Lecture 31 Release testing
Lecture 32 Requirements-based testing
Lecture 33 Scenario testing
Lecture 34 Performance testing
Lecture 35 User testing
Lecture 36 Software evolution
Lecture 37 Evolution processes
Lecture 38 Program evolution dynamics
Lecture 39 Software maintenance
Lecture 40 Software reengineering
Lecture 41 Preventative maintenance by refactoring
Lecture 42 Legacy system management
Lecture 43 Software reuse
Lecture 44 Project demonstration and revision
Lecture 45 Project demonstration and revision
CS418/CE419 - Digital Image Processing (3 CH) CS/CE
Pre-Requisite:CS221
Instructor: Dr. Rashid Jillani
Office # G-14 FCSE, GIK Institute, Extension: 2520
Email: rjillani@giki.edu.pk
Office Hours: 12:30 pm ~ 1:30 pm (Weekdays)
Course Introduction
In Digital Image Processing, the course will focus on the introduction of image processing techniques in spatial as well as in frequency
domain for image enhancement, pattern recognition, image restoration and reconstruction, image compression and image segmentation.
In addition, students will abreast themselves with latest developments in applications of digital image processing through research material
(such as, journal papers, conference papers or seminars).
Course Contents
23. Introduction:
Introduction to digital image processing, Applications of digital image processing, Components of an image processing system,
Electromagnetic spectrum, Image sensing and acquisition
24. Digital Image Fundamentals:
Image sampling and quantization, Image representation, Basic relationships between pixels, Mathematical tools used in digital
image processing
25. Spatial Filtering:
Intensity transformation functions, Histogram processing, Spatial filtering, smoothing spatial filters, sharpening spatial filters
26. Frequency Domain Filtering:
Discrete Fourier transform, Filtering in frequency domain, Image smoothing, Image sharpening
27. Image Restoration and Reconstruction:
Image degradation and restoration process, Noise models, Image restoration, Estimating degradation function, Inverse filtering,
Wiener filtering, Constrained least square filtering, Geometric mean filter, Image reconstruction
28. Color Image Processing:
Color models, Pseudo color image processing, Image smoothing, Image sharpening, Image segmentation
Mapping of CLOs and PLOs
Blooms Taxonomy
Sr. No Course Learning Outcomes PLOs
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Deadline for homework and projects are always final.
▪ No make up for missed quizzes or assignments/homework.
▪ Quizzes may be announced or un-announced
▪ For queries, kindly follow the office hours or shoot an email (no cell phone contacts, please!).
Computer Usage
▪ Students are encouraged to brush up MATLAB programming
Lecture Breakdown
• Lecture 01: Introduction to digital image processing
• Lecture 02: Applications of digital image processing
• Lecture 03: Components of an image processing system
• Lecture 04: Electromagnetic spectrum
• Lecture 05: Image sensing and acquisition
• Lecture 06: Image sampling and quantization
• Lecture 07: Image representation
• Lecture 08: Basic relationships between pixels
• Lecture 09: Digital Image Processing Mathematical tools
• Lecture 10: Intensity transformation functions
• Lecture 11: Histogram processing
• Lecture 12: Spatial filtering
• Lecture 13: Image Smoothing in Spatial Domain
• Lecture 14: Image Sharpening in Spatial Domain
• Lecture 15: Filtering in frequency domain
• Lecture 16: Discrete Fourier Transform
• Lecture 17: 2D Discrete Fourier Transform
• Lecture 18: Image Smoothing in Frequency Domain
• Lecture 19: Image Sharpening in Frequency Domain
• Lecture 20: Selective Filtering
• Lecture 21: Image degradation and restoration process
• Lecture 22: Noise models
• Lecture 23: Image restoration
• Lecture 24: Periodic noise reduction
• Lecture 25: Estimating degradation function
• Lecture 26: Inverse filtering
• Lecture 27: Wiener filtering
• Lecture 28: Constrained least square filtering
• Lecture 29: Geometric mean filter
• Lecture 30: Image reconstruction
• Lecture 31: Color models
• Lecture 32: Pseudocolor image processing
• Lecture 33: Full-color image processing
• Lecture 34: Color transformations
• Lecture 35: Smoothing of color images
• Lecture 36: Sharpening of color images
• Lecture 37: Segmentation of color images
• Lecture 38: Morphological image processing
• Lecture 39: Image erosion
• Lecture 40: Image dilation
• Lecture 41: Image opening
• Lecture 42: Image closing
• Lecture 43: Hit-or-miss transformation
• Lecture 44: Image thinning
• Lecture 45: Image thickening
CS 424 Compiler Construction (3 CH) CS/CE
Pre-Requisite: CS224
Instructor: Adeel Pervez
Office # G-07 FCSE, GIK Institute, Ext. 2504
Email: adeel@giki.edu.pk
Office Hours: 11:00am ~ 12:00 pm
Course Introduction
This course introduces the inner workings of compilers and the theory behind the compilation process. The compilation
stages from lexical analysis, parsing and semantic analysis to code generation and optimization are introduced.
Course Contents
29. Lexical Analysis
Regular Expressions, NFA’s, DFA’s, Lexer Construction
30. Syntax Analysis
Top-down and Bottom-up Parsing, Grammar Classes: LL, LR, LALR.
31. Syntax Directed Translation
Syntax Directed Definitions and Translation Schemes, Semantic Analysis
32. Intermediate Code Generation
33. Other Topics
Symbol table management, Optimization, Garbage collection, Object oriented features
Bloom’s Taxonomy
Sr. No Course Learning Outcomes PLOs
CLO_1 C2
Understand basic concepts of grammars.
PLO1
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
Lecture Breakdown
▪ Lecture 1: Introduction.
▪ Lecture 2: Compiler Phases.
▪ Lecture 3: Programming Language issues.
▪ Lecture 4: Context Free Grammar Review
▪ Lecture 5: Operator Associativity and Precedence
▪ Lecture 6: Syntax Directed Translation Schemes
▪ Lecture 7: Top-Down Parsing
▪ Lecture 8: Predictive parsing
▪ Lecture 9: Predictive Parsing
▪ Lecture 10: Translator for expressions
▪ Lecture 11: Symbol Tables
▪ Lecture 12: Scoping using symbol tables
▪ Lecture 13: Lexical Analysis Introduction
▪ Lecture 14: Syntax Analysis
▪ Lecture 15: General Top-Down Parsing
▪ Lecture 16: LL(1) Grammars
▪ Lecture 17: LL(1) Grammars
▪ Lecture 18: Bottom-up Parsing
▪ Lecture 19: Shift-Reduce Parsing.
▪ Lecture 20: Shift-Reduce Parsing.
▪ Lecture 21: LR parsing: LR(0) automaton
▪ Lecture 22: SLR Parsing
▪ Lecture 23: SLR Parsing
▪ Lecture 24: Review
▪ Lecture 25: Exam Review.
▪ Lecture 26: Canonical LR(1) Items.
▪ Lecture 27: LR(1) parsing tables
▪ Lecture 28: LALR Parsing
▪ Lecture 29: Ambiguous Grammars.
▪ Lecture 30: Translation: Attributes.
▪ Lecture 31: S-Attributed and L-Attributed Definitions
▪ Lecture 32: Syntax Trees
▪ Lecture 33: Type Structure
▪ Lecture 34: Postfix Translation Schemes
▪ Lecture 35: Intermediate Code
▪ Lecture 36: Types.
▪ Lecture 37: Translation of Expressions
▪ Lecture 38: Control Flow
▪ Lecture 39: Backpatching.
▪ Lecture 40: Procedures.
▪ Lecture 41: Runtime Environments
▪ Lecture 42: Heap Management
▪ Lecture 43: Garbage Collection
▪ Lecture 44: Review
▪ Lecture 45: Review
FCSE CS477/CE477 Robotic vision (3 Cr. Hrs) CS/CE
Pre-Requisite: CS221
Blooms Taxonomy
Sr. No Course Learning Outcomes PLOs
Apply principles of common image processing techniques in
CLO_1 PLO 3 C3 ( Application)
real-world settings.
Analyze the 2D/3D geometry corresponding to the
environment in which a robot operates. Be able to implement C 3 and C4 (Application and
CLO_2 PLO 5
and analyze state-of-the-art computer vision algorithms to Analysis)
solve the robot’s perception problems.
1. Roland Siegwart, Illah Nourbakhsh and Davide Scaramuzza, “Introduction to Autonomous Mobile Robots”, secon
edition , The MIT Press (2011).
2. Richard Szeliski , “Computer Vision: Algorithms and Applications”, (2010).
3. Peter Corke , “Robotics, Vision and Control: Fundamental Algorithms in MATLAB”, Springer (2011).
Lecture Breakdown
Week Topic
Week 1 • Introduction to vision for robotics
Week 3 • Perception
o Sensors
o Introduction to Computer Vision
Week 4 • Perception
o Camera Model and Calibration
Week 5 • Perception
o Stereo Vision
Week 6 • Perception
o Stereo Vision
o Image Filtering
Feature Description
Course Introduction
This course aims to go in detail for the design and analysis of algorithms, which lay the foundation of theoretical computer science. It also
focuses on the advance algorithms for optimization problems like dynamic programming and greedy algorithms.
Course Contents
Broadly, this course will cover following contents: • Overview, Growth of Functions, Recurrences, Probabilistic Analysis, Sorting,
Hash Tables, Dynamic Programming, Greedy Algorithms, Graphs, P/NP/NP-Complete Problems, etc.
Grading Policy
Assessment tools Percentage
Quizzes 10-15%
Assignments 10-15-%
Midterm Exam 25%
Final Exam 45-50%
Text and Reference Books
Text book:
• Introduction to Algorithms, 3rd Edition, Thomas Cormen, Charles E. Leiserson, Ronald L. Rivest Clifford Stein, The MIT Press.
Administrative Instruction
▪ According to institute policy, 100% attendance is mandatory to appear in the final examination.
▪ Assignments must be submitted as per instructions mentioned in the assignments.
▪ In any case, there will be no retake of (scheduled/surprise) quizzes.
▪ For queries, kindly follow the office hours in order to avoid any inconvenience.
▪ Late assignments will be subject to a penalty of 10% per day.
▪ Your every next assignment would not be accepted if you did not submit the previous assignment.
▪ Regular class attendance and participation is expected of everyone in the class.
Lecture Breakdown
Week 1 • Insertion Sort
• Loop Invariant
Week 2 • Mergesort
• Asymptotic Notations
Week 3 • Recurrence
o Substitution Method
o Recursion Tree Method
Week 4 • Divide and Conquer
o Master Method
o Strassen’s Algorithm
Week 5 • Probabilistic Analysis
o Indicator Variables
o Hiring Assistant Problem
o Quicksort
Week 6 • Heapsort
• Lower Bound of Comparison based sorting algorithms
Week 7 • Sorting in Linear Time
o Counting Sort
o Radix Sort
o Buck Sort
Week 8 • Hash Tables
• Dynamic Programming Introduction
Week 9 • Dynamic Programming
o Matrix Chain Multiplication
o Rod Cutting Example
Week 10 • Dynamic Programming
o Longest common subsequence
Week 11 • Greedy Algorithms
o Scheduling
o Huffman Codding
Week 12 • Graphs
o DFS
o BFS
o Topological Sort
o Shortest Path
Week 13 • Graphs
o Prims Algorithm
o Kruskal Algorithm
• Amortized Analysis
Week 14 • Max Flow
• N/NP/NP-Complete Introduction
Week 15 • NP Complete Problems and Reduction
• Simplex Method
GIK INSTITUTE OF ENGINEERING SCIENCES & TECHNOLOGY
FACULTY OF ENGINEERING SCIENCES
Course Introduction
This course is required for engineering students. The pre-requisite is the Differential
Equations and linear Algebra taught in third semester. The aim of this subject to
develop the understanding of numerical techniques for solving linear and nonlinear
equations and differential equations of real world engineering.
Course Contents
• Mathematical Preliminaries and Errors Analysis
• Iterative methods of root finding
• Solution of system of linear equations
• Interpolation and polynomial approximation
• Numerical Differentiation and Integration
• Numerical Solution of Ordinary Differential Equation
Mapping of CLOs and PLOs
S.No CLOs PLOs Bloom Taxonomy
After the end of this course, students will be able to
CLO1 Apply different polynomial PLO1 C3
approximation methods
CLO2 Know the roots of linear and nonlinear PLO1 C1
equations
CLO3 Use various numerical methods for PLO1 C3
differentiation, integration and solution
of ordinary differential equations
CLO4 Write efficient, well-documented code PLO5 C3
and present numerical results in an
informative way by utilizing modern
programming languages.
Direct Assessment Tools Based on CLOs
Assessment Tools CLO-1 CLO-2 CLO-3 CLO-4
Quizzes 30% 20% 20% 10%
Assignments 20% 20% 20% 50%
Midterm Exam 30% 30% 30% 20%
Final Exam 20% 30% 30% 20%
Grading Policy
Assessment Items Weightage
Assignments 5%
Announced Quizzes 20%
Midterm Exam 30%
Final Exam 45%
Text and Reference Books
Text Book:
Numerical Analysis (9th edition) by R. L. Burden and J. D. Fairs, Books/Cole
Reference Books:
1. Numerical Analysis by D. Kincaid and W. Cheney
2. Numerical Methods, for Computer Science, Engineering and Mathematics by
John H. Mathew
Administrative Instruction
• Student Attendance is expected to be 100%, and minimum 80%
(mandatory) attendance that is required to sit in the final exams
• Student must pay the attention for reading the text books chapter for course
assessment
• All the direct assessment tools i.e., Quizzes, Assignment, Midterms, Project
and final Exams must be attempted. Failure to attempt in any of the
assessment tools without any medical reasons may results to fail in that
particular assessment. All quizzes would be taken together for all sections.
• Students are advised to study the previous lecture before next class for
better understanding.
• Class participation is highly encouraged. It develops more interest. Students
are also advised to spare some time for group discussion with their
classmates to explore new ideas.
• For any query please contact instructor during office time.
• All quizzes/examinations will be closed book. No graphical calculators will
be allowed.
• There will be five announced quizzes. Out of these five, four best quiz
results of each student will be counted for grading purpose.
• Assignments must be submitted as per instructions mentioned in the
assignments.
• In any case, there will be no retake of scheduled/surprise quizzes.
Lecture Breakdown
Lecture 01 Introduction to Numerical Analysis, Review of Calculus
Lecture 02 Types of errors. Measuring size of errors
Lecture 03 Round-off errors and floating point arithmetic. Chopping and rounding
Lecture 04 The Bisection Method and related theorems
Lecture 05 Numerical Examples using Bisection Method
Lecture 06 Fixed point iterations and related theorems
Lecture 07 Numerical Examples using Fixed point iterations
Lecture 08 The Newton Method and its application
Lecture 09 The secant Method with examples
Lecture 10 Error Analysis
Lecture 11 Modified Newton's Method with examples
Lecture 12 Aitken's delta square Method
Lecture 13 Steffensen's Method
Lecture 14 Multiple roots, Horner's Method
Lecture 15 Algorithms for Iterative Techniques
Lecture 16 Introduction to matrices and Linear System of Equations
Lecture 17 Gaussian Elimination with Backward Substitution
Lecture 18 Gauss-Jordan Method
Lecture 19 Pivoting Strategies, Partial and Scaled Partial Pivoting
Lecture 20 LU Factorization
Lecture 21 Interpolation and Lagrange Polynomial, Taylor Polynomial
Lecture 22 Newton's Forward divided differences and Polynomials
Lecture 23 Newton's Backward divided differences and Polynomials
Lecture 24 Newton's Forward and Backward differences
Lecture 25 Centered divided difference and Polynomials
Lecture 26 Hermite interpolation
Lecture 27 Splines, Construction of Splines
Lecture 28 Natural and Clamped Splines
Lecture 29 Applications of Splines
Lecture 30 Algorithm for interpolation
Lecture 31 First order derivatives using two, three and five points
Lecture 32 Formulas for higher derivatives and Round-Off Instability
Lecture 33 Richardson's Extrapolation
Lecture 34 Trapezoidal rules of integration and examples
Lecture 35 Composite Trapezoidal rules of integration and examples
Lecture 36 Simpson's Rule of integration and examples
Lecture 37 Composite Simpson's Rule of integration and examples
Lecture 38 Romberg integration
Lecture 39 Algorithm for Numerical Differentiation and Integration
Lecture 40 Review of Ordinary Differential Equations, Initial and Boundary
Conditions
Lecture 41 Euler's Method for the Solution of well-posed initial-value Problem
Lecture 42 Taylor's Method of Orders two and Four
Lecture 43 Modified Euler Method
Lecture 44 Runge-Kutta Method of Order Four
Lecture 45 Algorithm for Numerical Solution of Ordinary Differential Equations
Note: This outline serves only as a rough guidance of the course. It may be changed
or modified as and when deemed necessary by the instructor.
CS342-Numerical Analysis & Computational Methods (3 CH) CS
Pre-Requisite:MT201
Instructor: Mr. Shahab Ansari
Office # Opp. PSD Lab,2nd Floor, FES
Extension: 2554
Email: sansari@giki.edu.pk
Office Hours: 12:00 pm ~ 01:00 pm (Weekdays)
Course Introduction
Error and computer arithmetic, root-finding for linear system of equations, solution of system of non-linear equations, interpolation and
polynomial approximation, numerical differentiation and integration, numerical solution of ordinary differential equation
Course Contents
1. Introduction
a. Review of calculus
b. Algorithms and convergence
2. Solutions of equations
a. Bisection method
b. Fixed-point iteration
c. Newton’s method
3. Polynomial approximation
a. Lagrange polynomial
b. Hermite interpolation
c. Cubic spline interpolation
d. Parametric curves
4. Numerical Differentiation
a. Richardson’s extrapolation
5. Numerical Integration
a. Trapezoidal rule
b. Simpson’s rule
c. Midpoint rule
6. Initial-value problems
a. Euler’s method
b. Runge-Kutta method
7. Linear system of equations
a. Direct methods
b. Linear algebra
c. Iterative methods
Mapping of CLOs and PLOs
Blooms Taxonomy
Sr. No Course Learning Outcomes* PLOs+
C2 (Comprehension)
CLO1 Understand theory used in numerical analysis.
C3 (Applying)
CLO2 Implement solutions for common numerical problems. PLO3
Administrative Instruction
▪ According to institute policy, 80% attendance is mandatory to appear in the final examination.
▪ Deadline for homework and projects are always final.
▪ No make up for missed quizzes or assignments/homework.
▪ Quizzes may be announced or un-announced
▪ For queries, kindly follow the office hours or shoot an email (no cell phone contacts, please!).
Computer Usage
▪ MATLAB programming
Lecture Breakdown
• Lecture 01: Calculus review
• Lecture 02: “
• Lecture 03: “
• Lecture 04: Round-off error
• Lecture 05: Algorithm & convergence
• Lecture 06: “
• Lecture 07: Bisection method
• Lecture 08: Fixed point iteration
• Lecture 09: “
• Lecture 10: Newton’s method
• Lecture 11: “
• Lecture 12: Error analysis
• Lecture 13: Langrange polynomial
• Lecture 14: “
• Lecture 15: Hermite interpolation
• Lecture 16: Cubic spline
• Lecture 17: Parametric curves
• Lecture 18: “
• Lecture 19: Richardson’s extrapolation
• Lecture 20: “
• Lecture 21: Trapezoidal rule
• Lecture 22: “
• Lecture 23: Simpson’s rule
• Lecture 24: “
• Lecture 25: Midpoint rule
• Lecture 26: “
• Lecture 27: Euler’s method
• Lecture 28: “
• Lecture 29: Runge-kutta method
• Lecture 30: “
• Lecture 31: “
• Lecture 33: Direct methods
• Lecture 34: “
• Lecture 35: “
• Lecture 36: Linear algebra
• Lecture 37: “
• Lecture 38: “
• Lecture 39: Iterative methods
• Lecture 40: “
• Lecture 41: “
• Lecture 42: “
• Lecture 43: Course revision
• Lecture 44: “
• Lecture 45: “
HM211–Ethics CS/CE
Course Introduction
The course emphasizes on teaching students the basic concepts, theories, and insights of the ethical
perspective. The course focuses on diversity in society, attention to society as both enduring and
changing, the significance of social context in explaining ethical behavior, the increasing impact of
globalization on all aspects of society, and a focus on the critical thinking and analysis of ethical issues
in our society.
Course Contents
• Introduction
• Relativism
• Egoism
• Evolutionary Theory
• Determinism and Futility
• Unreasonable Demands
• False Consciousness
• Birth
• Death
• Desire and the meaning of life
• Pleasure
• The greatest happiness of the greatest numbers
• Freedom from the bad
• Freedom and Paternalism
• Rights and Natural rights
• Reasons and Foundations
• Being good and living well
• The categorical Imperative
• Contracts and Disclosure
• The common point of view
Grading Policy
Assignments 10%
Mid Term Exam 15%
Final Exam 35%
TOTAL 60%
Administrative Instructions
• According to institute policy, 80% attendance is MANDATORY to appear in the final examination.
• There will be no retake of quizzes.
• It is expected that you will always come to class well prepared having read the assigned material for
the class.
• All assignments must be submitted on time. Extension in the deadline will only be granted under
extreme circumstances (on case-to-case basis) and must be applied for at least 7 working days prior to
the deadline. Please name your files (soft copy) as “Course_Class_Assignment_1_Roll Number”.
• For any queries, please follow the office hours in order to avoid any inconvenience.
Lecture Breakdown
Week Topics Covered
1 ▪ Lecture 01: Learning the Ethical Perspective
▪ Lecture 02: Ethical Theories
▪ Lecture 03: Research Methods
2 ▪ Lecture 04: Culture
▪ Lecture 05: Relativism.
▪ Lecture 06: Egoism
3 ▪ Lecture 07: Cultural Dimensions, Cross-cultural negotiations
▪ Lecture 08: Power distance, Individualism, Uncertainty avoidance, masculinity
▪ Lecture 09: Diversity at Workplace, Gender, ethnicity, culture
4 ▪ Lecture 10: Evolutionary theory
▪ Lecture 11: Determinism and Futility
5 ▪ Lecture 13: Evolutionary Theory 2
▪ Lecture 14: Determinism and Futility 2
▪ Lecture 15: Unreasonable Demands
6 ▪ Lecture 16: Unreasonable Demands 2
▪ Lecture 17: Georg Simmel: Dyad and Triads; Secrecy, Unit Cohesion; Types of Groups
▪ Lecture 18: Leadership, Symptoms of Groupthink, Organizations, Formal and Informal,
Organizational Theory, Weber on Bureaucracy.
7 ▪ Lecture 19: False Consciousness
▪ Lecture 20: Birth
▪ Lecture 21: Birth and Ethical Issues (2)
8 ▪ Lecture 22: Social Stratification, Characteristics of Stratification Systems; Three basic
models; How Stratification model looks today
▪ Lecture 23: Marxs and Weber: Conflict; Social Mobility;
▪ Lecture 24: Gender and Poverty, Causes of Global Inequality.
9 ▪ Lecture: 25 Death
▪ Lecture 26: Desire and the meaning of life
▪ Lecture 27: Pleasure
10 ▪ Lecture 28: The Greatest Happiness of the greatest numbers
▪ Lecture 29: Freedom from the bad
▪ Lecture 30: Rights and Natural Rights
11 ▪ Lecture 31: Religion and Society
▪ Lecture 32: Reasons and Foundations
▪ Lecture 33: Freedom and Paternalism
12 ▪ Lecture 34: Being Good and Living Well
▪ Lecture 35: The Common Point of View
GIK INSTITUTE OF ENGINEERING SCIENCES & TECHNOLOGY
FACULTY OF ENGINEERING SCIENCES
Syllabus/Course Outline
Engineering Statistics (ES 202)
Spring Semester 2017
Office Hours: Posted outside office door of course instructors. Also by appointment.
Course Introduction
This course is a basic engineering course that introduces the students to the fundamentals of probability theory, engineering
statistics, and data analysis. The first one half of the course develops necessary “Probability Theory” that is used to analyze
the random processes occurring in natural sciences and engineering. The second half of the course is about “Inferential
Statistics” where the students learn the techniques of analyzing the statistical data and making inferences about population
using sample data. Statistical tests are developed using the probability theory learned in first half of the course. The emphasis
is on using statistical methods to the problems of applied science and engineering. Students are expected to have good
background of analytical skills for this course. On completion of this course, the students will be trained enough to appreciate
the power of statistical techniques and apply these tools to analyze problems in their areas.
Course Contents
• Introduction to Probability: Basic definitions, axioms of probability, addition and multiplication rules, conditional
probabilities, independence, and Baye’s rule, revision of permutations and combinations.
• Probability Distributions: Random variables and probability distributions, discrete and continuous RVs, probability
mass function, density function, and cumulative distribution function, mean, variance, higher moments and their
calculation.
• Discrete Distributions: Binomial, Poisson, geometric, hyper geometric, negative binomial, and multinomial
distributions, mean and variance of standard discrete distributions.
• Continuous Distributions: Exponential, gamma, and normal distributions, mean and variance of standard continuous
distributions.
• Normal Distribution and Central Limit Theorem: Chebyshev’s inequality, law of large numbers, central limit
theorem.
• Descriptive Statistics and Random Sampling: Data arrangement, measures of central tendency, spread and
variability, frequency distributions and histograms, plots of data, random sampling, distribution of sample mean and
variance.
• Point Estimation: Point estimation, methods of moments and method of maximum likelihood, unbiased estimators,
mean and variance of a point estimator, standard error and mean-square error.
• Interval Estimation: Confidence intervals of mean and variance, sample size, small sample theory and t-distribution,
confidence interval of population proportion.
• Hypothesis Testing: Statistical hypotheses, one and two tail tests, type I and type II errors, P-values and critical
regions, Chi-square test.
Text Book:
• Probability and Statistics for Engineering and Sciences by Jay L. Devore, (8th Edition, Brooks/Cole USA, 2012).
Reference Books:
• Applied Statistics and Probability for Engineers by Douglas C. Montgomery, George C. Runger, (5th Edition, John
Wiley & Sons USA, 2011).
• Statistics and Probability for Engineering Applications by W. J. DeCoursey, (1st Edition, Elsevier Science USA,
2003).
Computer Usage
Students are encouraged to solve some assigned homework problems using the available software.
Administrative Instructions
• According to institute policy, 80% attendance is mandatory to appear in the final examination.
• Assignments must be submitted as per instructions given for each assignment.
• In any case, there will be no retake of (scheduled/surprise) quizzes.
Lecture Breakdown
Course Introduction
This is an introductory course of ‘Calculus’ required for all engineering students. The pre-requisite
is the mathematics taught at intermediate level to students in Pakistan. There will be quick review
of the Calculus studied by the students in their intermediate (F.Sc. / A level) classes but at a much
advanced level, with introduction of many new topics and material. The emphasis will be on the
application of ‘Differential and Integral Calculus’ to problems of physical sciences and
engineering. At the end of the course, the students should be able to tackle the problems in other
disciplines that require calculus tools for their solution.
Reference Books:
• “Calculus: Early Transcendentals”, James Stewart. 6th Edition 2008. Brooks/Cole USA.
• “Calculus”, Swokowski, Olinick, Pence. 6th Edition 1994. PWS, USA.
Grading Policy
Assignments: 5% Quizzes: 20% Midterm Exam: 25% Final Exam: 50%
There will be five announced quizzes as per schedule given below. All quiz results of each
student will be counted for grading purpose.
Tentative Quiz, Mid Term& Final Exam Schedule
Event Date / Day
Quiz 01 08-02-2018 / Thursday
Quiz 02 22-02-2018 / Thursday
Quiz 03 08-03-2018 / Thursday
Midterm Exam Midterm Exam Week (18-03-18 to 21-03-18)
Quiz 04 12-04-2018 / Thursday
Quiz 05 26-04-2018 / Thursday
Final Exam Final Exam Week (14-05-18 to 20-05-18)
Administrative Instructions
• According to institute policy, 80% attendance is mandatory to appear in the final
examination.
• All quizzes/examinations will be closed book. No calculators will be allowed.
• In any case, there will be no retake of scheduled/surprise quizzes.
• Students may work on home assignments in collaboration with each other but they must
submit their own work; no copying from others. Violation of this will adversely affect their
quiz/exam results.
Course Contents
Functions Real numbers; Functions and their graphs; Basic elementary functions;
Combining functions; Elementary functions; Domain and range of
functions; Shifting and scaling of graphs.
Limit and Limit of a function; Calculation of limits and limit laws; Limits involving
Continuity infinity; One-sided limits; Continuous and discontinuous functions; Types
of discontinuity; Asymptotes of graphs.
Differential Rate of change and tangents to curves; Derivative at a point; Geometric
Calculus I interpretation; Differentiation rules; Derivative as rate of change;
Derivatives of basic elementary functions; The chain rule; Implicit
differentiation; Related rates; Linearization and differentials.
Differential Derivatives of transcendental functions; Inverse functions and their
Calculus II derivatives; Exponential and logarithmic functions; Trigonometric and
inverse trigonometric functions; Hyperbolic functions; Logarithmic
differentiation; Intermediate forms and L’Hopital’s rule.
Applications of Mean value theorem; Monotonic functions and the first derivative test;
Derivatives Extreme values of functions; Concavity and convexity; the second
derivative test; Elementary curve sketching; Applied optimization.
Integral Antiderivatives and indefinite integrals; Elementary integration techniques;
Calculus Sigma notation and limits of finite sums; The definite integral; The
fundamental theorem of calculus; Elementary properties and calculation
of definite integrals.
Applications of Area under a curve and between curves; Volumes using cross-sections;
Integral Volumes using cylindrical shells; Arc length; Areas of surfaces of
Calculus revolution; Calculation of work; Center of gravity of plane laminas.
Techniques of Use of basic integration formulas; integration by substitution and by parts;
Integration Trigonometric integrals; Trigonometric substitutions; Integration of rational
functions by partial fractions; Numerical integration; Improper integrals.
Parametric Parametric representation of plane curves; Calculus with parametric
Equations and curves; Polar coordinates; Graphing polar equations; Conic sections in
Polar polar coordinates; Areas and arc lengths in polar coordinates.
Coordinates
Complex Complex numbers; Polar form; DeMoivre’s theorem; nth roots of a complex
Numbers number; Complex exponentials and Euler’s formula.
Lecture Breakdown
Lecture Topic Chapter
01 Real numbers and points. Constants and variables. Absolute values 1
and inequalities. Intervals.
02 Functions and graphs. Direct and inverse functions. Symmetry. 1
03 Shifting and scaling of graphs. Classification of functions. Basic 1
elementary functions. Composite function. Elementary functions.
04 Intuitive concepts of limit and continuity. Limits involving infinity. Right and left 2
limits.
05 Continuity of functions. Properties of continuous functions. 2
06 Checking for continuity at a point and on an interval. Types of 2
discontinuities.
07 Quick review of differentiation. Algebraic and geometric interpretations. 3
08 Derivatives of basic elementary functions. Differentiation rules 3
09 Differentiation of composite functions and chain rule. Implicit 3
differentiation. Logarithmic differentiation.
10 Differentiation of trigonometric and inverse trigonometric functions. Hyperbolic 7
functions and inverse hyperbolic functions.
11 Indeterminate forms and L’Hopital rule. 7
12 Indeterminate forms and L’Hopital rule (continued…). 7
13 Applied maximum and minimum problems: first derivative test. 4
14 Applied maximum and minimum problems: second derivative test. 4
Points of inflection.
15 Intervals of convexity and concavity. 4
16 Applied maximum and minimum problems: applications. 4
17 Applied maximum and minimum problems: applications (continued…). 4
18 Asymptotes and basic curve sketching. 4
19 Indefinite integrals and basic techniques of integration. 5
20 Basic techniques of integration continued. 5
21 Riemann sums and definite integrals. 5
22 The fundamental theorem of calculus. Area under a curve. 5
23 Properties of definite integrals. 5
24 Calculation of areas bounded by continuous curves. 5
25 Volume of solids of revolution: disk method. 6
26 Volume of solids of revolution: cylindrical shell method. 6
27 Calculation of length of an arc and surface areas of solids of 6
revolution.
28 Calculation of work by definite integrals. 6
29 Calculation of work by definite integrals. 6
30 Centre of gravity and centroid of plane laminas. 6
31 Calculation of moments of inertia of solids of revolution. 6
32 Techniques of integration. 8
33 Techniques of integration (continued…). 8
34 Techniques of integration (continued…). 8
35 Parametric representation of plane curves. Calculus with parametric 11
curves.
36 Polar coordinate system. Sketching of simple polar curves. 11
37 Some important polar curves 11
38 Conic sections in polar coordinates. 11
39 Conic sections in polar coordinates (continued…). 11
40 Area and arc length in polar coordinates. 11
41 Complex numbers. Definitions and properties. Notes
42 Addition and subtraction of complex numbers. Algebra of complex Notes
numbers.
43 Polar form of a complex number. Multiplication and division. Notes
44 Powers and roots of a complex number. DeMoivre’s theorem. Notes
45 Exponential form of a complex number. Euler’s formula. Notes
Note: This outline serves only as a rough guidance of the course. It may be changed or
modified as and when deemed necessary by the instructor. The Instructor is at liberty
to best distribute number of lectures and/or change the sequence of topics to cover
the entire course.
GIK INSTITUTE OF ENGINEERING SCIENCES & TECHNOLOGY
FACULTY OF ENGINEERING SCIENCES
Course Introduction
This course is continuation of MT-101 course. The main objective of the course is to make
students proficient in techniques and skills of multivariate and vector calculus. The
emphasis will be on application of learned techniques to the solution of problems of
science and engineering. The students will learn necessary mathematical skills with an
understanding of basic concepts and a working knowledge of applications. It is hoped
that, on completion of this course, the students will be trained enough to apply these
mathematical tools to solve problems in their area of specialization.
Administrative Instructions
• According to institute policy, 80% attendance is mandatory to appear in the final
examination.
• All quizzes/examinations will be closed book. No calculators will be allowed.
• There will be five announced quizzes as per schedule given above. All quiz results
of each student will be counted for grading purpose.
• In any case, there will be no retake of scheduled/surprise quizzes.
• Students may work on home assignments in collaboration with each other but they
must submit their own work; no copying from others. Violation of this will adversely
affect their quiz/exam results.
Computer Usage
Students are encouraged to solve some assigned homework problems using the
available engineering software, such as MATLAB and Mathematica.
Course Contents
Topics Lectures
Sequences. Series: Definitions, convergence, properties. Integral test,
basic and limit comparison tests, ratio and root tests. Alternating series
10
and absolute convergence. Power series. McLaurin and Taylor series.
Applications of power series.
Vector Algebra: Vectors in three dimensions. Dot and cross product.
7
Lines and planes. Surfaces.
Functions of Several Variables: Limits and continuity. Partial
derivatives. Increments and differentials. Chain rules. Directional
derivatives, gradient. Tangent planes and normal lines to surfaces. 11
Taylor series for functions of several variables. Extrema of functions of
several variables. Relative extrema, Lagrange multipliers.
Multiple Integrals: Double integrals, definition and evaluation. Area
and volume. Double integrals in polar coordinates. Surface area. Triple
11
integrals in Cartesian, cylindrical and spherical coordinates.
Applications.
Vector Calculus: Vector fields. Gradient, divergence and curl. Line
integrals. Independence of path. Green’s theorem. Surface integrals. 6
Divergence theorem of Gauss-Ostrogradski. Stokes’ theorem.
Total Lectures 45
Lecture Breakdown
Lecture Topic Chapter
01 Convergent and divergent sequences. Chapter 10
02 Convergent and divergent series; their basic properties. Chapter 10
03 Positive term series; geometric and p-series. Chapter 10
04 Integral test and basic comparison test. Chapter 10
05 Ratio and root tests. Chapter 10
06 Alternating series and its properties. Chapter 10
07 Conditional and absolute convergence. Chapter 10
08 Power series and radius of convergence. Chapter 10
09 Power series representation of function. Chapter 10
10 McLaurin and Taylor series. Chapter 10
11 Vectors in two dimensions and problems. Chapter 12
12 Vectors in three dimensions and problems. Chapter 12
13 Scalar product and vector product. Chapter 12
14 Analytic Geometry of planes. Chapter 12
15 Straight lines in three dimensions. Chapter 12
16 Quadric surfaces. Chapter 12
17 Quadric surfaces. Chapter 12
18 Functions of several variables Chapter 14
19 Limit of functions of several variables. Chapter 14
20 Continuity of functions of several variables. Chapter 14
21 Partial derivatives and related questions. Chapter 14
22 Increments, differentials and chain rules. Chapter 14
23 Directional derivatives and gradient. Chapter 14
24 Tangent planes and normal planes. Chapter 14
25 Extrema of function of several variables. Chapter 14
26 Extrema of function of several variables. Chapter 14
27 Lagrange multipliers and their applications. Chapter 14
28 Lagrange multipliers and their applications. Chapter 14
29 Double integrals. Chapter 15
30 Area and volume by double integrals. Chapter 15
31 Change of variables in double integrals. Chapter 15
32 Double integral in polar coordinates. Chapter 15
33 Surface area and problems. Chapter 15
34 Triple integrals of all types. Chapter 15
35 Volume by triple integrals. Chapter 15
36 Change of variables in triple integrals. Chapter 15
37 Triple integrals in cylindrical coordinates. Chapter 15
38 Triple integrals in spherical coordinates. Chapter 15
39 Volumes by using cylindrical and spherical coordinates. Chapter 15
40 Vector field and conservative field. Chapter 16
41 Line integrals and problems. Chapter 16
42 Independence of path and problems. Chapter 16
43 Surface integrals. Chapter 16
44 Green’s theorem; Divergence and, Stoke’ theorem. Chapter 16
45 Review. Chapter 16
Note: This outline serves only as a rough guidance of the course. It may be changed
or modified as and when deemed necessary by the instructor. The Instructor is
at liberty to best distribute number of lectures and/or change the sequence of
topics to cover the entire course.
MT-201 Differential Equations and Linear Algebra I (Fall-2017) CS/CE
Pre-Requisite: MT-101, MT-102
Instructors: Prof. Dr. Ghulam Shabbir (Section A) and Prof. Dr. Bakhadir Irgaziev (Sections B & C)
Email: shabbir@giki.edu.pk, bakhadir@giki.edu.pk
Office hours: Displayed on office doors
Course Introduction
This course presents basic concepts of matrix algebra, methods of solving systems of linear equations, basic
concepts of vector spaces, and methods of computing determinants, eigenvalues and eigenvectors. Students should
be able to classify and identify different types of linear differential equations, explicitly solve several important
classes of ordinary differential equations and apply ideas from linear algebra in order to solve linear ordinary
differential equations. They should model certain physical phenomena using differential equations and reinterpret
their solutions physically. Use analytic techniques to compute solutions to various differential equations.
Course Contents
• Matrix Algebra:
• System of linear Equations and their solutions
• Eigenvalues and Eigenvectors
• Vector space
• Determinants
• Differential Equations: definitions and terminology
• First order differential equations and their applications
• Second and higher differential equations
• Series solution for differential equations
Mapping of Class Learning Outcome (CLOs) to Program Learning Outcomes (PLOs)
S. No CLOs PLOs Bloom Taxonomy
Upon completion of this course, students will be able to:
CLO1 1. solve problems, concerning the theory of PLO1 C3 (Applying)
basic linear algebra.
CLO2 2. find general solutions to first order PLO2 C3 (Applying)
differential equations.
CLO32. 3. use variety of techniques to find general PLO3 C3 (Applying)
solutions to higher order differential
equations.
Direct Assessment tools based on CLOs
Assessment Tools CLO-1 CLO-
2
Quizzes 40% 20%
Assignments 30% 20%
Midterm Exams 20% 30%
Final Exam 10% 30%
Grading Policy
Assessment Items %
Marks
1. Assignment 3%
2. Quizzes 22%
3. Mid-Term Exam 25%
4. Final Exams 50%
Text and Reference Books
Text books:
1. A First Course in Differential Equations with Modeling Applications by Dennis G. Zill, Brooks
Cole USA (10th edition 2013).
Reference books:
2. Differential Equations for Engineers and Scientists by Yunus A. Cengel et.al., McGraw-Hill
USA (1st Edition 2013).
Administrative Instruction
• Student Attendance is expected to be 100%, and minimum 80% (mandatory) attendance that is
required to sit in the final exams
• Student must pay the attention for reading the text books chapter for course assessment rather
than lecture slides
• All the direct assessment tools i.e., Quizzes, Assignment, Midterms and final Exams must be
attempted. Failure to attempt in any of the assessment tools without any medical reasons may
results to fail in that particular assessment.
• For any query please contact with us during office time. Office Time is displayed at G-04 & G-10
office door.
Lecture Breakdown
Lecture#1 MATRIX ALGEBRA. Notion of a matrix, matrix addition, scalar multiplication, matrix
multiplication and its motivation,
Lecture#2 Algebraic properties of matrix operators, transpose of a matrix
Lecture#3 Linear system of equations. Gauss elimination method. Elementary row operations.
Lecture#4 Continue to lecture # 3
Lecture#5 Continue to lecture # 3
Lecture#6 Linear independence and dependence of vectors. Rank of matrix.
Lecture#7 Vector space. General properties of solutions of the linear systems. Homogeneous and non-
Homogeneous linear systems
Lecture#8 Determinants and their properties
Lecture#9 Expansion by Cofactors
Lecture#10 Cramer's rule
Lecture#11 Gauss-Jordan elimination method.
Lecture#12 Invertible matrices and computation of an inverse matrix
Lecture#13 Eigenvalues and eigenvectors
Lecture#14 Continue to lecture # 13
Lecture#15 DIFFERENTIAL EQUATIONS. Definitions and terminology.
Lecture#16 First order differential equations. Separable, Homogeneous, Exact, Linear and Bernoulli equations.
Applications
Lecture#17 Continue to lecture # 16
Lecture#18 Continue to lecture # 16
Lecture#19 Continue to lecture # 16
Lecture#20 Continue to lecture # 16
Lecture#21 Continue to lecture # 16
Lecture#22 Second-order differential equations, which reducible to first-order differential equations.
Lecture#23 Continue to lecture # 22
Lecture#24 Linear differential equations of higher order. Initial and boundary - value problems
Lecture#25 Linear independence and dependents of the solutions
Lecture#26 Wronskian and general solution
Lecture#27 Construction of second solution from a known solution
Lecture#28 Annihilator operator method.
Lecture#29 Continue to lecture # 28
Lecture#30 Homogeneous and non-homogeneous differential equations with constant coefficients and their
solution
Lecture#31 Continue to lecture # 30
Lecture#32 Undetermined coefficients.
Lecture#33 Variation of parameters.
Lecture#34 Cauchy -Euler equation
Lecture#35 Series solution of differential equations about arbitrary points and regular singular points
Lecture#36 Continue to lecture # 35
Lecture#37 Series solution of Legendre differential equations
Lecture#38 Method of Frobenius
Lecture#39 Continue to lecture # 38
Lecture#40 Continue to lecture # 38
Lecture#41 Series solution of Bessel's differential equations
Lecture#42 Matrix system of linear first order differential equations. Homogeneous system with: (i) distinct
real eigenvalues, (ii) complex eigenvalues, and (iii) repeated eigenvalues
Lecture#43 Continue to lecture # 42
Lecture#44 Continue to lecture # 42
Lecture#45 Continue to lecture # 42
Faculty of Engineering Sciences
GIK Institute of Engineering Sciences and Technology, Topi
Lab Contents
Introduction to Significant Figures and Measurements
Lab 1
Develop skills in measurement using Vernier caliper and micrometer screw gauge.
Study of Average Velocity using Air Track System
Investigate the relationship between instantaneous and average velocities and see how a series of average Lab 2
velocities can be used to deduce an instantaneous velocity.
Forces (Addition and Resolution)
Lab 3
Finding the resultant of two or more forces experimentally using parallelogram method.
Translational Equilibrium
Lab 4
Demonstrate the addition of vectors using the concept of equilibrium.
Acceleration due to Gravity
Lab 5
To experimentally calculate the value of acceleration due to gravity “g” using free fall apparatus.
Conservation of Energy using Projectile Launcher
The purpose of this experiment is to show that the kinetic energy of a ball launched straight up is transformed Lab 6
into potential energy.
Time of Flight of a Projectile
To study the relationship between time of flight and initial velocity, predict the horizontal distance travelled Lab 7
and to calculate the horizontal velocity of the projectile.
Ballistic Pendulum
Determination of the muzzle velocity of the projectile launcher by shooting a ball into a ballistic pendulum and Lab 8
measuring the height reached by pendulum.
Rotational Dynamics
Study of the rotation about fixed axis through center of mass of object. Lab 9
Variable “g” Pendulum
To measure the time period “T” as the function of effective acceleration and for various pendulum lengths. Lab 10
Open Ended Lab
Lab 11
Lab task provided individually.
Mapping of Class Learning Outcome (CLOs) to Program Learning Outcomes (PLOs)
CLOs Course Learning Outcomes+ PLOs Blooms Taxonomy
Practically determine the fundamental quantities in
CLO1 PLO1 P3
linear mechanics using Newton’s laws.
Experimentally determine the fundamental quantities in
CLO2 PLO1 P3
rotational mechanics using Newton’s laws.
Practically determine various mechanical quantities by
CLO3 PLO1 P3
using universal conservation laws.
+Please add the prefix “Upon successful completion of this course, the student will be able to”
Course Introduction
This course covers the fundamentals of engineering, applying the concepts of basic mathematics and physics at
advanced level. The aim of this subject is to develop an understanding of engineering applications and develop the
ability to solve mechanical problems
Course Content
• Introduction to engineering mechanics
• Motion in one, two and three dimensions
• Newton Laws and its applications
• Momentum
• Rotational dynamics and kinematics
• Energy
• Gravitation
• Oscillations
Mapping of Class Learning Outcome (CLOs) to Program Learning Outcomes (PLOs)
S. No CLOS PLOs Bloom Taxonomy
CLO1 Discuss and apply the basic terminology
related to mechanics and Newton’s laws
and applications of those laws to PLO1 C3
problems involving translation and
rotational motion.
CLO2 Apply the fundamental conservation
laws such as that of linear momentum,
PLO1 C3
angular momentum and energy to solve
the mechanical problems.
CLO3 Demonstration of Newton laws and
apply them to gravitation and simple PLO1 C3
harmonic motion.
+Please add the prefix “Upon successful completion of this course, the student will be able to”
Reference books:
1. Hugh D. Young & Roger A. Freedman, “University Physics”, 12th Edition
2. Frederick J.Keller,W.Edward Gettys & Malcolm J.Skove, “Physics: Classical and Modern”
3. Raymond A. Serway and John W.Jewett, “Physics for Scientists and Engineers”, 6th Edition
4. Feynmann Lectures on Physics Volume 1
Administrative Instruction
• Student Attendance is expected to be 100%, and minimum 80% (mandatory) attendance that is required to
sit in the final exams
• Student must pay the attention for reading the text books chapter for course assessment
• All the direct assessment tools i.e., Quizzes, Assignment, Midterms, Project and final Exams must be
attempted. Failure to attempt in any of the assessment tools without any medical reasons may results to
fail in that particular assessment. All quizzes would be taken together for all sections.
• Students are advised to study the previous lecture before next class for better understanding.
• Class participation is highly encouraged. It develops more interest. Students are also advised to spare some
time for group discussion with their classmates to explore new ideas.
• Handouts and related notes will available on FES internet course portal.
• For any query please contact instructor during office time.
Lecture Breakdown
Lecture#1 Introduction to classical Mechanics and its applications
Lecture#2 Precision and significant figures, Dimensional Analysis, vectors and its properties
Lecture#3 Position, velocity and acceleration, Straight line motion
Lecture#4 Motion with constant acceleration , Freely falling bodies
Lecture#5 Newton’s Laws and its applications
Lecture#6 Continue
Lecture#7 Weight and Mass
Lecture#8 Newton’s Laws and Motion in 3 dimensions with constant acceleration
Lecture#9 Projectile motion
Lecture#10 Continue
Lecture#11 Relative and uniform circular motion
Lecture#12 Tension and Normal Forces
Lecture#13 Frictional Forces
Lecture#14 Dynamics of uniform circular motion
Lecture#15 Impulse and Linear Momentum
Lecture#16 Conservation of momentum
Lecture#17 Continue
Lecture#18 Motion of complex object
Lecture#19 Continue
Lecture#20 Conservation of momentum in a system of particles
Lecture#21 continue
Lecture#22 Rotational Motion (Kinematics)
Lecture#23 Continue
Lecture#24 Rotation with constant angular acceleration
Lecture#25 Relationship between linear and angular variables
Lecture#26 Rotational Motion (Dynamics)
Lecture#27 Rotational Inertia and Newton’s second Law
Lecture#28 Parallel Axis Theorem
Lecture#29 Rotational inertia of solid bodies
Lecture#31 Center of mass and center of gravity
Lecture#32 Equilibrium and Non Equilibrium applications of Newton’s Law for rotation
Lecture#33 Continue
Lecture#34 Combine rotational and translational motion
Lecture#34 Angular Momentum and angular velocity
Lecture#36 Conservation of angular momentum
Lecture#37 Work done by a constant and variable force
Lecture#38 Kinetic energy and work - Energy Theorem
Lecture#39 Potential Energy
Lecture#40 Conservation of Energy
Lecture#41 Newton’s Law of Universal Gravitation
Lecture#42 Energy conservation in celestial systems
Lecture#43 Kepler’s Laws
Lecture#44 Introduction to oscillations
Lecture#45 Energy in oscillations
Faculty of Engineering Sciences
GIK Institute of Engineering Sciences and Technology, Topi
Lab Instructors 5. Mr. Zafar Iftikhar 2. Ms. Eram Asghar 3.Mr. Muhammad Riaz
Lab Contents
Introduction to Electricity & Magnetism Lab Lab 1
Introduction to the basic equipment such as the digital multi-meter (DMM), Trainer and Bread Board.
Resistor Color Code & Ohm’s Law Lab 2
To read the value of resistance from its color code, DMM and by verifying Ohm’s law.
Series and Parallel Combination of Resistances
To wire simple series and parallel circuits of resistances on a breadboard and to verify the rules pertaining to Lab 3
these circuits.
Kirchhoff’s Law: Series and Parallel DC Circuits
Lab 4
Examination of basic series DC circuits with resistors using voltage divider rule.
Kirchhoff’s Law: Series-Parallel DC Circuit Lab 5
Analysis of basic series-parallel DC circuits with resistors using current divider rule.
Use of Oscilloscope (DC, AC Voltages, Frequency and Time Period)
Measuring the amplitude, frequency and time period of the AC waveforms by using cathode ray oscilloscope Lab 6
(CRO).
RC Circuit Lab 7
To study the discharge of a capacitor and measure the characteristic time of a resistor-capacitor (RC) circuit.
Magnetic Field and Air Coil Lab 8
To measure the magnetic field “B” as a function of the current I, Length L and the number of turns “N” of the coil.
Magnetic Moment in Magnetic Field
To find the relationship between the torque and current through coil, Helmholtz solenoid and the angle between Lab 9
them.
Determination of Electron Charge-to-Mass Ratio Lab 10
To determination the electron charge-to-mass ratio with the help of J. J. Thompson tube.
Measurement of EMF and Internal Resistance Lab 11
To study the behavior of the terminal voltage of a “real” dc source and to investigate the power output of the
source when compared to a load.
Open Ended Lab Lab 12
Mapping of Class Learning Outcome (CLOs) to Program Learning Outcomes (PLOs)
CLOs Course Learning Outcomes+ PLOs Blooms Taxonomy
Experimentally determine the fundamental quantities used in
CLO1 electric interactions due to single or collection of charged particles PLO1 P3
of an electric field and the electric potential.
Practically determine the fundamental quantities used in
CLO2 electromagnetism in order to predict the motion of charged PLO1 P3
particles in electric and magnetic fields.
Experimentally discover the behavior of simple and complex DC
CLO3 PLO1 P3
circuits by using the fundamental conservation laws.
+Please add the prefix “Upon successful completion of this course, the student will be able to”
Grading Policy
+Please add the prefix “Upon successful completion of this course, the student will be able to”
Direct Assessment tools based on CLOs
Assessment Tools CLO-1 CLO-2 CLO-3
Quizzes 30% 30% 40%
Assignments 20% 10% 10%
Midterm Exams 20% 40% 20%
Final Exam 30% 20% 30%
Passing Criterion 35% 35% 35%
Reference books:
5. Hugh D. Young & Roger A. Freedman, “University Physics”, 12th Edition, 2012
6. Frederick J.Keller,W.Edward Gettys & Malcolm J.Skove, “Physics: Classical and Modern”
7. Raymond A. Serway and John W.Jewett, “Physics for Scientists and Engineers”, 6th Edition
8. Feynman Lectures on Physics
Administrative Instruction
• Student Attendance is expected to be 100%, and minimum 80% (mandatory) attendance that is
required to sit in the final exams
• Student must pay the attention for reading the text books chapter for course assessment
• All the direct assessment tools i.e., Quizzes, Assignment, Midterms, Project and final Exams must be
attempted. Failure to attempt in any of the assessment tools without any medical reasons may results
to fail in that particular assessment. All quizzes would be taken together for all sections.
• Students are advised to study the previous lecture before next class for better understanding.
• Class participation is highly encouraged. It develops more interest. Students are also advised to spare
some time for group discussion with their classmates to explore new ideas.
• Handouts and related notes will available on the SIS portal.
• For any query please contact instructor during office time.
Lecture Breakdown
Lecture#1 Electric charge and coulomb's law: electromagnetism: a preview.
Lecture#2 Electric charge. Conductors and insulators. Coulomb's law.
Lecture#3 Continuous charge distributions. 6 conservation of charge.
Lecture#4 The electric field: conception of the electric field. The electric field of point
charges.
Lecture#5 Electric field of continuous charge. Electric field lines.
Lecture#6 A charge in an electric field. A dipole in an electric field.
Lecture#7 Gauss' law: the flux of a vector field.
Lecture#8 The flux of the electric field. Gauss' law. Applications of gauss' law.
Lecture#9 Gauss' law and conductors. Experimental tests of gauss' law and coulomb's law.
Lecture#10 Electric potential energy and potential: electric potential energy. Electric
potential. Calculating the potential from the field.
Lecture#11 Potential due to point charges. Electric potential of continuous charge.
Calculating the field from the potential.
Lecture#12 The potential of a charged conductor.
Lecture#13 The electrical properties of materials: types of materials.
Lecture#14 A conductor in an electric field: static conditions. A conductor in an electric field:
dynamic conditions.
Lecture#15 Ohmic materials. Ohm's law: a microscopic view. An insulator in an electric field.
Lecture#16 Capacitance: capacitors.
Lecture#17 Definition of capacitance. Calculating the capacitance.
Lecture#18 Capacitors in series and parallel.
Lecture#19 Energy storage in an electric field.
Lecture#20 Capacitor with dielectric.
Lecture#21 Dc circuits. Electric current. Electromotive force.
Lecture#22 Analysis of circuits. Electric fields in circuits.
Lecture#23 Resistors in series and parallel.
Lecture#24 Energy transfers in an electric circuit. Rc circuits
Lecture#25 The magnetic field:
Lecture#26 Magnetic interactions and magnetic poles.
Lecture#27 The magnetic force on a moving charge. Circulating charges. The hall effect.
Lecture#28 The magnetic force on a current carrying wire. The torque on a current loop
Lecture#29 The magnetic field of a current: the magnetic field due to a moving charge.
Lecture#31 The magnetic field of a current.
Lecture#32 Two parallel currents. The magnetic field of a solenoid.
Lecture#33 Ampere's law. Electromagnetism and frames of reference.
Lecture#34 Faraday's law of induction: faraday's experiments. Faraday's law of induction.
Lecture#34 Lenz' law. Motional EMF.
Lecture#36 Generators and motors. Induced electric fields.
Lecture#37 Magnetic properties of materials: the magnetic dipole. The force on a dipole in a
nonuniform field.
Lecture#38 Magnetic materials. Gauss' law for magnetism. Atomic and nuclear magnetism.
Magnetization.
Lecture#39 Inductance. Calculating the inductance. LR circuits.
Lecture#40 Energy storage in a magnetic field. Electromagnetic oscillations: qualitative.
Lecture#41 Electromagnetic oscillations: quantitative. Damped and forced oscillations.
Lecture#42 Alternating current circuits:
Lecture#43 Phasors, alternating currents. Three separate elements. Power in ac circuits.
Lecture#44 The single loop. RLC circuit.
Lecture#45 Maxwell's equations and electromagnetic waves: the basic equations of
electromagnetism. Induced magnetic fields and the displacement current.
Maxwell's equations.