View
2
Download
0
Category
Preview:
Citation preview
DEPARTMENT OF COMPUTER SCIENCE
& INFORMATION TECHNOLOGY
UNIVERSITY OF SARGODHA
PROPOSED COURSE OUTLINES
FOR
BS (HONS.) IN SOFTWARE ENGINEERING PROGRAM
csit@uos.edu.pk
info@uos.edu.pk
BS(SE) Curriculum
2
Table of Contents
Credit Requirements for BS (SE) Degree Program....................................................... 3 Summary of Required Credit Hours for BS (CS) Degree............................................... 3
Courses for BS (SE) Degree Program............................................................................. 4
Course Outlines................................................................................................................. 6 MTH 101 - Calculus I ................................................................................................. 6
MTH 102 - Calculus II................................................................................................ 6
MTH 210 - Linear Algebra ......................................................................................... 7
MTH 250 - Probability and Statistics ......................................................................... 7
NSc 101 - Mechanics and Wave Motion .................................................................... 8
NSc 103 - Electricity and Magnetism......................................................................... 8
ENG 101 - Writing Workshop.................................................................................. 10
ENG 201 - Communication Skills ............................................................................ 10
ENG 205 - Business and Technical Writing............................................................. 11
HUM 150 - Islamic Studies I .................................................................................... 11
HUM 250 - Professional Ethics and issues............................................................... 12
HUM 260 - Arabic Language ................................................................................... 13
HUM 350 - French.................................................................................................... 13
SSc 170 - Pakistan Studies........................................................................................ 14
CMP 140 Programming Fundamentals..................................................................... 14
CMP 200 - Discrete Mathematics............................................................................. 15
CMP 210 - Data Structures and Algorithms ............................................................. 15
CMP 120 – Digital Logic Design ............................................................................. 16
CMP 121– Digital Logic Design Laboratory............................................................ 17
CMP 223 - Computer Organization and Assembly Language ................................. 17
CMP 224 - Computer Organization and Assembly Language Lab .......................... 18
CMP 240 - Object Oriented Programming ............................................................... 18
CMP 320 Operating Systems.................................................................................... 19
CMP 330 - Computer Networks ............................................................................... 20
CMP 331 - Computer Networks Lab ........................................................................ 20
CMP 370 - Database Systems................................................................................... 21
CMP 290 - Software Engineering............................................................................. 21
CMP 390 - Object Oriented Analysis and Design .................................................... 22
CMP 100 - Introduction to Computing..................................................................... 22
SE 310 - Analysis of Algorithms .............................................................................. 23
CS 211 - Theory of Automata and Formal Languages ............................................. 23
SE 490 - Capstone Project I ...................................................................................... 24
SE 491 - Capstone Project II..................................................................................... 24
SE 451 - Human Computer Interaction .................................................................... 25
SE 495 - Design Patterns .......................................................................................... 25
SE 492 - Software Project Management................................................................... 26
SE 493 - Software Quality Assurance ...................................................................... 26
SE 390 - Software Requirements Engineering ......................................................... 27
SE 391 - Software Design and Architecture ............................................................. 28
SE 342 - Enterprise System Development................................................................ 28
BS(SE) Curriculum
3
Credit Requirements for BS (SE) Degree Program
Summary of Required Credit Hours for BS (CS) Degree
Category Credit
Hours
Computing Core Courses 40
Software Engineering – Core Courses 27
Software Engineering - Technical Electives 12
Mathematics 12
Natural Sciences 06
Humanities and Social Sciences 33
Total Credit Hours 130
BS(SE) Curriculum
4
Courses for BS (SE) Degree Program
General Education Requirements (43 credit hours) Credit Hours
Mathematics MTH 101 (Calculus I)
MTH 102 (Calculus II)
MTH 210 (Linear Algebra)
MTH 250 (Probability and Statistics)
3
3
3
3
Total Credits 12
Natural Sciences NSc 101 (Mechanics and Wave Motion)
NSc 103 (Electricity and Magnetism)
3
3
Total Credits 06
Humanities and Social Sciences
English ENG 101 (Writing Workshop)
ENG 201 (Communication Skills)
ENG 205 (Business and Technical Writing)
3
3
3
Total Credits 09
Humanities HUM 150 (Islamic Studies I)
HUM 250 (Professional Ethics and
issues)
HUM 260 (Arabic Language)
Two electives*
3
3
3
Humanities
Elective
HUM x5x Introduction to Islamic
History
HUM x5x Introduction to Psychology
HUM x5x Comparative Religions
HUM x5x English Literature
HUM x5x Urdu Literature
HUM x5x French
3
3
3
3
3
3
Total Credits 12
Social Sciences SSc 170 (Pakistan Studies)
Three electives** 3
Social Science
Elective
SSc x7x Introduction to Economics
SSc x7x Introduction to Social Sciences
SSc x7x Introduction to Political
3
3
3
BS(SE) Curriculum
5
Science
SSc x7x Introduction to Management
SSc x7x Introduction to Sociology
SSc x7x History of Civilization
3
3
3
Total Credits 12
Total Credit Hours 43
(a) Core Courses in Computing (40 credit hours) Credit Hours
Introduction to Computing CMP 100 3
Programming Fundamentals CMP 140 3
Discrete Mathematics CMP 200 4
Data Structures and Algorithms CMP 210 3
Digital Logic Design CMP 120 3
Digital Logic Design Lab CMP 121 1
Computer Organization and Assembly Language CMP 223 3
Computer Organization and Assembly Language Lab CMP 224 1
Object Oriented Programming CMP 240 3
Operating Systems CMP 320 3
Computer Networks CMP 330 3
Computer Networks Lab CMP 331 1
Database Systems CMP 370 3
Software Engineering CMP 290 3
Object Oriented Analysis and Design CMP 390 3
40
(b) Core Courses in Software Engineering (27 credit hours) Credit Hours
Analysis of Algorithms SE 310 3
Software Design and Architecture SE 391 3
Enterprise Application Development SE 342 3
Software Requirements Engineering SE 390 3
Software Quality Assurance SE 493 3
Human Compute Interaction (An SE Approach) SE 451 3
Software Project Management SE 492 3
Capstone Project I SE 490 3
Capstone Project II SE 491 3
27
(c) Elective Courses in Software Engineering (12 credit hours) Credit Hours
The following is a list of sample elective courses
Theory of Automata and Formal Languages CS 211 3
Internet Programming SE 340 3
Artificial Intelligence CS 360 3
Systems Programming SE 420 3
Compiler Construction CS 443 3
BS(SE) Curriculum
6
Programming Languages CS 440 3
Computer Graphics CS 450 3
Advance Database CS 371 3
Data Warehousing CS 470 3
Data Mining CS 471 3
Design Patterns SE 495 3
Geographical Information System SE 472 3
Internetworking with UNIX TCP/IP SE 430 3
Network Security CS 431 3
Software Development Technologies SE 442 3
Visual Programming SE 441 3
Semantic Web SE 461 3
Course Outlines
MTH 101 - Calculus I
Course Description This course provides a systematic introduction to the aspects of differential and integral calculus. It
provides a sound foundation in calculus for students of Mathematics and Computer Science. Emphasis of
the course is on modeling and applications. The following topics will be covered in this course: Number
systems, Intervals, Inequalities, Functions, Solving absolute value equations and inequalities, Limits,
Continuity, Limits and continuity of trigonometric functions, Slopes and rates of change, the Derivative,
Local linear approximation, Differentials, Analysis of functions, Rolle’s theorem and Mean value theorem,
the indefinite integral, the definite integral, L’Hopital’s rule; Integration, First order differential equations
and applications, Second order linear homogeneous differential equations, Polar coordinates and Graph
sketching, Conic sections in calculus.
Prerequisites None
Text Book Anton, Bivens and Davis, Calculus, 7
th Edition, John Wiley and Sons, 2002. ISBN: 9971-51-431-1
Reference Books � Thomas and Finney, Calculus with Analytic Geometry, Addison Wesley 10
th Edition, 2001. ISBN:
0201163209
� Dennis G.Zill & Michael R. Cullen, Differential equations with boundary value problems, 3rd
Edition,1992. ISBN: 0534418872
� Online Material: www.mathworld.com
MTH 102 - Calculus II
Course Description The objective of this course is to prepare the students for coordinating problems by various viewpoints and
to encourage and motivate the students to think abstractly, and explore possibilities in field of computer
science, in particular, computer graphics. Class assignment will be given at the end of each lecture, and
Software MATLAB/MATHEMATICA/MAPLE will be used to demonstrate the visualization of surfaces.
The following topics will be covered in this course: Motivation and applications of the course, Rectangular
BS(SE) Curriculum
7
coordinates in 3-space, spheres, cylindrical surfaces, Vectors, Scalar (dot) products, projections, Vector
(cross) products, Parametric Equations of Lines, Planes in 3-space, Quadric surfaces, Spherical and
cylindrical coordinates, Introduction to vector-valued functions, Calculus of vector-valued functions,
Change of parameter, Arc length, Unit tangent, normal, and binormal vectors, Curvature, Functions of two
or more variables, Partial derivatives, The Chain rule, Directional derivatives and Gradients, Tangent
planes and normal vectors, Maxima and minima of functions of two variables, Lagrange multipliers,
Double integral , Parametric surfaces; Surface area, Triple integral, Line integrals, Green’s Theorem,
Surface integrals; application of surface integrals, Divergence Theorem, Stoke’s Theorem.
Prerequisites MTH 101 – Calculus I
Text Book Anton, Bivens and Davis, Calculus, 7th Edition, John Wiley and sons, 2002.ISBN: 9971-51-431-1
Reference Books � Thomas and Finney, Calculus with Analytic Geometry, Addison Wesley, 9
th Ed, 1999. ISBN:
0201163209
MTH 210 - Linear Algebra
Course Description The purpose of this course is to provide a solid foundation in Linear Algebra. It will enable the students to
master the concepts and to know when and how to apply linear algebra. Applications are taken from such
areas as Cryptography, Fractals, Chaos, Computer Graphics, Game of Strategy, Computer Tomography,
Warps and Morphs. The Software MATLAB will be used for the implementation of Linear Algebra. The
following topics will be covered in this course: Introduction to Linear Algebra (History, differentiation
between Matrix Algebra and Linear Algebra), Concept of a matrix with real entries, Operations of matrices
(Addition, multiplication, scalar multiplication, trace, transpose), Determinant of a matrix and its
properties. Singular and non-singular matrices, Row/Column elementary Operations defined on a matrix
Inversion of a matrix (by elementary operations), Reduction of matrix into echelon and reduced echelon
form by elementary operations. Rank of a matrix, Introduction to system of linear equations, Solution of
system of linear equations by Gauss elimination method, Concept of algebraic Structures (Semi group,
Group, abelian group), Sub groups, Cosets, Mappings, Ring and Field, Introduction to vector spaces, Linear
combination, linear span, Linear dependence and independence of vectors, Concept of basis and dimension,
Linear transformations, Kernel and Range, Matrix representations of a linear transformation, Matrix
transformations (dilation, contraction, reflection, compressions and expansion), Affine Transformations
(Shearing, Scaling, Rotation, and Translations), Concepts of eigenvalue and eigenvector, Characteristic
equation, Eigenvalues of an upper & lower triangular matrix, Diagonalization of matrices, Matrix
Functions, Concepts of Norm and inner product space.
Prerequisites Calculus – II
Text Book Anton - Rorres “Elementary Linear Algebra, application version”. 8th Edition, John Wiley & Sons, Inc.
2000, ISBN: 978-0-471-44902-7
Reference Material � David C Lay, Linear Algebra, Pearson Addison Wesley, 1999, ISBN: 0201660369
MTH 250 - Probability and Statistics
BS(SE) Curriculum
8
Course Description This course is aimed to introduce the concept of statistics, randomness and probability and build on these
concepts to develop tools and techniques to work with random variables. The following topics will be
covered in this course: Introduction to Statistics, Descriptive Statistics, Statistics in decision making,
Graphical representation of Data Stem-and Lead plot, Box- Cox plots, Histograms and Ogive, measures of
central tendencies, dispersion for grouped and ungrouped Data, Moments of frequency distribution;
examples with real life, use of Elementary statistical packages for explanatory Data analysis. Counting
techniques, definition of probability with classical and relative frequency, subjective approaches, sample
space, events, laws of probability. General Probability Distributions, Conditional probability, Bayes
theorem with application to Random variable (Discrete and continuous) Binomial, Poisson, Geometric,
Negative Binomial Distributions, Exponential Gamma and Normal distributions, Regression and
Correlation.
Prerequisites None
Text Book Walpole, Introduction to Statistics, Prentice Hall, , 1982, ISBN: 0024241504.
Reference Material: � G. Cowan G, Statistical Data Analysis, Clarendon, Oxford, 1998, ISBN13: 9780198501558
� Mariano R, Advances in Statistical Analysis and Statistical Computing III, JAI Press, Greenwich,
Conn, 1993
NSc 101 - Mechanics and Wave Motion
Course Description To teach students calculus based general physics by way of learning about the following topics in depth:
Measurement and vectors, Motion in one, two and three dimensions, Newton’s laws of motions, Work and
energy principles, Laws of conservation of momentum and energy, One- and two-dimensional collisions,
Rotational kinematics and dynamics, Conservation of angular momentum, Gravitation, Oscillations and
waves.
Prerequisites None
Textbook
Resnick, Halliday and Krane, Physics, vol. 1, 2001, ISBN: 978-0-471-32057-9
Reference Material
� Sears and Zemansky, University Physics, vol. 1, 2003, ISBN-10: 0201603365
NSc 103 - Electricity and Magnetism
Course Description The primary objective of the course is to teach student calculus based general physics, particularly basic
concepts of thermodynamics, electricity, and magnetism. The following topics will be covered in the
course: Temperature, Thermal expansion, Kinetic theory and the ideal gas, Heat and First law of
thermodynamics, Entropy and Second law of thermodynamics, Review of Vectors, Electric Charge and
Coulomb’s law, Electric field, Gauss’s law, Electric potential, Capacitors and dielectrics, Current and
BS(SE) Curriculum
9
resistance, Ohm’s Law, Simple resistive circuits (series and parallel), Magnetic field, Ampere’s law,
Faraday’s law of induction, Lien’s Laws, Ampere’s Law and its applications.
Prerequisites Mechanics and Wave Motion
Text Book Halliday, Resnick, and Walker, Fundamentals of Physics Extended, Sixth Edition, 2000, ISBN: 978-0-471-
32000-5
Reference Books 1. Sears and Zemansky, University Physics, vol. 1, 2003, ISBN-10: 0201603365
� Sears and Zemansky, University Physics, vol. 2, 1997, ISBN-10: 02016033655
BS(SE) Curriculum
10
ENG 101 - Writing Workshop
Course Description The basic philosophy behind writing workshop is to allow students to daily spend time writing for real
purposes about things that interest them. Students can experiment with a variety of genres. English,
spelling, handwriting and other mechanics can be taught within writing workshop. Students learn the craft
of writing through practice, conferring, and studying the craft of creative and fundamental writings. Topics:
Introduction of communication; 4 skills of communication; Importance and Benefits of Effective
communication; Components of communication; Components of communication; Concepts and problems
of communication; Forms of communication: verbal/ nonverbal; The general principles of communication;
The general principles of communication; Communication and the Global Context; Strategies for
Successful Speaking. Project Documentation and Presentation must be treated as compulsory part of this
paper. Note for the instructor: make frequent use of worksheets in class and in homework assignments.
Prerequisites None
Text Book George Stern, Learners’ Writing in English, Learners Publishing, ISBN: 981-4107-03-4
Reference Books � Hand outs: Synonyms, Antonyms, Idiomatic Phrases and Difference Between American and
British English
� Useful links: www.owl.english.purdue.edu, www.askoxford.com
ENG 201 - Communication Skills
Course Description The aim of this course is to develop good English writing, language usage and reading skills, to appreciate
the importance of business communication and to develop understanding of communication concepts,
principles, theories and problems. It will also help in developing good oral communication and presentation
skills. The following topics will be covered in the course: Principles of writing good English, understanding
the composition process, Comprehension and expression, Use of grammar and punctuation, Process of
writing, observing, audience collecting, composing, drafting and revising, persuasive writing, reading
skills, listening skills and comprehension, skills for taking notes, Business communications, planning
messages, writing concise but with impact, Letter formats, mechanics of business, letter writing, letters,
memo and applications, summaries, proposals, writing resumes, styles and formats, oral communications,
verbal and nonverbal communication, conducting meetings, small group communication, taking minutes,
Presentation skills, Presentation strategies, material gathering, material organization strategies, time
management, opening and concluding, use of audio-visual aids, delivery and presentation.
Prerequisites Writing Workshop
Text Book Modern Approach to Communication Skills, Organized and Complied by Samreen Jawed, Published by
University Book Corner, Urdu Bazaar Lahore
Reference Material � Handouts will be provided by the instructor
� Vawdrey, Stoddard, Bell, Practical Business English, ISBN-10: 0256102740
• Herta A. Murphy, Effective Business Communication, ISBN-10: 007044398X
BS(SE) Curriculum
11
ENG 205 - Business and Technical Writing
Course Description The objective of this course is to upgrade students’ ability to write effectively in the world of science,
technology and business, to produce experts and specialists in the business and technical writing, to
enhance students’ skills for the effective delivery of technical information to audience (listeners or
viewers). It will help the students to generate thorough understanding of common types of reports, special
format items and other technical features of business documents, to develop verbal and non verbal
communication skills for an effective display of personality. The following topics will be covered in the
course: Business communication overview, Communication and organizational effectiveness, Process of
creating effective messages, five planning steps and organizational plans, Different Forms of Written
communication including Persuasive messages, Good News and Neutral messages, Bad News,
Memorandum writing, Letter writing, Informative and positive messages, Academic, research and business
proposals writing, Formal Report Writing, Business Research Methods, Documentation and Research
Citation, Oral presentation, Strategies for an effective Audience Analysis, Non-verbal communication,
Employment communication, Cross-cultural communication, Business Communication and the Ethical
Contexts.
Prerequisites: Communication Skills
Text Book The Modern Business and Professional Communication, Revised Edition, Organized and Complied by
Samreen Jawed, Published by University Book Corner, Urdu Bazar.
Reference Material: • Handouts provided by the instructor
• Greenfield, T., Research Methods, Guidance for Postgraduates, Arnold, 1996, ISBN-10:
0340806567
HUM 150 - Islamic Studies I
Course Description This course provides a comprehensive knowledge of Islam. It covers the basic beliefs and practices of
Islam. This course is intended to familiarize students with a range of the most important Islamic beliefs,
practices, and issues. It should equip them to recognize, understand and appreciate the different dimensions
of Islam that they will encounter in their practical life. This course will enable the students to perform their
worship in the manner prescribed by Allah. It will also make them aware of their duties as Muslims,
including what is compulsory, what is permitted and what is forbidden for a Muslim in his day-to-day life.
This course will also enable the students to appreciate the beauty and excellence of Islamic moral and
social teachings and adopt them as their guidance in life thereby demonstrating values and attitudes
necessary for a healthy and balanced lifestyle. The following topics will be covered in this course:
Aqeedah, Tawheed, Risalah and Al-Akhira, Tahara, Salah, Sujood as-Sahw, Qadda (making up), Qasr
(Shortening) and Jama(Joining), Sawm (Fasting), Salah at-Taraaweeh (The Night Prayer), Zakaah, Hajj,
Jihad, Birth, Tehneek , Aqeeqah and Circumcision (Khittaan), Death, The Funeral Prayer, Burial, Food and
Dress/Adornment, Male/Female relationship, Social Interaction Between Men & Women,
Marriage(Nikah), Rights and Obligations of the Spouses, The Law of Divorce, Inheritance, Major Sins
(Kabirah), Crime & Punishment, Islamic Economics & Finance, Contemporary issues, Moral/ Manners /
Tazkiyah Nafs, concepts of Taqwa, Tazkiyah, Ihsan, Huqooq ullah and Huqooq ul-Ibad.
Prerequisites None
Text Book
BS(SE) Curriculum
12
Dr. Muhammad Hamidullah, Introduction to Islam, 2003, publisher-wilmett:III, BAHAI Publications
Trust, ISBN-1931847061.
Reference Material • Marwan Ibrahim Al-Kaysi, Morals And Manners in Islam, 1991, The Islamic Foundation,
Leicester, United Kingdom, 1991.
• Mohammad Yusuf Islahi, Etiquettes of Life In Islam, Markazi Maktabah Islami Publishers, New
Delhi, 2003.
• Dr. Abu Ameenah Bilal Philips, The Foundations of Islamic Studies.
• John Esposito, Islam: The Straight Path, 3rd
Edition 2005 Oxford University Press, ISBN-
0195182669
• Abul A'la Mawdudi, Al-Jihad Fil Islam
• Dr. Abu Ameenah Bilal Philips, Funeral Rites in Islaam –2nd
Edition 2005, International Islamic
publishing (IIPH) ISBN-9960850846
• Jamal A. Badawi, At-Taharah: Purity And State Of Undefilement
• Abul A'la Mawdudi, Human Rights in Islam, The Islamic Foundation, Leicester, United Kingdom,
ISBN-0950395498
• Abul A'la Mawdudi, Ethical Viewpoint of Islam 1972, KALI Publishers, ISBN-0935782990
• Muhammad Akram Khan, An Introduction to Islamic Economics, 1994, The International Institute
of thoughts Islamabad.
• Khurshid Ahmad, Studies in Islamic Economics, 1980, The Islamic Foundation, Leicester, United
Kingdom.
HUM 250 - Professional Ethics and issues
Course Description The objective of this course is to impart an understanding of the fundamental principles and teachings of
Islam through study of selected verses of the Quran and Prophetic Sayings. It also includes the important
facets of the Prophet’s life and salient features of Islamic Civilization. It will provide appreciation of other
prominent religions, systems of ethics and cultures to prepare students to survive in international and
multicultural work place. This course introduces students to the basic teachings of Islam so that they can
understand the rationale behind Islamic beliefs and practices. The following topics will be covered in the
course: Basic sources of teaching, beliefs and their impact on human life, obligation to God, obligations to
fellow human beings, and other related issues.
Prerequisites None
Text Book
Dr. Muhammad Hamidullah, Introduction to Islam, 2003, publisher-wilmett:III, BAHAI Publications
Trust, ISBN-1931847061.
Reference Material • Marwan Ibrahim Al-Kaysi, Morals And Manners in Islam, 1991, The Islamic Foundation,
Leicester, United Kingdom, 1991.
• Mohammad Yusuf Islahi, Etiquettes of Life In Islam, Markazi Maktabah Islami Publishers, New
Delhi, 2003.
• Dr. Abu Ameenah Bilal Philips, The Foundations of Islamic Studies.
• John Esposito, Islam: The Straight Path, 3rd
Edition 2005 Oxford University Press, ISBN-
0195182669
• Abul A'la Mawdudi, Al-Jihad Fil Islam
• Dr. Abu Ameenah Bilal Philips, Funeral Rites in Islaam –2nd
Edition 2005, International Islamic
publishing (IIPH) ISBN-9960850846
BS(SE) Curriculum
13
• Jamal A. Badawi, At-Taharah: Purity And State Of Undefilement
• Abul A'la Mawdudi, Human Rights in Islam, The Islamic Foundation, Leicester, United Kingdom,
ISBN-0950395498
• Abul A'la Mawdudi, Ethical Viewpoint of Islam 1972, KALI Publishers, ISBN-0935782990
• Muhammad Akram Khan, An Introduction to Islamic Economics, 1994, The International Institute
of thoughts Islamabad.
• Khurshid Ahmad, Studies in Islamic Economics, 1980, The Islamic Foundation, Leicester, United
Kingdom.
HUM 260 - Arabic Language
Course Description The main objective of this course is to give students an introduction to the basic syntax and morphology of
the Arabic language so that they can study the language at an advanced level on their own. At the end of
the course students will be in a position to understand simple Arabic sentences and decipher the meaning of
complex sentences to some extent with the help of a dictionary. Although the main stress shall be on
explaining the sentence structure, it is expected that some use of Situational Language Teaching (SLT) and
communication will also give the students a limited ability to read Arabic texts and communicate in that
language. The following topics will be covered in the course:
Prerequisites None
Text Book Standard textbook by Punjab University
Reference Material None
HUM 350 - French
Course Description The aim of this course is to introduce a beautiful and world’s second spoken language to students and
importance of bilingual vision of a person in modern era, to make the students capable of understanding
and speaking a new language, to establish the concept and basis about the grammar in students. It
emphasizes not only on theoretical education but the implication of French language in practical life in
different situations. The following topics will be covered in the course: Introduction to French Language,
Nature, scope and importance of another language, acquisition of the four skills of oral/written
comprehension and oral/written production within the framework of real communication situations linked
to the realities of the workplace using audio-oral approach, cultural dimension, pride of place as each unit
focuses on a particular civilization theme. Different daily life situations e.g. To take an appointment,
Introduce one’s self to another person, Hotel reservations, Arrivals, Departures, Buying a ticket and
seeking information etc.
Prerequisites None
Text Book
BS(SE) Curriculum
14
S. Truscott – M. Mitchell and B. Tauzin, Le Français à grande vitesse –2003 (Cours Intensif), Mark Rouse
publishers, France, ISBN-0-7897-2849-4
Reference Material • Dr. S.H.A Rasool, French For Intermediate
SSc 170 - Pakistan Studies
Course Description The main objective of this course is to make the students familiar with the History of Pakistan, its ideology
and all the Problems, which have been faced at the time of creation of Pakistan. All the great nations
remember their history and it is very important to make the new generation familiar about it to achieve their
goals and to set the future trends. Students will learn the reason behind the achievements of the Pakistan.
The following topics will be covered in the course: Historical background of Pakistan: Muslim society in
Indo-Pakistan, Ideology of Pakistan, Two Nation Theory, the movement led by the societies, the downfall
of Islamic society, establishment of British Raj- Causes and consequences, Political evolution of Muslims
in the twentieth century, Sir Syed Ahmed Khan, Muslim League, Nehru, Allama Iqbal, Independence
Movement, Lahore Resolution, Creation of Pakistan and transfer of power, Pakistan culture and society,
Constitutional and Administrative issues, Pakistan and its geo-political dimension, Pakistan and
International Affairs, Pakistan and the challenges ahead.
Prerequisites None
Text Book Dr. Muhammad Sarwar, A Text book of Pakistan Studies, Ilmi Kitab Khana, Urdu Bazar, Lahore, 2003
Reference Material: • Ikram ul Haq Raja Pak. Studies, Azeem Academy, Urdu Bazar Lahore 2001
CMP 140 Programming Fundamentals
Course Description “Programming is to Computer science as Calculus to Physics and Engineering”. Theories of computer
science can effectively be verified via programming. Emphasis of the course is on developing Problem
Solving skills. Introduction: Introduction to Course, Program and Algorithm, Programming Language,
Flow-charting, Software Development Life Cycle: Analysis, Design, Implementation, Testing, Deployment
and Maintenance. Flowcharting as schematic representation of an algorithm or a process; Program
Development Life Cycle: Editing, Compiling, Linking, Loading and Execution; C Programming Language:
introduction, history, significance. Basic C Language Constructs: Data types, Variable and Constants,
Operator and Expressions, Console I/O, Formatted I/O, Escape Sequences. Structured Programming in C
Language: Decision making using if control structure, Repetition using for and do while, multiple selection
using switch and logical operators. Procedural Programming in C Language: functions, prototype,
parameter and arguments, call by value, header files, scope and lifetime of variables (storage classes),
recursion. Pointers: Pointer Significance, pointer definition, pointer arithmetic, constant pointers, Call by
Reference; Composite Data Types Arrays: definition, processing, multi dimensional arrays, searching and
sorting, passing of array to a function. Strings: string and characters, string conversion functions, Dynamic
Memory Allocation. User Defined Data Types: structures, definition, initialization, accessing members of
structures, Self Referential Structures, typedef, union and bitwise operators, enumerations. C File
Processing: files and streams, Sequential Access File, Random Access File. Miscellaneous Topics:
Command Line Arguments, Compiling Multiple Source Files, Developing Libraries. exit and atexit.
BS(SE) Curriculum
15
Graphics (Which must be the last session of this course) Preparing for Graphics, Line, Circle, Filling Color,
Text and Graphics, Pixel, Bit Images
Prerequisites None
Text Book • H.M. Deitel, “C How To Program”, 2
nd Ed., Pearson Education, 2004. ISBN 81-297-0676-8
• Dennis M. Ritchie, The C Programming Language, 2nd
Ed., Prentice Hall, 1988. ISBN 0-13-
110362-8
Reference Books � Koenig Andrew, “C Traps and Pitfalls”, 2
nd Ed., Addison-Wesley, Nov., 1988, ISBN
9780201179286
� Stephen G. Kochan, “Programming in ANSI C”, Ist Ed., Prentice-Hall, 1993, ISBN:0672303396
� Clovis L. Tondo, Scott E. Gimpel, “The C Answer Book”, Ist Ed., November 19998, Prentice
Hall, ISBN 0131096532
� Alan R. Feuer, “The C Puzzle Book”, 2nd
Ed., Prentice Hall, October 1989, ISBN:0-13-115502-4
CMP 200 - Discrete Mathematics
Course Description This course introduces the foundations of discrete mathematics as they apply to Computer Science,
focusing on providing a solid theoretical foundation for further work. It aims to develop understanding and
appreciation of the finite nature inherent in most Computer Science problems and structures through study
of combinatorial reasoning, abstract algebra, iterative procedures, predicate calculus, tree and graph
structures. The following topics will be covered in the course: Introduction to logic and proofs, Direct
proofs, proof by contradiction, Sets, Combinatorics, Sequences, Formal logic, Prepositional and predicate
calculus, Methods of Proof, Mathematical Induction and Recursion, loop invariants, Relations and
functions, Pigeon whole principle, Trees and Graphs, Elementary number theory, Optimization and
matching, Fundamental structures, Functions (surjections, injections, inverses, composition), relations
(reflexivity, symmetry, transitivity, equivalence relations), sets (Venn diagrams, complements, Cartesian
products, power sets), pigeonhole principle; cardinality and countability.
Prerequisites None
Text Book Rosen, Discrete Mathematics and Its Applications, 5th edition, 2002, McGraw-Hill, ISBN: 0072424346
Reference Material • Richard Johnsonbaugh, Discrete Mathematics, Prentice Hall, 1996, ISBN: 0135182425
• Kolman, Busby & Ross, Discrete Mathematical Structures, 4th Edition, 2000, Prentice-Hall,
ISBN: 0130831433
CMP 210 - Data Structures and Algorithms
Course Description This course is designed to teach students structures and schemes, which allow them to write programs to
efficiently manipulate, store, and retrieve data. “An apprentice carpenter may want only hammer and saw,
but a master craftsman employs many precision tools; (Robert L. Kruse Data Structure and Program
Design)”. Computer programming likewise requires sophisticated tools to cope with complexity of real
applications and only practice with these tools will build skill in their use. Topics: Introduction:
BS(SE) Curriculum
16
Introduction to Course, Review of Object Oriented Programming Concepts. Algorithm Specification:
Properties of Algorithm, examples, performance, analysis, measurement, and Big Oh notation. Introduction
to ADTs: Array and Polynomial as an ADT, and Representation of Arrays. Stack ADT, Expressions,
Postfix Notation, and Infix to postfix conversion. Recursion: Recursive Definition and Processes, Writing
Recursive Programs. Queue: The Queue ADT, Circular and Double Ended Queue. Self-Referential Classes,
Linked List: Linear/Circular Singly/Double Linked Lists, Linked Stacks and Queues. Trees: Introduction to
Trees, Logical construction and Traversing of Binary Trees, Implementation of Binary Trees (Insertion and
Traversing), Searching and deletion in Binary Trees, Binary Search Tree, Introduction to Balanced and
AVL Trees. Heaps: Heaps and Heaps as Priority Queues, Double Ended Priority Queue. Hashing: Hash
Functions: Division; Overflow Handling: Chaining; Introduction to Some advance topics like: B-Trees,
Indexing, Sets, Compression and Network Flows etc. Sorting Types and Techniques: Logical and
Algorithmic Implementation of Selection, Bubble, Insertion, Shell, Radix, Merge, Quick, Heap, and Tree
Sorts. Graphs: Graph terminology, Adjacency List and Adjacency Matrix and Adjacency list representation
of Graph; Elementary Graph Operations: Breadth First Search and Depth First Search, Spanning Trees
(BFSST, DFSST), Minimum Cost Spanning Trees.
Prerequisites CMP-240 Object Oriented Programming
Text Book • Mark Allen Weiss, “Data Structure and Algorithms in C++”, 2
nd Ed., Addison Wesley, 1999,
ISBN 0201361221
• Ellis Horowitz, Sartaj Sahni, and D. Mehta “Fundamentals of Data Structures in C++”, 2nd Ed.,
Computer Science Press, 1995. ISBN 81-7808-792-8
Reference Material • Michael T. Goodrich, “Data Structures and Algorithms in C++”, I
st Ed., John Wiley & Sons,
2006, ISBN: 0470075619
• Adam Drozdek “Data Structure and Algorithm in Java”, 2nd Ed., Brooks/Cole Publishing Co,
2001, ISBN 0-534-37668-1
• D. Samanta. “Classic Data Structures”, 2nd
Ed., Prentice Hall, 2001, ISBN: 8120318749
• Tenenbaum, M. Augenstein, and Y. Lang Sam, “Data Structures using C and C++” 2nd Ed.,
Prentice Hall, 1999, ISBN-10: 0130369977
• Standish, Thomas A., "Data Structures, Algorithms, and Software Principles in C", Ist Ed., 1994,
Addison-Wesley, ISBN 0201528800.
• Timothy Budd “Data Structures in C++ using the STL Ist Ed., 1998, Addison Wesley, ISBN
0201308797
• Standish, Thomas A., "Data structure techniques Reading", Ist Ed., Addison-Wesley, 1980, ISBN
0201072564
CMP 120 – Digital Logic Design
Course Description The primary objective of the course is to develop in students a thorough understanding of digital logic
design principles. The following topics will be covered in the course: Number Systems, Codes
(Parallel/Serial), Logic Gates, Boolean Algebra, Boolean Algebra, Positive/Negative Logic, Boolean
Algebra (Dual/De-Morgan), Algebraic simplification, Combinational Logic, Truth Tables, Min/Max terms,
Combinational Logic, K-Maps, Don’t Cares, Multiple outputs, Combinational Logic, 5-6 K-Maps,
Combinational Logic Design Practices, Negative numbers, Addition, multiplication, parity, decoders,
Encoder, Multiplexor /Demux, Hazards, Tristate, Latches & Flip Flops, Counters / Registers, Synchronous
Counters, Sequential Logic Design Principles (Wakerly), Mealy / Moore Design—Sequential Circuits—
(Wakerly), ROMS, SRAMS, DRAMS, Memory Organization, ADC / DAC Interf Analog World, Digital
Electronics, Characteristics, Parameters, Digital Electronics, Logic Families, TTL, CMOS, BiCMOS, ECL,
Low-Voltage Logic, Open/Tristate Wired Logic, Bus Tnterface Logic, Mixing CMOS/TTL
BS(SE) Curriculum
17
Prerequisites None
Text Book Tocci & Widmer, Digital Systems, Principles and Applications, 10
th Edition, 2006, Published by Pearson
Education, ISBN-10: 0131725793 and ISBN-13: 978-0131725799
Reference Books • John F. Wakerly, Digital Design, Principles & Practices, 3
rd Edition Updated, Published by
Prentice Hall, ISBN-10: 0137691912 and ISBN-13: 978-0137691913
CMP 121– Digital Logic Design Laboratory
Course Description The primary objective of the course is to give students practice in designing, implementing, and testing
simple digital circuits by using simulation tools and actual integrated circuits (ICs). Experiments must
cover the use of following digital circuit elements: logic gates (AND, OR, NOT, NAND, NOR), half-
adders, full-adders, multiplexers, demultiplexers, decoders, encoders, flip-flops, shift registers, counters,
and RAM.
Prerequisites None
Text Book Laboratory Manual prepared by the institution.
Reference Books None
CMP 223 - Computer Organization and Assembly Language
Course Description The main objective of this course is to introduce the organization of computer systems and usage of
assembly language for optimization and control. Emphasis should be given to expose the low-level logic
employed for problem solving while using assembly language as a tool. The students will be capable to
acquire knowledge that is specific to Intel 80x 86 processor families, as well as knowledge that is universal.
They will learn the programming methodologies showing how to use Assembly Language for Application
Software’s, System Programming and Terminate and Stay Resident. They will develop programs based on
the interaction between Assembly Language and Operating System, Security Software’s, encryption and
decryption programs, programs for Reverse Engineering, programs for small scale Embedded Systems and
Games specially Networking Games using serial and parallel ports. Following topics will be covered in this
course: Processor Architecture and Organization, Memory Architecture, Intel 8086 Registers, Addressing
Modes, Memory Addressing, MOV The Basic Instruction, Debugger, Mathematical and Bit wise Logical
instruction, Stack Instructions, Interrupts, Memory Models, Practice of Program Writing and Debugging,
Control Transfer and Conditional Action Instructions, Procedures, Macros, Shift and Rotate Instructions,
Procedures to Input and Display Binary, Decimal, Hexadecimal Numbers, Reading DOS Command Tail,
Data Communication, File Handling, Recursion, High–Level Logic Structures, Interfacing of Assembly
and C++ , Languages, Storage of Real Numbers, Math co-processor, String instructions, Introduction to
Machine Code, Protected Mode, Terminate and Stay Resident Programs, Micro Controller Programming
(8051)
Prerequisites Digital Logic Design
BS(SE) Curriculum
18
Text Book Barry B. Brey, 'The Intel Microprocessors, 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium and
Pentium Pro Processor, Pentium II, Pentium III and Pentium 4, Architecture, Programming and Interfacing'
Seventh Edition, Prentice Hall, 2006, ISBN-9780131195066
Kip R. Irvine, Assembly Language for Intel Based Computers, Fifth Edition, Prentice-Hall Publishing, 2006,-
ISBN-13: 9780132383103
Reference Material
• Allen L. Wyatt, Using Assembly Language, 3rd Edition, Publishing Que Corporation 1992,-ISBN:
0-88022-884-9
• I Scott Mackenzie, Raphael C.-W.Phan, 8051 Micro-controller Programming, 4th
Edition, Prentice
Hall PTR, 2006, ISBN 0130195626
CMP 224 - Computer Organization and Assembly Language Lab
Course Description Instruction set architecture. Accumulator based, Stack Based and General Purpose Register Organization.
Processor’s Data Path. Design of a basic computer highlighting the timing and control system in instruction
execution cycle. Interrupts, traps and signals. Comparison of Intel 80x86 and MIPS architectures.
Addressing Modes. Mapping of High level language to corresponding assembly and machine language.
Memory and Cache organization techniques. I/O techniques (Memory mapped and isolated I/O). Latest
trends in Architectures.
Prerequisites Digital Logic Design
Text Book • Barry B. Brey, 'The Intel Microprocessors, 8086/8088, 80186/80188, 80286, 80386, 80486,
Pentium and Pentium Pro Processor, Pentium II, Pentium III and Pentium 4, Architecture,
Programming and Interfacing' Seventh Edition, Prentice Hall, 2006, ISBN-9780131195066
• Kip R. Irvine, Assembly Language for Intel Based Computers, Fifth Edition, Prentice-Hall
Publishing, 2006,-ISBN-13: 9780132383103
Reference Material
• Allen L. Wyatt, Using Assembly Language, 3rd Edition, Publishing Que Corporation 1992,-ISBN:
0-88022-884-9
• I Scott Mackenzie, Raphael C.-W.Phan, 8051 Micro-controller Programming, 4th
Edition, Prentice
Hall PTR, 2006, ISBN 0130195626
CMP 240 - Object Oriented Programming
Course Description The aim of this course is to equip the learner with the philosophy and necessary skills to formulate
solutions of real world problems using object oriented paradigm. The following topics will be covered in
the course: Overview of Structured Programming, Moving from C to C++: Switching from ‘C’ header files
to ‘C++’, printf/scanf, Bugs of Macros and C++ Replacement, global identifiers, Overloading & Default
BS(SE) Curriculum
19
Arguments, Alias, Dynamic Memory Allocation; Evolution of Programming Paradigms; Why OOP and
Basic OOP concepts: Terminology (with the help of real world examples and all possible synonym terms):
Data Abstraction, Encapsulation, Information Hiding, Principle of Least Privilege, Object, attribute/Data-
Member, operation/Member-Function, Encapsulation, Wrapper Method: Setter/Mutator and
Getter/Accessor methods, Utility Operation/Method, Interface, Implementation, Separating Interface from
Implementation; Class Header, Class Body, Special Methods: Constructor and Destructor; Pointer to
Object; Object Passing: By Reference/Value, Shallow/Deep Copy Problems, Temporary Objects; Modifier
const: constant functions/data-member/objects; Modifier static: static functions/data-member/objects; Array
of objects, Composition; Friend Function and Classes, Operator Overloading: Arithmetic/logical/relational
operators, assignment operator, index operator, Function Object, type-cast operator, Smart Pointer,
new/delete operators; Inheritance: Generalization Is-A relationship, Is-Kind of, Problem solving in OO
paradigm, OO program design process , Polymorphism: Compile Time and Runtime/Overriding, V-Table
structure, Pointer to Member Functions; Function/Class Templates: Full/Partial/Extended Specialization;
C++ Streams: Members and Manipulators of Streams, File Processing using Streams: Input/Output of
Object from/to File (binary/ text mode), Access Techniques: Sequential and Random Access Files;
Exception Handling: Error vs. Exception, Evolution of Exception Handling: exit, abort, assert, new-
keywords: try, catch, throw, Unhandled Exception, throw list, Propagation of Exception and its advantage;
Prerequisites CMP 140 Programming Fundamentals
Text Book • Bruce Eckel, “Thinking in C++”, 2nd Ed, Pearson Publication, ISBN 0-13-979809-9
• P J Deitel & H M Deitel, “C++ How to Program”, 4th
Ed., Prentice Hall, 2001. ISBN 0130384747
Reference Material • Bjarne Stroustrup, “The C++ Programming Language” 3rd Ed, Addison Wesley, ISBN: 0-201-
88954-4
• Stanley B. Lippman and Josee Lajoie, “C++ Primer”, April 1998, 3rd Edd., Addison Wesley,
ISBN 0201824701
• David Vandevoorde and Nicolai M. Josuttis, “C++ Templates”, November 2002, Ist Edd.,
Addison Wesley, ISBN 0201734842
• Scott Meyers, “Effective C++”, September 1997, 2nd Edd., Addison Wesley, ISBN 0201924889
• Herbert Schildt, “C/C++, The Complete Reference”, 3rd Ed, Osborne McGraw-Hill, ISBN 0-07-
882476-1
• Herbert Schildt, Herb Schildt. “STL Programming”, Ist Edd.December 1998, McGraw-Hill
Osborne Media, ISBN 0078825075
CMP 320 Operating Systems
Course Description The objective of this course is to give students knowledge of construction and working of Operating
systems, to enable them to understand management and sharing of computer resources, communication and
concurrency and develop effective and efficient applications and also to appreciate the problems and issues
regarding multi-user, multitasking, and distributed systems. The following topics will be covered in the
course: Introduction to Main Frames System, multi programmed System, batch system, Time sharing
system, Desktop System, Multiprocessor system, distributed system, client server, Real time system, Hand
held System, Computer System Structure, Caching, Coherency and consistency, Operating System
Structure, Process management, System calls, Process control, Communication, micro-kernels, Virtual
machines, Processes, Threads, multithreading models, CPU Scheduling, Process Synchronization, Critical
section problem, Semaphores, Deadlock, Memory Management, Memory allocation, Fragmentation,
Paging, Segmentation, Virtual Memory, Demand paging, Page replacement, Allocation of frames,
Thrashing, File System Interface, Directory structure, File system mounting, File System Implementation,
NFS, Protection.
Prerequisites
BS(SE) Curriculum
20
Data Structures and Algorithms
Text Book • Silberschatz A., Peterson, J.L., and Galvin P.C., Operating Systems Concepts, 7th Edition, John
Wiley & Sons, Inc., 2004, ISBN: 0-471-69466-5
Reference Material • Tanenbaum A.S., Modern Operating Systems, 2nd Edition, Prentice Hall PTR, 2001. ISBN-10:
0130313580
CMP 330 - Computer Networks
Course Description The aim of this course is to introduce students to the basic concept of computer networks and
communication. It will provide a detailed overview of the Network models (OSI, TCP/IP) and Protocol
Standards. Emphasis will be given on the understanding of modern network concepts. The following topics
will be covered in the course: Analogue and digital Transmission, Noise, Media, Encoding, Asynchronous
and Synchronous transmission, Protocol design issues, Network system architectures (OSI, TCP/IP), Error
Control, Flow Control, Data Link Protocols (HDLC, PPP), Local Area Networks and MAC Layer protocols
(Ethernet, Token ring), Multiplexing, Switched and IP Networks, Internetworking, Routing, Bridging,
Transport layer protocols TCP/IP, UDP, Network security issues, Programming exercises or projects
involving implementation of protocols at different layers.
Prerequisites Operating Systems
Text Book Behrouz A Forouzan, Data Communication and Networking, 4
th Ed., McGraw-Hill, 2006, ISBN-13: 978-
0073250328
Reference Material
• Richard Stevens, Unix Network Programming, ISBN-10: 013490012X • Larry Peterson, Bruce Davie, Computer networks: a systems approach, Princeton Univ.,
Princeton. ISBN-10: 1558605142
• James F Kurose, Keith W Ross, Computer Networking: A Top-Down Approach Featuring the
Internet, 2/e, Addison Wesley 2003. ISBN: 0-201-97699-4.
• Andrew S. Tenenbaum , Computer Networks, 4th
Ed., Prentice Hall, 2002, ISBN-10: 0-13-
066102-3
• William Stallings, Data and Computer Communication, 8th
Ed., Prentice Hall, 2006, ISBN-13:
978-0132433105
CMP 331 - Computer Networks Lab
Course Description The aim of Computer Networks Lab is to provide a hands-on experience to the students so that they can
confidently cope with the practical issues/problems in Computer Networks. The following topics will be
covered in this course: Hardware Components, PC Hardware, Laboratory Safety and Tools, Hardware
Assembling, Portable Devices, Adding a Network Interface Card (NIC), TCP/IP Utilities, Connecting a
Printer, Sharing a Printer, Managing a Printer, Dealing with paper problems, Layer 2 Internetworking
Devices, Switch configuration, Media and Design (Topology Design), Structured Cabling (Straight-
BS(SE) Curriculum
21
Through Cable, Crossover Cable, Rollover Cable), Using the Router, Router Components, Router Startup
and Setup, Router Configuration, Operating System Installation, Implementing a small LAN.
Prerequisites None
Text Book Lab Manual provided by instructor
Reference Material None
CMP 370 - Database Systems
Course Description The course aims to introduce basic database concepts, different data models, data storage and retrieval
techniques and database design techniques. The course primarily focuses on relational data model and
DBMS concepts. The following topics will be covered in the course: Traditional File Based Systems, Roles
in Database Environment, ANSI-SPARC Architecture, Data Manipulation Language (DML), Data Models,
Multi-User DBMS Architectures, Relational Data Structures, Database Schemas, Relational Integrity,
Introduction to SQL, Data Manipulation, Creating a Database, Tables, Index, Views, Transactions,
Database Application Life Cycle, Database Planning, Database Design, Data Administration & Database
Administration, Entity Types, Relationship Types, Structural Constrains, Problems with ER Models,
Specialization/Generalization For EERD, Anomalies, Functional Dependency, Process of Normalization,
Database Design Methodology, Database Security, Client Server Architecture, Centralized and Distributed
Databases, Advance Topics.
Prerequisites Data Structures and Algorithms
Text Book C.J. Date, An Introduction to Database Systems, 8
th edition, Addison Wesley Publications Co., 2003.
ISBN-10: 0321197844
Reference Material • R.Connolly and P.Begg, Database Systems: A Practical Approach to Design, Implementation and
Management, Addison-Wesley Publications Company, 2004. ISBN: 0201708574
• Elmasri and Navathe, Fundamentals of Database Systems, 5th
edition, Addison-Wesley, 2006.
ISBN-10: 0321369572
CMP 290 - Software Engineering
Objectives The aim of this is course is to study various software development models and phases of software
development life cycle. The concepts of project management, change control, process management,
software development and testing are introduced through hands-on Team Projects. The following topics
will be covered in the course: The Scope of Software Engineering, Software Process, Software
Development Life Cycle, Project Management Concepts, (Planning, Costing, Risk Analysis, Quality
Assurance, Risk Management, 4Ps of Project Management), Software Measurement concepts, Product
metrics (LOC based and FP based metrics), Software Quality Metrics, Software Project Planning, Software
BS(SE) Curriculum
22
Cost Estimation techniques, COCOMO model, Project Scheduling, (GANTT chart, Critical Path Method),
Requirements Engineering, Use Case Techniques, Entity Relationship Diagram, State Transition Diagram,
Data Flow Diagrams, Software Designing, Abstraction, refinement, modularity, software architecture,
Cohesion & Coupling, Architectural Design, Data Design, Mapping ER to Data Model, Interface Design,
Human Computer Interface, Modular Design, Mapping Design to Code, Software Testing, White Box
Testing & Black Box Testing, Test Case Design using Cyclometic Complexity Technique, Debugging
practices, Software Inspection, Software Quality Assurance, Software Quality Standards.
Prerequisites Databases
Text Book Roger Pressman, Software Engineering: A Practioner's Approach, McGraw-Hill, 2005. ISBN
9780073019338
Reference Material • Ian Sommerville, Software Engineering, McGraw Hill, 6th Edition ISBN-10: 020139815
•
CMP 390 - Object Oriented Analysis and Design
Course Description The objective of this course is to demonstrate knowledge and understanding of essential facts, concepts,
principles, and theories relating to computer science and software applications. It involves the applications
of object-oriented concepts and to Identify and analyze criteria and specifications appropriate to specific
object oriented problems, and plan strategies for their solution. It will help the students to analyze, design,
and implement computer-based systems. It will also enable them to select and apply appropriate Design
Pattern. The following topics will be covered in the course: Introduction to Object Oriented Concepts,
Object-Oriented Analysis and Design, Linear and Iterative Process Models, Requirement Engineering
utilizing Object-Oriented Techniques, Software Design and Architectures, Object-Oriented Design, UML
modeling, Use-Case Modeling, Domain Modeling, Interaction Diagrams, Design Modeling, and
Implementation Modeling; Design Patterns (GRASP), User Interface Design, Usage of Rational Rose,
Object-Oriented Testing, Object-Oriented Metrics, Component Based Development, Reusability.
Prerequisites Software Engineering
Text Book Craig Larman, Applying UML and Patterns, Pearson Education, Third Edition, 2005. ISBN- 81-7758-979-2
Stephan Schach, Irwin, Object-Oriented Software Engineering, 1999. ISBN: 0072418729
Reference Material • Roger Pressman, Software Engineering: A Practioner's Approach, McGraw-Hill, 2005. ISBN
9780073019338
CMP 100 - Introduction to Computing
Course Description In today’s information age, computers are used in almost each and every aspect of human life: from cell
phones to cruise missiles, from disease diagnostics to design of space ships, etc. Objective of this course is
to get a breadth-first overview of computing and information technology, and to make students productive
BS(SE) Curriculum
23
with widely used software applications and the World-Wide Web (WWW). The following topics will be
covered in the course: The Information Age, Computer Hardware, Introduction to Internet Explorer,
Software, Central Processing Unit, Introduction to Microsoft Office, Input & Output, Storage &
Multimedia, Microsoft Word, Computer Networks, The Internet, Spreadsheets & Business Graphics,
Programming Languages, Software Engineering, Management Information Systems, Artificial Intelligence,
Microsoft Excel, Database Management Systems, Microsoft Access, Microsoft Power Point, Introduction
to Web Development, Introduction to HTML, Images & Links, Lists and Tables, Forms, Maps and Frames,
Introduction to Microsoft FrontPage, Introduction to JavaScript, E-commerce, Security, Privacy and Cyber-
Ethics, Introduction to Programming, Algorithms & Flowcharts, Variables & Data Types, Operators &
Precedence, Conditional Statements, Loops, Functions, Arrays, HTML Tabular Data Control, New
hardware/software technologies.
Prerequisites None
Text Book Capron, Computers – Tools for an Information Age, Sixth Edition, Prentice Hall, ISBN-10: 0131405640
Deitel, Internet & World Wide Web – How to Program, Prentice Hall, ISBN-10: 0131405640
Reference Books � Brookshear; Computer Science – An Overview; Addison-Wesley, ISBN-10: 0201781301
� Sanders; Computers Today; McGraw Hill, ISBN 9780070547018
SE 310 - Analysis of Algorithms
Course Description The objective of this course involves a detailed study of the basic notions of the design of algorithms and
the underlying data structures. Several measures of complexity are introduced. Emphasis will be given on
the structure, complexity, and efficiency of algorithms. The following topics will be covered in the course:
Introduction; Asymptotic notations, Recursion and recurrence relations, Divide-and-conquer approach,
Sorting, Search trees, Heaps, Hashing, Greedy approach, Dynamic programming, Graph algorithms,
Shortest paths, Network flow, Disjoint Sets, Polynomial and matrix calculations, String matching, NP
complete problems, Approximation algorithms.
Prerequisites Discrete Mathematics
Text Book T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, MIT Press, McGraw-Hill,
New York, NY, 1990. ISBN-10: 0262531968
Reference Material None
CS 211 - Theory of Automata and Formal Languages
Course Description The course aims to develop an appreciation of the theoretical foundations of computer science through
study of mathematical & abstract models of computers and the theory of formal languages. Theory of
formal languages and use of various abstract machines as ‘recognizers’ and parsing will be studied for
identifying/validating the synthetic characteristics of programming languages. Some of the abstract
BS(SE) Curriculum
24
machines shall also study as ‘Transducers’. The following topics will be covered in the course: Formal
language, Defining Language, Regular Expression, Finite Automata, Transition Graphs, Kleene’s Theorem,
Finite Automata with output, Regular Languages, Non regular Languages, Decidability, Demonstration Of
JFLAP, Context Free Grammars, Grammatical Format, Pushdown Automata (PDA), CFG=PDA, Non-
Context-Free Languages, Context-Free Languages, Decidability, Turing Machine, The Chomsky
Hierarchy.
Prerequisites Discrete Structures
Text Book Denial Cohen, Introduction to Computer Theory, John Wiley & Sons, Inc. ISBN-10: 0471137723
Reference Material • J Hopcraft, D. Ullman, Introduction to Automata Theory, Languages and Computation, Addison
Wisely, 2nd
Edition, ISBN-10: 0201441241
• Thomas A. Sudkamp, Languages and Machines, An Intro to the Theory of Comp. Sc., 2/e Addison
Wesley. ISBN-10: 0201821362
SE 490 - Capstone Project I
Course Description The software project involves research, conceive, plan and develop a real and substantial project related to
computer science. It provides an opportunity to the students to crystallize their acquired professional
competence in the form of a demonstrable software product. Make oral and written project presentations.
Prerequisites Software Engineering – I, Data Base Systems, Computer Architecture
Resources • Punkaj Jalote, Software Project Management, Addison-Wesley Professional; 1st edition (January
31, 2002), ISBN-10: 0201737213
SE 491 - Capstone Project II
Course Description The software project involves research, conceive, plan and develop a real and substantial project related to
computer science. It provides an opportunity to the students to crystallize their acquired professional
competence in the form of a demonstrable software product. Make oral and written project presentations.
Prerequisites Software Engineering – I, Data Base Systems, Computer Architecture
Resources • Punkaj Jalote, Software Project Management, Addison-Wesley Professional; 1st edition (January
31, 2002), ISBN-10: 0201737213
BS(SE) Curriculum
25
SE 451 - Human Computer Interaction
Course Description This course provides an overview of human-computer interaction. The following topics will be covered in
the course: Underpinnings from psychology and cognitive science, Evaluation techniques, Heuristic
evaluation, Videotaped user testing, cognitive walkthroughs, Task analysis, User-centered design, Usability
engineering processes, conducting experiments, Conceptual models and metaphors, Designing interfaces:
Coding techniques using color, fonts, sound, animation, Screen layout, response time, feedback, error
messages, Designing interfaces for special devices, Use of voice I/O, Internationalization, help systems,
User interface software architectures, Expressing design rationale for user interface design.
Prerequisites None
Text Book John Carroll, HCI Models, Theories, and Frameworks: Toward a Multidisciplinary Science, Morgan
Kaufmann, April 2003, ISBN-10: 1558608087
Reference Material • Mary Rosson, John Carroll, Mary Beth Rosson, Usability Engineering: Scenario-Based
Development of Human Computer Interaction, Morgan Kaufmann ISBN-10: 1558607129
SE 495 - Design Patterns
Objectives The aim of this course is to provide an in-depth look at software design and architecture. It will give an
overview of current middleware architectures. Students will learn evaluation and evolution of designs. This
course covers advanced topics of object technology, with particular emphasis on problem solving with
design patterns. The goal of patterns within the software community is to create a body of knowledge /
literature to help software developers resolve recurring problems encountered throughout software
development. Patterns help create a shared language for communicating insight and experience about these
problems and their solutions. This course presents 23 fundamental design patterns. The patterns presented
include design and code examples. Design examples use UML and all code examples are in Java. The latter
part of the course will cover a brief introduction of Analysis Patterns followed by in depth presentation of
patterns from a few business domains. The following topics will be covered in the course: Software
Structure and Architecture, Structures and View Points, Overview of object-oriented design, Software
reusability, Classification of design patterns, Pattern description formats, Architectural Styles (Macro-
Architectural patterns): General structures, Distributed Systems, Interactive Systems, Adaptable Systems,
Software Design: Design Patterns (Micro-Architectural patterns), Fundamental Design patterns, Creational,
Structural, Behavioral patterns, Families of Programs and Frameworks, Design and implementation issues
in Creational patterns, Structural patterns, Behavioral patterns, Patterns in software architecture, Patterns
for user-interface design, Pattern languages, coupling and cohesion issues, Recurring design problems,
Study of creational, structural, and behavioral patterns, Introduction to Software Architecture, Architecture
Description including Representation and Quality Attributes, Architecture Trade-offs, Architectural Styles
and Standards, Architectural Levels, Standards, Architecture and framework Patterns and Anti-patterns.
Prerequisites Object Oriented Analysis and Design
Text Book Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable
Object-Oriented Software, Pearson Publications, 2004 ed, ISBN: 0-201-63361-2
BS(SE) Curriculum
26
Reference Material • L. Bass, P. Clements, R. Kazman, Software Architecture in practice, Addison-Wesley, 2003 Ed,
ISBN: 0-321-15495-9
• F. Buschmann, Patterns Oriented Software Architecture – A systems of Patterns, ISBN:0-471-
95869-7
SE 492 - Software Project Management
Course Description This course will enable students to initiate software projects, perform project scheduling, plan the
resources, carry out the staffing, track the progress, apply software metrics, manage and motivate the team,
and manage the crisis situation. The following topics will be covered in the course: Introduction to Project
Management, Project Phases and Project Life Cycle, Project Integration Management, Project Scope
Management, Project Estimation, Size and Schedule Management, Activity Control, Schedule
Development, Controlling Changes to the Project Schedule, Project Cost Management, Resource Planning,
Cost Budgeting, Cost Control, Project Human Resource Management, Organizational Planning, Project
Staff Acquisition, Team Development, Project Risk Management, Quantitative and Qualitative Risk
Analysis, Current and Prevailing Practices, Software Configuration Management, Project Monitoring and
Control, Project Quality Management, Software release Management, Process improvement frameworks.
Prerequisites Software Engineering
Text Book Kathy Schwable, IT Project Management, Course Technology; 3rd Bk & Cdr edition, July 2003, ISBN-10:
0619159847
Reference Material � Robert K. Wysoki, Effective Project Management, Wiley; 2nd Bk&Cdr edition, March 2000,
ISBN-10: 0471360287
� Punkaj Jalote, Software Project Management, Addison-Wesley Professional; 1st edition, January
2002, ISBN-10: 0201737213
� Roger S. Pressman, Software Engineering- A practitioner’s approach, 5th
Edition, ISBN
9780073019338
• Robert Futrell, Quality Software Project Management Prentice Hall PTR; 1st edition, 2002, ISBN-
10: 0130912972
SE 493 - Software Quality Assurance
Course Description The objective of this course is to study in detail the issues involved in software quality engineering. The
course focuses on current practice, research and trends in Quality. The following topics will be covered in
the course: Introduction to Software Quality Assurance, Software Quality in Business Context, Quality
Assurance in Software Support Projects, Product Quality and Process Quality, Models for Software Product
Quality, Hierarchal Quality Model, Factor Criteria Metrics model (FCM), McCall’s Model, Boehm’s
Model , FURP Model, ISO 9126 Model, Dromey’s Quality Model, QMOOD, SATC’s Quality Model , Non
Hierarchal Models, Bayesian Belief Model, Star Model, CMM, Software Metrics, Defect Metrics,
Reliability Metrics, GQM, Introduction to Testing, Software Testing Principles, Test Planning,
Measurement, Execution, and Reporting, Software Testing Techniques, White Box Testing, Black Box
Testing, Software Testing Strategies, Regression Testing, Alpha Testing, Beta Testing, Integration Testing,
BS(SE) Curriculum
27
Bottom-Up Integration Testing, Verification and Validation, Unit Testing, Integration Testing, Validation
Testing, System Testing, Recovery Testing, Security Testing, Performance Testing, Stress Testing, Review
Techniques.
Prerequisites None
Text Book Nina S Godbole, Software Quality Assurance, Alpha Science International, Ltd, 2004, ISBN-10:
1842651765
Reference Material • R A Khan, K Mustafa, SI Ahson, Software Quality: Concepts and Practices, Naroosa
Publications, 2006, ISBN: 8173197229
• Srinivasan Desikan, Gopalaswamy Ramesh, Software Testing Principals and Practices, Pearson
Education India, 1st Ed, 2005, ISBN: 817758121X
• Stephen H. Kan, Metrics and Models in Software Quality Engineering, 2003, 2nd Ed, ISBN:
8129701758
SE 390 - Software Requirements Engineering
Course Description The primary objective of the course is to comprehend the current techniques, notations, methods, process,
and tools used in Requirement Engineering. Gain practical experience in selected RE techniques. Develop
an essential understand of the RE in software life cycle, gain knowledge of contextual factors and
practicalities that effects different approaches to RE. Review different models for formal recording of RE,
related process tailoring methodologies and case based experience implementation on a project. The
following topics will be covered in the course: Introduction to Software Requirement, Definitions, types,
placement within the software lifecycle, Properties Requirement Process: Models, comparative analysis of
models on the basis of project, planning and alignment methodologies, Support and Management, Quality
and Improvement; integration techniques Requirement Elicitation: Sources and Techniques, Requirement
Analysis, Requirement Classification, distributive requirement management, requirement negotiation
techniques and models, pitfalls of RE; Requirement Specifications: Scripting, System Definition
Documents, Software and System Requirement Specifications, conventional analysis and design
methodologies, comparison and tade off; Requirement Validation: Validations Models, Reviews, testing;
Software Requirement Metrics and Measures: requirement specification languages, formal requirement
modeling, Z - language basics; Change Management: requirement scope management, requirement conflict
resolution techniques, case base examples, change measurement and tracking, models and practices;
Tracing Requirements: planning, scheduling, RTM management, requirement prioritizing matrix
Prerequisites None
Text Book
R.H. Thayer and M. Dorfman, eds., Software Requirements Engineering, IEEE Computer Society Press,
2nd
Ed, ISBN: 978-0-8186-7738-0
Reference Material • A.M. Davis, Software Requirements: Objects, Functions and States, Prentice Hall, 2nd Ed., ISBN-
10: 013805763X
• Stephen R Schach Object-Oriented and Classical Software Engineering, Prentice Hall, 5th Ed.,
ISBN-10: 0072554509
BS(SE) Curriculum
28
• IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications,
IEEE,1998, ISBN 0-7381-0332-2
SE 391 - Software Design and Architecture
Course Description An in-depth look at software design and architecture. Continuation of the study of design patterns,
frameworks, and architectures. Survey of current middleware architectures. Design of distributed systems
using middleware. Measurement theory and appropriate use of metrics in design. Designing for qualities
such as performance, safety, security, reusability, reliability, scalability. Measuring internal qualities and
complexity of software. Learn evaluation and evolution of designs. The following topics will be covered in
the course: Software Design: Concepts, Context, Principals, Process, Models, Enabling Techniques;
Software Design Quality Concerns: Concurrency, Control and Handling, Distribution, Fault Tolerance,
Interactive Systems, Persistence; Software Structure and Architecture: Structures and View Points;
Architectural Styles (Macro-Architectural patterns): General structures, Distributed Systems, Interactive
Systems, Adaptable Systems; Design Patterns (Micro-Architectural patterns): Creational, Structural,
Behavioral; Families of Programs and Frameworks; Software Design Quality Analysis and Evaluation:
Software Design Quality Attributes; Quality Analysis and Evaluation Techniques: Reviews, Simulations,
Prototyping ; Software Quality Design Measures: Structured and Object oriented
Prerequisites None
Text Book L. Bass, P. Clements, and R. Kazman, Software Architecture in practice, Addison-Wesley, 2
nd Ed, 2003,
ISBN-10: 0321154959
Reference Material • D. Budgen, Software Design, Addison-Wesley, 2nd Ed, 2003, ISBN-10: 0201722194
� F. Buschmann, R. Meunier, H. Rohnert, and M. Stal , Patterns Oriented Software Architecture –
Asystems of Patterns, Wiley and Sons, Vol-1, 2007, ISBN: 978-0-471-95869-7
SE 342 - Enterprise System Development
Course Description This course intends to teach the technologies underpinning modern enterprise wide applications including
client-server, distributed and object-based systems. The purpose of the course is to explain the role of
enterprise java beans in enterprise application development and its relationship to other J2EE technologies
such as JSP, Servlets , JMS, CORBA and XML .This course includes explanation of EJB architecture: role
of EJB container ,transaction control, authorization control and object pooling and EJB development
lifecycle: Java source code compilation ,XML deployment descriptors , EJB compilation and deployment
and use by an application server. It will provide a sound foundation for distributed application
development. Emphasis of the course is on enterprise level development of applications. The following
topics will be covered in this course: Overview of enterprise Java beans: Component architecture and
service oriented architecture, Enterprise application design issues , Distributed computing model applying
RMI, Naming and directory service(JNDI, LDAP) overview, Enterprise Fundamentals: Enterprise beans
overview ,types of beans ,Entity beans: CMP,BMP and session beans: Stateless session beans and stateful
session beans , Development of an EJB component: Remote interface ,Home interface, local interface, local
home interface, bean class ,deployment descriptor and bean deployment Introduction to JMS and MDBs ,
Introduction to JINI ,Introduction to Java namespaces, Introduction to Java Mail API, Introduction to Java
cryptography, Model view controller. This course also covers different frameworks and technologies used
in enterprise applications development: AJAX, Hibernate, Struts, and Java Server Faces.
BS(SE) Curriculum
29
Prerequisites Object Oriented Programming
Text Book Ed Roman and Gerald Brose, Mastering Enterprise Java beans, 3rd Edition, WILEY, 2005,
ISBN: 9780764576829.
Marty Hall and Larry Brown, Core Servlets and JavaServer Pages, 2nd
Edition, Pearson, Sun
Microsystems, 2004, ISBN: 81-297-0300-9
Reference Books � Ed Roman and Floyd Marinescu, EJB Design Patterns Advanced Patterns,
Processes, and Idioms, John Wiley & Sons, 2002, ISBN: 978-0471208310.
� http://www.coreservlets.com/
� http://courses.coreservlets.com/Course-Materials/csajsp2.html
� http://courses.coreservlets.com/Course-Materials/scwcd.html
� http://courses.coreservlets.com/Course-Materials/msajsp.html
� http://www.coreservlets.com/JSF-Tutorial/
� http://courses.coreservlets.com/Course-Materials/ajax.html
� http://courses.coreservlets.com/Course-Materials/struts.html
� http://courses.coreservlets.com/Course-Materials/java5.html
� http://java.sun.com/
� http://www.theserverside.com/
� http://java.sun.com/docs/books/tutorial
Recommended