Computer Syllabas PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Ewing Christian College

(An Autonomous Constituent College of Allahabad University)

Centre for Computer Sciences


Syllabus – B.Sc. – Computer Application under Semester System Scheme

Semester – I
Paper Paper Title Marks
Code
CAB101/ Introduction to Computing Systems 75
1COATH1
CAB102 Programming in „C‟ 75
CAB103 Lab-1 50
Total 200
Semester – II
CAB201 Digital Logic and Computer Architecture 75
CAB202 Data Structures 75
CAB203 Lab-2 50
Total 200
Semester – III
CAB301 OOP with C++ 75
CAB302 Numerical & Statistical Methods 75
CAB303 Lab-3 50
Total 200
Semester – IV
CAB401 Computer Communication & Networks 75
CAB402 Database Management Systems 75
CAB403 Lab.-4 50
Total 200
Semester – V
CAB501 System Analysis & Design 75
CAB502 Computer Graphics & CAD 75
CAB503 Java & Internet Programming 75
CAB504 Lab-5 75
Total 300
Semester – VI
CAB601 Web Technology 75
CAB602 .NET with C# 75
CAB603 Software Engineering 75
CAB605 Project 75
Total 300
Grand Total 1400
Semester – I / Paper-I
CAB101-Introduction to Computing Systems
1. An Introduction to Computers – What is Computer, Computer System Characteristics and
Capabilities-speed, accuracy, reliability, storage, versatility, Types of Computers:- Analog,
Digital & Hybrid, General & Special Purpose Computers, Micro, Mini, Mainframe & Super
Computers, Hand-held & Lap Top Computers. Computer Application Areas– Business &
Industry, Health Care, Education, Science & Technology, Government, Entertainment, Census,
Banking, Publication, Accounting etc. Evolution of Computer – ENIAC, UNIAC, First to Fifth
Generation, Overview of Computer System – Block Diagram-CPU, Memory, Hardware,
Software, Live-Ware, Firmware.

2. Components of a Computer - Central Processing Unit – Control Unit, ALU, Registers, Bus,
Microprocessor, Clock Speed. Computer Memory – RAM, ROM-PROM, EPROM, EEPROM, Cache
Memory. Storage Devices – Magnetic Tape, Magnetic Disk, Hard Disk, Floppy Disk, CD-ROM.
Input / Output Devices – Keyboard Devices-Keyboard, Data Entry Terminals, Mouse, Light pen,
Scanners – (OCR, BCR, OMR & MICR), Digitizer, Disks, Hardcopy Output- Printers- Impact and
Non Impact categories, Plotters, COM Systems, Soft Copy Output –CRT, Voice Output.

3. Computer Software – System Software, Operating Systems, Compilers, Application Softwares-


Word Processing, Spreadsheets, Database Management, Graphics, Computer Programming
Languages – Machine level, Assembly & High level Computer languages, Compiler/Assembler
and Interpreter. Number systems – Binary, Decimal, Octal, Hexadecimal Systems, conversion
from one number system to another, Binary arithmetic addition, and subtraction, ASCII, BCD
and EBCDIC character set.

4. Introduction to Operating Systems– Definition, Modules of OS – CPU Scheduler, Device


manager, memory manager, User Manager, Batch systems, multi programmed batch systems,
distributed systems, real time systems. Overview of MS-Windows, MS-DOS & Linux, Internal and
External DOS Commands, Basic Linux Commands.

Suggested Readings:

1. Fundamental of Computers by Rajaraman


2. Computer Fundamentals by P K Sinha
3. Computer Fundamentals by B Ram
4. Learn DOS in a Day by Russell A. Stultz
5. UNIX Concepts & Applications by Sumitabaha Das
Semester – I / Paper-II
CAB102- Programming in ‘C’

1. Introductory Concepts of Programming - Introduction, History, Program Development Stages –


Analysis, Design, Coding, Testing, Debugging and Implementation, Design Tools – Algorithm,
flowchart, Program Constructs – Sequence, Selection, Iteration, algorithms/ flowcharts for GCD,
factorial, Fibonacci series, prime numbers generation and other simple problems, searching and
sorting techniques

2. ‘C’ Fundamentals- Introduction to ‘C’, History & Development, Character Set, Identifiers and
keywords, Tokens, Data Types, constants, variables, operators, Separators, Declarations,
expressions, statements, Symbolic constants, Control Statements- if, switch, break, continue,
for, while, do while.

3. Functions: Definition, Declaring a function, making function call, passing arguments to a


function, recursion, functions with default arguments, standard library functions - mathematical,
string, Arrays: Declaration, Initialization, processing an array- traversal, searching, sorting,
merging, insertion, deletion, passing arrays to functions, Multidimensional arrays, Arrays and
strings, Structures: definition, declaring a structure, accessing structure elements, memory
allocation, array of structures, nested structures.

4. Pointers- Pointer declarations, pointer arithmetic, Passing pointers to the functions, pointers
and one dimensional array, Operations on pointers, arrays of pointers, dynamic memory
allocation, related functions, Preprocessor Declaratives- file inclusion, macro definition,
conditional, Data Files- Opening and closing a text/ data file, file access modes, creating and
reading a data file, working with binary data files.

Suggested Readings:

1. Let Us ‘C’ by Yashwant Kanetkar


2. ‘C’ in Depth by Yashwant Kanetkar
3. Programming in ANSI C by Balagursamy
4. Programming in ‘C’ by Kanthane
Semester – II / Paper-I
CAB201- Digital logic and Computer Architecture

1. Boolean algebra and Logic Gates: Introduction to Boolean algebra, laws of Boolean algebra,
logic gates, universal logic gates, POS and SOP notations, Canonical logic forms. Simplification of
Boolean Functions: Laws of Boolean algebra and K-Maps, Tabulation Method.

2. Combinational Circuits: Half-Adder, Full-Adder, Subtractor, Code Converters, Magnitude


Comparator, Encoder, Decoder, Multiplexer, De-multiplexer, Design of combinational circuits.
Sequential Circuits – Latches & Flip-Flops, Analysis of clocked sequential circuits, Synchronous
and Asynchronous sequential logic, counters, registers, shift registers,

3. Basic Organization of CPU: Components of a Processor – Essential and Non-essential, Basic


Block Diagram, Instruction Cycle, Hardwired & micro programmed control unit, Addressing
modes, Introduction to 8-BIT processor family – 8080, 8085, 6800, Z80, Difference between CISC
and RISC Processors. I/O Organization: Peripheral devices, I/O interface- Serial (Synchronous &
Asynchronous), and Parallel, Input/ Output Methods – Direct & Indirect Memory Access,
Interrupts & its uses, Input-Output Processor & Co-processor.

4. Memory Organization: Organization of memory cell – Word Organization vs. Co-incidents


Organization, Memory Hierarchy of a system - Main Memory, Auxiliary Memory, Cache
Memory, Virtual memory, Interleaving, Memory Management Techniques – Reallocation,
Swapping, Portioning, Paging, Segmentation.

Suggested Readings:

1. M. M. Mano, Computer System Architecture.


2. M. M. Mano, Digital Logic and Computer Design.
3. William Stallings, Computer Organization and Architecture: Designing For Performance.
Semester – II / Paper-II
CAB202- Data Structures
1. Introduction: Basic Terminology, Elementary Data Organization, Data Structure operations,
Algorithm Complexity and Time-Space trade-off. Stacks: Array Representation and
Implementation of stack, Operations on Stacks: Push & Pop, Array Representation of Stack,
Linked Representation of Stack, Operations Associated with Stacks, Application of stack:
Conversion of Infix to Prefix and Postfix Expressions, Evaluation of postfix expression using stack.

2. Queues: Array and linked representation and implementation of queues, Operations on Queue:
Create, Add, Delete, Full and Empty. Circular queue, Deque, and Priority Queue. Linked list:
Representation and Implementation of Singly Linked Lists, Two-way Header List, Traversing and
Searching of Linked List, Overflow and Underflow, Insertion and deletion to/from Linked Lists,
Insertion and deletion Algorithms, Doubly linked list, Linked List in Array, Polynomial
representation and addition, Generalized linked list, Garbage Collection and Compaction.

3. Trees: Basic terminology, Binary Trees, Binary tree representation, algebraic Expressions,
Complete Binary Tree. Extended Binary Trees, Array and Linked Representation of Binary trees,
Traversing Binary trees, Threaded Binary trees. Traversing Threaded Binary trees, Huffman
algorithm. Binary Search Trees: Binary Search Tree (BST), Insertion and Deletion in BST,
Complexity of Search Algorithm, Path Length, AVL Trees, B-trees. Hashing Comparisons.

4. Searching and Hashing: Sequential search, binary search, comparison and analysis, Hash Table,
Hash Functions, Collision Resolution Strategies, Hash Table Implementation. Sorting: Insertion
Sort, Bubble Sorting, Quick Sort, Two Way Merge Sort, Heap Sort.

References
1. Y. Langsam, M. Augenstin and A. Tannenbaum, Data Structures using C and C++, Pearson
Education Asia, 2nd Edition, 2002.
2. Ellis Horowitz, S. Sahni, D. Mehta Fundamentals of Data Structures in C++, Galgotia Book
Source, New Delhi.
3. S. Lipschutz, Data Structures Mc-Graw Hill International Editions, 1986.
4. Jean-Paul Tremblay, Paul. G. Soresan, An introduction to data structures with Applications,
Tata Mc-Graw Hill International Editions, 2nd edition 1984.
Semester – III / Paper-I
CAB301- OOP with C++
1. Introduction: Introduction to Programming Techniques – POP, OOP, OOP Concept,
characteristics, Applications, Introduction to OOP languages, Introduction to C++,
Features, Bridging C & C++ (Overview of C Concepts), C++ Data Types, Tokens,
Keywords, Operators, Decision Making & Branching: If Statement, If-Else
statement, Nesting of If-Else, Switch statement, Looping: While Statement, Do
Statement, For Statement, Overview of functions & structures in C.

2. Class & Objects: Declaring Data Members, Member Functions, Types of class
Members, Array within a class. Class Function Definition: Member Function
definition inside the class and outside the class, Friend Function, Inline Function, Static
Members & Functions, Scope Resolution Operator, Private and Public Member
Functions, Nesting of Member Functions. Creating Objects, Accessing class data
members, Accessing member functions, Arrays of Objects, Objects as function
arguments: Pass by value, Pass by reference, Pointers to Objects.

3. Constructors and Destructors: Declaration and Definition, Default Constructors,


Parameterized Constructors, Constructor Overloading, Copy Constructors. Destructors:
Definition and use. Inheritance - Extending Classes Concept of inheritance, Base class,
Derived class, Defining derived classes, Visibility modes: Private, public, protected;
Types of Inheritance- Single, Multiple, Multilevel, Hybrid, Hierarchical, Nesting of
classes.

4. Function Overloading & Operator Overloading: Binary & Unary Operators.


Polymorphism: Definition, early Binding, Polymorphism with pointers, Virtual
Functions, late binding, pure virtual functions. Input/output files: Streams, buffers &
iostreams, header files, redirection, file input and output.

Suggested Readings / Books:

1. Object Oriented Programming with C++, E. Balagurusami, Fourth Edition, Tata Mc-
Graw Hill

2. Object Oriented Programming in Turbo C++, Robert Lafore, Fourth Edition Galgotia
Publications.

3. The C++ Programming Language, Bjarna Stroustrup, Third Edition, Addison-Wesley


Publishing Company.

4. Object Oriented Programming Using C++, Salaria, R. S, Fourth Edition, Khanna Book
Publishing
Semester – III / Paper-II
CAB302- Numerical & Statistical Methods

1. Floating Point Arithmetic: Absolute, Relative and Percentage Error. Iterative


Methods: Bisection Method, False-Position (Regula-Falsi) Method, Newton-Raphson
Method, Secant Method, Rate of Convergence of Iterative Method. Simultaneous
Linear Equation: Solution of Linear Equation, Gauss Elimination direct Method and
Pivoting, Gauss Sedial Iterative method, Rate of Convergence.

2. Interpolation and Approximation: Newton‟s forward and backward formula,


Central Difference Formula, Gauss Forward and Backward Formula. Interpolation
with unequal intervals: Langrange‟s Interpolation, Newton Divided difference
formula. Numerical Differentiation and Integration: Trapezoidal Rule, Simpson‟s
Rule, Solution of Differential equations: Taylor‟s method, Euler‟s Method, Runge-Kutta
method, Predictor-corrector methods.

3. Curve Fitting: Method of Least Squares, Fitting of Straight Lines, poliynomial,


exponential curve. Frequency Chart: Different Frequency chart like Histogram,
frequency curve, Pi-Chart. Regression Analysis: Linear and Non Linear regression,
Multiple regression.

4. Time Series and Forcasting: Moving averages, smoothening of curves, forcasting


models and methods, Statical quality control methods. Testing of Hypothesis: Chi-
Square Test, T-Test, and F-Test.

Books for Study and Reference:

1. Snedecor G.W. and Cochran W.G. (1989): Statistical methods, 8 ed., Affiliated East West.

2. Trivedi K.S. (1994): Probability and Statistics with Reliability, Queueing and computer
Science applications, Prentice Hall of India.

3. Balaguruswamy E. (1988): Computer oriented Statistical and Numerical methods,


Macmillan India Ltd.

4. S. C. Chopra and R. P.Canale - Numerical Methods for Engineers - Third Edition -


McGraw Hill International Edition - 1998.

5. S. S. Sastri, Introductory Methods of Numerical Analysis, Prentice Hall


Semester – IV / Paper-I
CAB401- COMPUTER COMMUNICATION & NETWORKS
1. Introduction: History & development of computer network, network
topologies, Transmission media- UTP, STP, Coaxial Cable, Optical Fiber,
analog & digital transmission, multiplexing, FDM, TDM, Classification of
Network in various ways.

2. Data Transmission Basics: Synchronous/Asynchronous, Error detection and


correction methods, Data Compression, Protocol basic, circuit, message, packet
and cell switching, connection oriented and connectionless network, ISO-OSI
model, TCP/IP model, Ethernet, CSMA/CD, CSMA/CA, Token passing ring,
FDDI.

3. Networking Devices: Hubs, Repeaters, Internetworking: Routers, Bridges,


Switches, Gateways, Routing Basics, Routing algorithms, Implementation of
wired and wireless networks, IP addressing, Sub netting, CIDR, Designing a
campus-wide network.

4. Internet: Connecting to Internet: Telephone, Cable, Satellite connection,


Choosing an ISP, network applications: Client Server Concepts.

Suggested Readings:
1. A. S. Tennanbaum, ―Computer Network,‖ 2nd Edition, PHI
2. Data Communication and Computer Networking – Behrouz A. Forouzan.
3. Data and Computer communication- W. Stalling.
4. A top-down approach to computer Networking – Kurose, Ross.
Semester – IV / Paper-II
CAB402- DATABASE MANAGEMENT SYSTEMS

1. Database Systems, View of Data Models, Database Languages, DBMS Architecture,


Database Users and Data Independence. ER Modeling, relation types, role and
Structural Constraints, Extended ER Modeling Features, Design of an ER Database
Schema, Reduction of ER Schema to Tables. Relational Model: Relational Model
Concepts, Relational Algebra.

2. Introduction to SQL & PL/SQL: SQL data types and literals, Types of SQL
commands, SQL operators, Tables, views and indexes, Queries and sub queries,
Aggregate functions, Cursors in SQL. PL/SQL: PL/SQL data types, character set,
variables, literals, constants, commit, rollback, locking, exceptions, triggers.

3. Relational Database Design: Functional and multi-valued Dependencies, Desirable


Properties of Decomposition, Normalization up to BCNF. Concept and Design of Object
Oriented Database. Selected Database Issues: Security, Transaction Management,
Basic Algorithms to Query Processing and Query Optimization, Concurrency Control,
Recovery Techniques, locking.

4. Case Study: Oracle/ MS-SQL/ PL/SQL/ VISUAL BASIC FORMS.

Suggested Readings:

1. C.J.Date, An Introduction to Database Systems, Vol I & II, Addison Wesley.


2. Korth Silberschatz, Data Base System Concepts, 4th ed., McGraw Hill.
3. J.D.Ullman, Principles of Database Systems, Golgotha, New Delhi.
4. Wiederhold, Database Design, McGraw Hill.
5. R. Elmasri, and S.B. Navathe, Fundamentals of Database Systems, Pearson
Education Asia.
6. Raghu Ramakrishnan, Database Management Systems, McGraw-Hill
Education.
Semester – V / Paper-I
CAB501- SYSTEM ANALYSIS AND DESIGN

1. Concept of System and Information System: Definition, Fundamental Design


Activities- Verification and Validation, Types of Information System: TPS, MIS,
DSS, Interpersonal Communication System. System Development Life Cycle:
Recognition of needs for System Change, Feasibility Study, Analysis, Design,
Implementation & maintenance. The Role of System Analyst: Academic & Personal
Qualifications, the Multifaceted Role of Analyst, the Analyst/User Interface.

2. System Planning and Initial Investigation: Strategies for Determining


Information Requirement, Problem Definition & Project Initiation, Back Ground
Analysis, Fact Analysis, Review of written Documents, On-site Observations, Interviews
& Questionnaires, Fact Analysis, Performance Analysis, Efficiency Analysis, Service
Analysis. Information Gathering: Information about the firms, Tools – Interview,
Questionnaires.

3. The Tools of Structured Analysis: The Dataflow Diagram (DFD), Data Dictionary,
Decision Tree and Structured English. Feasibility Study: System Performance, Types
of Feasibility, Steps. Input/output & Form Design: Input / CRT/ design, output design,
Requirements, System Testing: Types of Testing, Preparing a Test Plan

4. Quality Assurance: Implementation of Quality assurance, Inspection, walks through,


follow up, documentation and report writing. Project Management: Measuring the
process, planning, estimating, identifying and evaluating risk, organizing resources,
defining a project schedule, monitoring, review.

Suggested Readings:

1. Elias M. Awad, ”System Analysis & Design”, Galgotia Publication.


2. Hoffer, “Modern System Analysis & Design”, Addision Wesley.
3. Kendall, “Introduction to System Analysis & Design”, McGraw Hill.
Semester – V / Paper-II
CAB502- Computer Graphics & CAD
1. Basic Concepts: Origin of Computer Graphics, new display devices, how the
interactive graphics display works, general purpose graphics S/W, user interface.
Graphical Input Devices & Input Techniques: Pointing and positioning devices,
mousse, tablets, light-pen, 3 dimensional input devices, comparators, positioning
techniques, pointing & selection, inking and painting.

2. Point Plotting Techniques: Coordinate System, Incremental Method, Line Drawing


Algorithms, Circle Generators, Line Drawing Displays – Display Devices & Controllers,
The CRT, Inherent Memory Devices, The Storage Tube Display, The Refresh Line
Drawing Display.

3. Two Dimensional Transformations: Transformation Principles, Concatenation,


Matrix Representation. Clipping & Windowing: Line Clipping Algo, Midpoint
Subdivision, Polygon Clipping, Viewing Transformations, Windowing Transformations,
segments, functions for segmenting, posting and unposting a segment, free storage
allocation, display file.

4. Geometric Models: Geometric Modeling, symbols and instances, boxing, advantages


and limitations of display procedures. Event Handling & Input Functions: Polling,
Interrupts, Event Queue, Event Handling Function, Dragging & Fixing, Hit Detection,
Basic & Raster Graphics. Transformations & Shading Models: 3D
Transformations, parallel and perspective projections, simple shading models,
Introduction to Corel Draw, Harvard graphics, Photoshop, Pagemaker, Paintshop.

Suggested Readings:

1. Graphics Under C by Yashwant Kanetakar


2. Computer Graphics by Baker and Hearn
3. Computer Graphics : Schaum Series
Semester – V / Paper-III
CAB503- Java & Internet Programming
1. Introduction: About OOP‟s, Similarities and differences with C++, Evolution: Java
History, Portable, Platform Independence, Distributed Multithreaded and interactive
differences between Java & C, Java & C++, Java & Internet, Web Browsers (hot java,
Netscape Navigator, Internet explorer), h/w & s/w requirements.

2. Overview: Class Declaration, Opening Base, Main Line, Output Line, Use of Math
Function, Import statement, Interface Statement, Class Definitions, Java Character Set,
Keyboard Identifier, literals, operators, separator, Java Statement, Creating, Compiling
& Running a program, command line argument. Constants, Variables & Data types:
(Integer, Real) constant, (Single, String, Backslash character) constants, variables
(integer, floating, character, Boolean) data types, declaring and assigning values to
variables, scope to variables, typecasting.

3. Operator & Expression: (Arithmetic, relation, logical, assignment, conditional, bit


wise, special) operators, arithmetic expressions, evaluation of expression, operator
precedence. Decision Making & Branching: If Statement, If-Else statement, Nesting
of If-Else, Switch statement, Looping: While Statement, Do Statement, For Statement.
Classes, Objects & Method: Defining a Class, Creating Object, Accessing Class
Member, Constructor, Overloading, Static members, Nesting of Methods, (public, friend,
protected and private) classes. Arrays: Single Dimensional & double dimensional
Arrays, Creating & Initialization of Arrays, String Handling. Packages: Java API
Package, Using Package System, Creating, Using and Accessing a Package.

4. Multithreaded Programming: Creating Threads, extending the thread class,


blocking and stopping a thread, Applet programming: Local & remote applet,
difference between applet and application, writing a applet, designing web pages, applet
tag, adding applet to html file. Exception & Error Handling: Types of Errors,
exceptions, exception for debugging, I/O Management – Concepts of Streams, Stream
Classes, Character Stream Classes, Using Streams, Using the File Class, Creation of Files,
Reading / Writing- character and bytes.

Suggested Readings:

1. Complete Reference Java 2 by Herbert Schieldt


2. Programming with Java by Balagurusamy
3. Java How to program by Dietel & Dietel
Semester – VI / Paper-I

CAB601- WEB TECHNOLOGY

1. History of Web, Growth Of the Web, Protocols governing the web, Introduction To Cyber
Laws in India, Introduction to International Cyber Laws, Web Browser, Web Server,
Web Development Tools (Dream weaver).

2. HTML: Introduction, Formatting Tags, Links, List, Tables, Frames, Forms, Comments
in HTML, Style Sheets

3. JAVA SCRIPT: Introduction, Documents, Forms, Statements, functions, objects,


Events and Event Handling, Arrays, Forms, Buttons, Checkboxes, Text fields and Text
areas, Working with browser objects, Creating browser-specific scripts & Cross-browser
scripts, Introduction to PHP.

4. ASP: Introduction, Objects, Methods, and Establishing Database Connections, Web


Publishing: Setting/ Hosting Website

Suggested Readings:

1. HTML 4.0 – E Stephen Mack & Janan Platt

2. The ABCs of JavaScript – Lee Purcell, Mary Jane Mava

3. Active Server Pages 2.0 – Stephen Walther

4. Active Server Pages 3 – A Russel Jones

5. Commercial Web Development Using HTML, DHTML, Java Script, CGI, Perl- Ivan
Bayross.
Semester – VI / Paper-II

CAB602- .NET WITH C#

1. Introduction to .NET: Definition, Features of .NET, CLR, CTS, CLS, MSIL, Managed
Code and Managed data, Assembly, Namespace, Introduction to C#, Features of C#,
Types and Variables: value type, reference type, Boxing and Un Boxing, Instance
variable, array elements, Parameters( value/ reference/ output), local variables.

2. Control Statements: if, switch, while, do, for, for-each, break, continue, goto, return
statements. Exception Handling: Exception, causes of exception, checked and un
checked statements, compiler setting and overflow checking, try/catch, try/finally,
try/catch/finally, throwing exceptions. Namespace: Definition, Namespace
declaration, using directives, alias.

3. Classes: Definition and declaration, class modifiers, Abstract class, sealed class,
Constructors and Destructors, Methods, Methods Parameters (value/ reference/ output),
parameter array, static and instance method, virtual method, override method, method
overloading, method hiding, sealed method, Abstract method, Properties, Array
Indexes: Definition, Accessors, Read-only and write-only properties, Definition and
declaration of arrays, single dimension/ multi dimension array, rank of an array, jagged
array, Indexes.

4. Structure, Enums, Delegates and Events: Definition of struct, difference between


class and struct, Enums, Enum members, Definition of delegates, single cast and multi
cast delegates, Events. Inheritance and Interface: Definition of Inheritance and
Interface, working with interface, inheritance of interfaces, Interface implementation,
multiple implementations. ADO.NET: Introduction, Difference between ADO and
ADO.NET, primary objects of ADO.NET, Reading/ Writing/ Updating/ displaying data
in a data grid.

Suggested Readings:

1. Programming in C# by E Balagurusamy

2. C#: Nuts & Bolts by Sonal Mukhi

3. C#: A Complete Reference by Herbert Schildt


Semester – VI / Paper-III

CAB603- Software Engineering

1. Introduction
Introduction to Software Engineering, Software Components, Software Characteristics,
Software Crisis, Software Engineering Processes, Similarity and Differences from
Conventional Engineering Processes, Software Quality Attributes. Software Development
Life Cycle (SDLC) Models: Water Fall Model, Prototype Model, Spiral Model,
Evolutionary Development Models, Iterative Enhancement Models.

2. Software Requirement Specifications (SRS)


Requirement Engineering Process: Elicitation, Analysis, Documentation, Review and
Management of User Needs, Feasibility Study, Information Modeling, Data Flow
Diagrams, Entity Relationship Diagrams, Decision Tables, SRS Document, IEEE
Standards for SRS.

3. Software Design & Testing


Basic Concept of Software Design, Architectural Design, Low Level Design:
Modularization, Design Structure Charts, Pseudo Codes, Flow Charts, Coupling and
Cohesion Measures, Design Strategies: Function Oriented Design, Object Oriented
Design, Top-Down and Bottom-Up Design. Software Testing: Testing Objectives, Unit
Testing, Integration Testing, Acceptance Testing, Regression Testing, Testing for
Functionality and Testing for Performance, Top-Down and Bottom-Up Testing
Strategies: Test Drivers and Test Stubs, Structural Testing (White Box Testing),
Functional Testing (Black Box Testing).

4. Software Maintenance and Software Project Management


Software as an Evolutionary Entity, Need for Maintenance, Categories of Maintenance:
Preventive, Corrective and Perfective Maintenance, Cost of Maintenance, Software Re-
Engineering, Reverse Engineering. Software Configuration Management Activities,
Change Control Process, Software Version Control, An Overview of CASE Tools.
Estimation of Various Parameters such as Cost, Efforts, Schedule/Duration, Constructive
Cost Models (COCOMO), Resource Allocation Models, Software Risk Analysis and
Management.

References:
1. R. S. Pressman, Software Engineering: A Practitioners Approach, McGraw Hill.
2. Rajib Mall, Fundamentals of Software Engineering, PHI Publication.
3. K. K. Aggarwal and Yogesh Singh, Software Engineering, New Age International
Publishers.
4. Pankaj Jalote, Software Engineering, Wiley
5. Carlo Ghezzi, M. Jarayeri, D. Manodrioli, Fundamentals of Software Engineering, PHI
Publication.
6. Ian Sommerville, Software Engineering, Addison Wesley.

You might also like