Course Objectives:
This course is designed to acquaint the student with the concept of fundamental problem analysis, modeling and coding techniques.
Course Contents:
Unit I: Programming Languages ——————————————— 11 hours
-
- Introduction
- The analogy with Natural Language
- Classification of Computer Language:
- Low-Level Language and High-Level Language
- Low-Level Languages (Machine and Assembly Language)
- Advantages and Disadvantages of Machine Level Language
- Advantages of Assembly Language over Machine Level Language
- Disadvantages of Assembly Language
- High-Level Language
- Advantages and Limitations of High-Level Language
- Difference between Low Level and High-Level Language
- Program Language Translator:
- Types of Translator:
- Compiler
- Assembler
- Interpreter
- Different among Translator
- Types of Translator:
- Linker and Loader:
- Types of Linker and Loader
- Generation of Computer Languages:
- 3GL and 4GL
- Advantages of 4GL over 3GL
- The feature of 4GL (Object Oriented Language)
- Machines Independent and Portability of programs
- Some Important types of High-Level Language
Unit II: Software Development (Program Development) ————— 10 hours
-
- Introduction to program development/software development
- Program Development Life Cycle:
- Problem identification
- Problem Analysis/Requirement Analysis
- Program Design
- Phases of Program Design:
- Data design
- Input
- Output
- Procedure
- File design
- Program Coding
- Program Testing and Debugging
- Program Delivery/Implementation & valuation
- Program Maintenance
- Documentation
- Programming Tools:
- Algorithm
- Flowchart
- Decision Table
- Pseudocode
- Comparison of them
- Advantages and Disadvantage of Them
- Symbols and some examples
Unit III: Programming Technique ——————————————- 8 hours
-
- Introduction
- Type of Programming Technique (Approaches):
- Modular
- Top-down
- Bottom-up
- Structure and Object Oriented approach
- Advantages and Disadvantages
- Program Development Methods (Models):
- Types of Program Development Models:
- Waterfall or Traditional model
- Prototype or Transformation model
- Spiral model
- Iterative model
- V-model
- RAD model
- Bog Bang model
- Evolutionary models
- Advantage and Disadvantages:
- Waterfall
- Prototype
- Spiral Model
- Simple Introduction to other Models
- Types of Program Development Models:
- Cohesion and coupling:
- Types of Cohesion and Coupling
- Use of Cohesion and Coupling in Program Development
- Logic Program Development
- Types of Logics:
- Sequential
- Selection Iteration
- Recursion
- Differentiation
- Communication between modules
Unit IV: Program Maintenance ———————————————— 8 hours
-
- Introduction
- Types of Program maintenance:
- Corrective maintenance
- Adoptive maintenance
- Perfective maintenance
- Emergency maintenance
- Problem Areas in Program Maintenance
- Cost issues in software maintenance
- Impact of Software Errors
- Program documentation and it’s standards
- Requirements of Documentation
- Importance of Documentation
- Types of Documentation
- Program Specification
- System Flow Chart
- Elements of System Flowcharts and Examples
- Data Flow Diagram
- Element of DFD
- Leveling the data flow diagram
- The idea for Drawing DFD and Examples
Unit V: Standalone and Client Server Programming Concept ———- 8 hours
-
- Introduction to standalone Programming concept
- Advantage and limitations of Standalone Programming
- Introduction to Client-Server Programming (CSP)
- Advantages and Disadvantages of CSP
- Distinguish between Standalone and Client-Server Programming
- Client-Server Programming Architecture
- Introduction to Web-based Programming
- Advantages and Disadvantages of web-based programs
- The architecture of web-based programming
- Web-based System and Programming
- Introduction to a few web-based languages and their capabilities
- The requirement of Platform-Independents system
- Introduction to standalone Programming concept
Reference Books:
-
- V.K. Jain: Computer Fundamentals, BPB Publication
- Foundations of Computing, BPB Publication (Third Edition)