BS (SE) Course Outline
BS (Software Engineering) Course Contents Semester 1
Course Code / Name: NS – 111 / Calculus and Analytical Geometry Course Outline: Complex Numbers DeMoivre’s Theorem and its Applications Simple Cartesian Curves Functions and Graphs Symmetrical Properties Curve Tracing, Limit and Continuity Differentiation of Functions Derivative as Slope of Tangent to a Curve and as Rate of Change: Application to Tangent and Normal, Linearization, Maxima/Minima and Point of Inflexion Taylor and Maclaurin Expansions and their convergence Integral as Anti-derivative Indefinite Integration of Simple Functions Methods of Integration: Integration by Substitution, by Parts, and by Partial Fractions, Definite Integral as Limit of a Sum, Application to Area, Arc Length, Volume and Surface of Revolution Course Code / Name: CS – 111 / Introduction to Computing Course Outline: History of Computers Generations of Computer: Numbers Systems, Binary, Octal, Decimal, Hexadecimal, Arithmetic Operation, Numbers systems conversions Computer Hardware: Input & Output CPU & Storage, Data, Information, record, Types of computers Internet and World Wide Web : Narrowband, Broadband, & Access Providers ,POPs, NAPs, Backbone & Internet2 Problem Analysis & Solving : Analysis, Coding, Execution Cycle Introduction to Programming: Basic of C++ Program, Data Types, Variables , Arithmetic Operators Input : Allocation of memory with constants & variables , Putting data into variables Output : Preprocessor Directives, Namespaces and using cin and cout in a program , Creating C++ Program Debugging: Using Pseudo Codes to debug a program, Identify and Fix errors Logical (Boolean) Operators : Selection of IF-Then and IF-Else For-Next and Do-While looping Course Code / Name: HS – 111 / Functional English Course Outline: Principles of writing good English understanding the composition process: writing clearly; word, sentence and paragraph. Comprehension and expression Use of grammar and punctuation Process of writing, observing, audience analysis, collecting, composing, drafting and revising, persuasive writing, reading skills, listening skills and comprehension, skills for taking notes in class, skills for exams Course Code / Name: CS – 112 / Basic Electronics Course Outline: Semiconductor Physics Diodes Special purpose diodes: Zener, LED, photo diode, Varactor, schottky Diode based clipper, clamper, voltage multiplier Half, full and Bridge Rectifiers Voltage regulators Bipolar Junction Transistor (BJT) DC and AC analysis BJT basic inverter/switch Op-Amp Emitter Bias analysis & design Voltage divider bias analysis & design Computer simulation of BJT circuit Voltage gain ,current gain and power gain CB amplifier ac and dc Equivalent OPAMP using transistor, OPAMP modes Course Code / Name: HS – 112 / Pakistan Studies Course Outline: Foreign invasions The Mughals The British World Wars Independence & Partition Discussions on National Issues Constitution-making Efforts Foreign Policies The Military Culture Dismemberment of Pakistan Pakistan’s Geographic Situation Pakistan’s Economic Situation Strengths and Weaknesses of Pakistan 1
Hamdard University Karachi, Pakistan
BS (SE) Course Outline
Course Code / Name: HS – 113 / Islamic Studies / Ethical Behavior Course Outline: The Five Dimensions of Islam Comparative Study of World Religions Prophet Muhammad (SAW) as a Role Model Islamic Political System: Rightly-guided Caliphate, Imamate Sources of Islamic Legislation: Compilation of Quran, Compilation of Ahadith
Semester 2
Course Code / Name: NS – 121 / Multivariable Calculus Course Outline: Complex Numbers: Properties of Complex Number, Polar form and conversation DeMoivre’s Theorem and its Applications Simple Cartesian Curves: Functions and Graphs Curve Tracing Differentiation of Functions Applications (Related rates, Maxima and minima Integral as Antiderivative: Indefinite Integration of Simple Functions Methods of Integration: Integration by Substitution, by Parts, and by Partial Fractions Definite Integral as Limit of a Sum Volume and Surface of Revolution Course Code / Name: CS– 121 / Programming Fundamentals Course Outline: Overview of computers and programming Overview of language for e.g. C language Basics of structured and Modular programming Basic Algorithms and problem solving: development of basic algorithms, analyzing problem, designing solution, testing designed solution Fundamental programming constructs: translation of algorithms to programmes data types control structures functions arrays records files testing programmes. Course Code / Name: CS – 122 / Discrete Structures Course Outline: Logic: truth table, propositional logic, logical equivalence, predicates & quantifiers, and logical reasoning Sets: basics, set operations Functions: one-to-one, onto, inverse, composition, graphs Sequences and Summations Mathematical reasoning and induction: Proof strategies, Mathematical Induction, Recursive definitions, Structural Induction Counting: basic rules, Pigeonhole principle, Permutations and Combinations, Binomial coefficients and Pascal triangle. Probability: Discrete probability. Expected values and variance Relations: Properties, Combining relations, Closures, Equivalence, Partial ordering Graphs: directed, undirected graphs Trees: Introduction to trees, trees traversal, spanning trees Course Code / Name: HS – 121 / Communication Skills Course Outline: Principles of writing good English understanding the composition process: writing clearly; words, sentence and paragraphs Use of grammar and punctuation Process of writing: observing, audience collecting, composing, drafting and revising, persuasive writing, reading skills, listening skills and comprehension, skills for taking notes in class, skills for exams Business communications: planning messages, writing concise but with impact Letter formats, mechanics of business, letter writing, letters, memo and applications, summaries, proposals, writing resumes, styles and formats, oral communications, verbal and nonverbal communication conducting meetings, small group communication, taking minutes Presentation skills; presentation strategies: defining the objective, scope and audience of the presentation material gathering material organization strategies, time management, opening and concluding, use of audio-visual aids, delivery and presentation. 2
Hamdard University Karachi, Pakistan
BS (SE) Course Outline
Semester 3
Course Code / Name: NS – 211 / Linear Algebra Course Outline: Introduction to Linear Algebra and Linear Equations System of Linear Equations (unique, infinite and no solution) Matrices: Operation in Matrices, Properties and Matrix Arithmetic, transpose Cofactor, Minors, Homogenous, Non-homogenous systems, trivial solution Augmented matrix: Symmetric, Skew Symmetric, Singular and Non singular Matrix Gaussian elimination (REF) Inverse Matrices using Gauss-Jordan (RREF) Solution of equations using Cramer’s rule Vector space : Subspace of Vector Spaces, Dimension of Null Spaces, Dimension of Row Spaces Electrical circuits solution using matrices Course Code / Name: CS – 211 / Digital Logic Design Course Outline: Binary numbers Logic gates Construction of truth tables Boolean equations: CSOP and MSOP Design equations: Boolean algebra rules, Karnaugh maps Combinational v/s sequential circuits Design of a full adder: N-bit binary adder/ subtractor Design of multiplexers, Encoders, Decoder, Parity circuits Design of parity generator, Word comparator, controlled inverter Shift registers. Quine–McCluskey method. PXOP algorithm D-type and JK-type flip-flops. Design of sequential circuits Modern methods of designing combinational and sequential circuits. FPGA, PLD and HDL etc. Course Code / Name: CS – 212 / Object Oriented Programming Course Outline: Evolution of Object Oriented Programming (OOP) Object Oriented concepts and principles problem solving in Object Oriented paradigm OOP design process: classes, functions/methods, objects and encapsulation constructors and destructors, operator and function/method overloading association aggregation composition generalization inheritance and its types: derived classes function/method overriding abstract and concrete classes: abstract functions polymorphism, exception handling Input/output Streams Swing API and event handling Course Code / Name: SE – 211 / Software Engineering Course Outline: Introduction: Software Engineering, Different nature of the Software projects Software Engineering as defined by IEEE Strategic Planning: Cost-Benefits, Business-Case Planning Life Cycle: Project Initiation, Planning, Execution, Monitoring & Controlling, Closure Software Development Methodology: waterfall, Prototype, Iterative, Spiral, Agile (scrum) Software Requirements : Requirement definition Requirements Types : Functional Requirement , Non-Functional Requirement Requirements Elicitation: Elicitation Techniques Requirements Analysis Requirements Specification Requirements Validation Data & Process Model Diagrams Software testing Software quality assurance Software configuration management Software project management Semester 4
Course Code / Name: CS – 221 / Data Structure and Algorithms Course Outline: Introduction to Data Structures and Algorithms Complexity Analysis Arrays Sorting Algorithms: Insertion Sort, Selection Sort, Bubble Sort, Shell Sort, Heap Sort, Quick Sort, Merge Sort, Radix Sort, Bucket Sort Linked Lists: Singly Linked Lists, Doubly Linked Lists, Circular List Stacks, 3
Hamdard University Karachi, Pakistan
BS (SE) Course Outline Queues, and Priority Queue Recursion: Function call and Recursion Implementation, Tail Recursion, Nontail Recursion, Indirect Recursion, Nested Recursion, Backtracking Trees: Binary Trees, Binary Heap, Binary Search. Tree Traversal, Insertion, Deletion, and Balancing a Tree Heap. B-Tree, B+Tree, Spanning Tree, Splay Trees Graphs: Representation, Traversal, Shortest Path, and Cycle Detection Isomorphic Graphs. Graph Traversal Algorithms Hashing. Memory Management and Garbage Collection. Course Code / Name: SE – 211 / Object Oriented Software Engineering Course Outline: Introduction to Software Engineering Modeling with UML Project Organization and Communication Requirements Elicitation: Analyses System Design: Decomposing the System, System Design: Addressing Design Goals Object Design: Reusing Pattern Solutions Object Design: Specifying Interfaces Mapping Models to Code and Testing Rationale Management Configuration Management Project Management Software Life Cycle Methodologies: Putting It All Together. Course Code / Name: CS – 222 / Computer Communication and Networks Course Outline: Introduction to computer networks and layered architectures: connectivity, topology, circuit and packet switching TCP/IP and ISO models; Application layer: C/S model, DNS, SMTP, FTP and WWW Socket programming and network security Transport layer: TCP and UDP Network layer: internetworking, addressing and routing algorithms and protocols Data link layer: framing, flow and error control protocols, PPP, MAC and LANs Physical Layer: circuit switching, coding, multiplexing and transmission media Course Code / Name: CS – 223 / Introduction to Database Systems Course Outline: Basic database concepts Database Architecture Logical database Modeling and design: Entity Relationship diagram (ERD) Enhanced ERD Relational data model: mapping ERD to relational model Functional dependencies and Normalization: 1st -3rd Normal Form and BCNF, Relational Algebra Structured Query language (SQL); Fundamental knowledge about Transaction processing concurrency control recovery techniques and query optimization concepts. Course Code / Name: CS – 224 / Software Engineering Economics Course Outline: Basic concepts Software engineering and economics application and utility of economics concepts: production functions, marginal analysis, and future value in the domain of software engineering software business case analysis risk management software development process selection software cost estimation importance of human factors (e.g. success critical stakeholders’ value propositions) in software engineering.
Semester 5
Course Code / Name: SE – 311 / Software Requirement and Specification Course Outline: Definition of Requirements Engineering and role in system development Fundamental concepts and activities of Requirements Engineering Information elicitation techniques, Modeling scenarios Fundamentals of goal-oriented Requirements Engineering Modelling behavioural: goals Modelling quality goals, Goal modelling heuristics, Object modelling for Requirements Engineering Object modelling notations Object modelling heuristics, Identifying objects from goals Modelling Use Cases and state machines Deriving operational requirements from goals Requirements Specification 4
Hamdard University Karachi, Pakistan
BS (SE) Course Outline Requirements verification and validation Techniques for requirements evaluation Requirements management Requirements traceability Course Code / Name: NS – 212 / Probability and Statistics Course Outline: Introduction: Collection of Data (Primary and Secondary data), Variable’s Types Data Description: Measure of Central Tendency (for un-grouped & grouped data) Measure of Variation Graphical Presentation of Data (Histogram, Frequency Polygons and Ogive) Frequency definition of Probability Conditional Probability Discrete random variables, Distribution functions, Probability mass function Mean, expected value, variance of discrete distributions Variance and standard deviation of random variable, Marginal probabilities in bi-Variate cases Linear Regression: Least Square method for Regression Line Correlation Course Code / Name: CS – 313 / Operating System Course Outline: Operating Systems Introduction: History of Operating System Concepts of process Operating system Objectives and Functions Process and CPU management, Multithreading, Kernel and User Modes, Protection Problems of cooperative processes, Synchronization Deadlocks Memory management and virtual memory Relocation, External Fragmentation Paging and Demand Paging Secondary storage Security and Protection File systems I/O systems Scheduling and dispatch, Introduction to concurrency Introduction to distributed operating systems and its advantages Course Code / Name: CS – 314 / Numerical Computing Course Outline: Theory of Differences, Difference Operators Introduction to MATLAB, Some basic problems using MATLAB Difference Tables, Forward Differences, Backward Differences, Central Differences Mathematical Preliminaries Interpolation and Polynomial Approximation Bisection method Regula falsi method Newton’s Method, Different problems Different problems, Lagrange interpolation Numerical Integration Trapezoidal Rule for Integration Initial Value Problems for Ordinary Differential Equations Iterative Techniques in Matrix Algebra Taylor Series Expansion Iterative Techniques in Matrix Algebra Semester 6
Course Code / Name: SE – 321 / Software Verification and Validation Course Outline: Introduction and motivation for verification and validation software testing overview: fundamentals of test process , general principles of testing, definitions and concepts testing in software development life cycle: types of testing, levels of testing, test metrics software inspection and code reviews, technical reviews, pair programming specification-based testing, input-based partitioning, equivalence class partitioning, boundary value analysis, state transition test, decision table technique, used case testing structural testing, graph coverage, logic coverage, syntax-based testing system, acceptance, and regression testing model-based testing run-time verification modelchecking, computational tree logic safety analysis and software reliability engineering Course Code / Name: SE – 322 / Software Architecture and Design Course Outline: Basic concepts methods and techniques for designing software architectures rationale for software architecture design modeling software architecture design architectural styles/patterns architectural requirements analysis comparison and evaluation of architecture design methods synthesis-based software architecture design software product-line architectures domain 5
Hamdard University Karachi, Pakistan
BS (SE) Course Outline modeling domain engineering and application engineering software architecture implementation evaluating software architecture designs
Course Code / Name: CS – 411 / Human Computer Interaction Course Outline: Human and Human Capabilities The interaction The paradigms Interaction design basics HCI in the software process UI Software Architecture Conceptual Models and Metaphors Communication and collaboration models Evaluation techniques Heuristic Evaluation Predictive Evaluation Information Visualization Modeling rich interaction Pen-based UI Weird Modalities Zooming and Transparent UI Course Code / Name: HS – 323 / Technical Report Writing Course Outline: Elements Of Technical Paper: Title, Abstract; Keywords, Literature Review, Methodologies, Results and Discussion Reference Management by EndNote and Mendeley Intellectual Property Rights Writing Patents Understanding Plagiarism and its consequences Writing Research Papers and Reports Writing Cover letters: Request, Reply, Preparation, Delivery Writing Quotation Letters: Contents, Request, Reply office Memorandums Technical Proposals Semester 7
Course Code / Name: SE – 412 / Software Project Management Course Outline: Project Management Concepts: Management Activities, System Engineering, Software development process Project Integration Management: Project Plan Development, Execution, Integrated change control Software Project Planning: Planning objectives, Project estimation, Decomposition Technique Project Schedule: Task allocation, Network Diagram, CPM, PERT Project Monitoring and Controlling: Software Project Tracking, Controlling progress, controlling quality Software Configuration Management: Source code control and management, source code processing People Management: Teamwork issues, Team motivation and development Risk Management : Identification, justification, projection. Semester 8
Course Code / Name: HS – 421 / Professional Practices Course Outline: Ethics: The Importance of Ethics, Ethics in IT, Ethical Theory, Professional Ethics, Ethics Model for Decision Making Ethics For IT Professional and IT User: Professional Relationships, Codes of Ethics of Professional Conduct Professional Codes of Ethics: Professional Societies, Alternative of Ethic Codes for IT Professional Computer and Internet Crime: Computer Crime/Net Crime/ Cyber Crime, Cyberstalking, Concepts, methodologies and Codes of Cyberethics Information and The Law: Legal issue Related to Information, Data Privacy and Protection, Right of Data Subject Software Piracy: Types of Software Piracy, Anti Piracy Organization/Enforcement Intellectual Property: Copyright, Paten, Trademark, IP Issues Software Quality : External and Internal Quality
6
Hamdard University Karachi, Pakistan
BS (SE) Course Outline
University Electives Course
Course Code / Name: MG – 121 / Financial Accounting Course Outline: Introduction to Accounting Accounting : Information of decision making Basic Accounting Concepts Basic Financial Statements The Accounting Cycle : Capturing Accounting Events The Accounting Cycle : Preparing Annual reports, Accounting for Merchandising Activities, Inventory Costing Methods Merchandising and the Accounting Cycle: GL and Subsidiary Ledgers, Perpetual and Periodic Inventory systems Posting Trial Balance Financial Statements Accounting for Property Plant and Equipment Accounting for Debtors and Stock. Course Code / Name: MG – 211 / Financial Management Course Outline: Meaning and Scope of Financial Management Financial Statements; IS, BS, Statement of RE The Finance manager and the financial environment) Understanding financial statements Analyzing the financial statements Time Value of Money Debt Management, Profitability and Market Value Ratios The Cost of Capital The Basics of Capital Budgeting Comparison on Capital Budgeting Methods Profitability Index. Course Code / Name: MG – 221 / Principles of Management and Economics Course Outline: Introduction to Management and Organization Managerial functions The Global Environment Managing Diversity Planning: Strategy & Change, Tools and Techniques; Organizational Control and Culture Leadership & Management Motivation; Management by Objective Project Management IT Management Introduction to Economics Macro and Micro Economics Graphs in Economics Demand & Supply: Market Equilibrium Changes in Price & Quantity Consumer Theory Elasticity Production Cost Introduction to Market Structures. Course Code / Name: MG – 312 / Entrepreneurship Course Outline: Entrepreneurial Mind Entrepreneurial Perspective Entrepreneurial Process Effectuation and its principles Entrepreneurial Strategy: Generating and Exploiting New Entries Creativity and the business data The business plan : Creating and starting the Venture The Marketing Plan The Organizational Plan Opportunity Recognition and Evaluation The Financial Plan Sources of Capital Strategy Execution and Managing Ventures Planning for Change Course Code / Name: SS – 311 / Organizational Behavior Course Outline: Understanding Organizational Behavior Trends and Changes Structure and control in organization Individual and work learning Stress Individual differences Motivation and job satisfaction Group and work Group and inter-group behavior Leadership Patterns of work Conflict and consent in work Organizational culture Effective Communication Contemporary Approaches to Leadership Characteristics of Organizational Culture
7
Hamdard University Karachi, Pakistan
BS (SE) Course Outline
Supporting Sciences
Course Code / Name: NS – 121 / Multivariable Calculus Course Outline: Complex Numbers: Properties of Complex Number, Polar form and conversation De Moivre’s Theorem and its Applications Simple Cartesian Curves: Functions and Graphs Curve Tracing Differentiation of Functions Applications (Related rates, Maxima and minima Integral as Antiderivative: Indefinite Integration of Simple Functions Methods of Integration: Integration by Substitution, by Parts, and by Partial Fractions Definite Integral as Limit of a Sum Volume and Surface of Revolution Course Code / Name: CS – 314 / Numerical Computing Course Outline: Theory of Differences, Difference Operators Introduction to MATLAB, Some basic problems using MATLAB Difference Tables, Forward Differences, Backward Differences, Central Differences Mathematical Preliminaries Interpolation and Polynomial Approximation Bisection method Regular falsi method Newton’s Method, Different problems Different problems, Lagrange interpolation Numerical Integration Trapezoidal Rule for Integration Initial Value Problems for Ordinary Differential Equations Iterative Techniques in Matrix Algebra Taylor Series Expansion Iterative Techniques in Matrix Algebra
SE Electives
Course Code / Name: CS – 321 / Theory of Automata and Formal Languages Course Outline: Finite State Models: Language definitions preliminaries Regular expressions/Regular languages Finite automata (FAs), Transition graphs (TGs), NFAs, Kleene’s theorem, Transducers (automata with output), Pumping lemma and non regular derivation trees and ambiguity language Grammars and PDA: Context free grammars, Derivations, Simplifying CFLs Normal form grammars and parsing Decidability Chomsky’s hierarchy of grammars Turing Machines Theory: Turing machines, Post machine, Variations on TM, TM encoding Universal Turing Machine Context sensitive Grammars Defining Computers by TMs. Course Code / Name: CS – 332 / Web Engineering Course Outline: Web Application Development Approach: process model Introduction to internet programming Communication domains Web Servers Working of www Internet Protocols Web Browsers HTML: Attributes Web Pages URI URL URN HTML Tags HTML Page Structure DOM CSS: Syntax, Layers, Styles and Properties JavaScript: operator, function, arrays PHP: Syntax, Security and form validation with java script MySql: database connectivity, joins, DML and DDL AJAX Error handling Cookies Session Emailing in PHP Course Code / Name: SE – 436 / Software Quality Engineering Course Outline: Intro. to Software Engineering Course Outline: A Quality Principles, Benefits of Quality, Organization and Process Benchmarking Ethical and Legal Compliance Standards and Models 8
Hamdard University Karachi, Pakistan
BS (SE) Course Outline Leadership Skills Quality Management System Methodologies for Quality Management Audit Types, Audit Roles and Responsibilities, Audit Process Project Tracking and Control Tracking Methods, Project Reviews and Program Reviews Software Verification and Validation Method Software Product Evaluation Testing Planning and Design Reviews and Inspection Test Execution Documentation Customer Deliverables
SE Domain Specific Electives
Course Code / Name: CS – 451 / Artificial Intelligence Course Outline: AI Paradigm Objective and Scope of AI Problem Solving: Searching Algorithm and techniques Knowledge Representing and Reasoning Human-Machine understandings Semantic Networks Decision making: Simple and complex Hill Climbing Algorithm Prolog Programming LISP Programming Soft Computing Expert Systems Artificial Neural Networks Fuzzy Logic and Fuzzy Set Binary Fuzzy Relation, Fuzzy Complement Fuzzy Operations [Max-Min, Max-Product Compositions].
9
Hamdard University Karachi, Pakistan