Skip to main content

Course Outline

Evaluation:
TheoryPracticalTotal
Sessional50-50
Final50.50
Total100-100

Course Objectives:

This course is designed to acquaint the student with the concept off fundamental problem analysis, modeling and coding techniques.

Course Contents:

1. Programming Languages 14 hours

    1.1. Introduction
1.2 Analogy with Natural Language
1.3 Classification of Computer Language (Low Level Language and High Level Language)
1.3.1 Low Level Languages, (Machine and Assembly Language)
1.3.2 Advantages and Disadvantages of Machine Level Language
1.3.3 Advantages of Assembly Language over machine Level Language Disadvantages of Assembly Language
1.3.4 Disadvantages of Assembly Level Language
1.4 High Level Language
1.4.1 Advantages and Limitations of High Level Language
1.4.2. Difference between Low Level and High Level Language
1.4.3. Program Language Translator
1.4.3.1 Types of Translator (Compiler, Assembler and Interpreter)
1.4.3.2 Different among Translator
1.5 Linker and Loader
1.5.1 Types of Linder and Loader
1.6 Generation of Computer Languages
1.6.1 3GL and 4GL
1.6.2 Advantages of 4GL over 3GL
1.6.3 Feature of 4GL (Object Oriented Language)
1.7 Machines Independent and Portability of programs
1.8 Some Important types of High Level Language

2. Software Development (Program Development) 10hours

    2.1 Introduction to program development/software development
2.2. Program Development Life Cycle.
2.2.1. Problem identification
2.2.2 Problem Analysis/Requirement Analysis
2.2.3 Program Design Phases of program Design (Data design, Input, Output, Procedure, File design)
2.2.4 Program coding
2.2.5 Program Testing and Debugging
2.2.6. Program Delivery/Implementation and Evaluation
2.2.7. Program Maintenance
2.2.8. Documentation
2.3 Programming Tools
2.3.1. Algorithm
2.3.2 Flowchart
2.3.3 Decision Table
2.3.4 Pseudocode
2.4 Comparison of them
2.5 Advantages and Disadvantage of Them
2.6 Symbols and some examples

3. Programming Technique 8 hours

    3.1 Introduction
3.2 Type of Programming Technique (Approaches)
3.2.1 Modular, Top down, bottom up, Structure and Object Oriented approach
3.2.2 Advantages and Disadvantages
3.3 Program Development Methods (Models)
3.3.1. Types of Program Development Models (Water fall or Traditional model, Prototype or Transformation model, Spiral model, Iterative model, V-model, RAD model, Bog Bang model, Evolutionary models)
3.3.2. Advantage and Disadvantages of Waterfall, Prototype and Spiral Model (Simple Introduction to other Models)
3.4 Cohesion and coupling
3.4.1 Types of Cohesion and Coupling
3.4.2 Use of Cohesion and Coupling in Program Development
3.5 Logics of Program Development
3.5.1 Types of Logics (Sequential, Selection Iteration and Recursion)
3.5.2 Differentiation
3.6 Communication between modules

4. Program Maintenance 8 hours

    4.1 Introduction
4.2 Types of Program maintenance (Corrective maintenance, Adoptive maintenance, Perfective maintenance, Emergency maintenance)
4.3 Problem Areas in Program Maintenance
4.4 Cost issues in software maintenance
4.5 Impact of software Errors
4.6 Program documentation and its standards
4.6.1 Requirements of Documentation
4.6.2 Importance of Documentation
4.6.3 Types of Documentation
4.7. Program Specification
4.8. System Flow Chart
4.8.1 Elements of System Flowcharts
4.8.2 Examples
4.9 Data Flow Diagram
4.9.1 Element of DFD
4.9.2 Leveling the data flow diagram
4.9.3 Idea for Drawing DFD
4.9.4 Examples

5. Standalone and Client Server Programming Concept 8 hours

    5.1. Introduction to standalone Programming concept
5.1.5 Advantage and limitations of Standalone Programming
5.2 Introduction to Client Server Programming (CSP)
5.2.1 Advantages and Disadvantages of CSP
5.2.2 Distinguish between Standalone and Client Server Programming
5.2.3 Client Server Programming Architecture
5.4 Introduction to Web-based Programming
5.5 Advantages and Disadvantages of web-based programs
5.5.1 Architecture of web-based programming
5.5.2 Web-based System and Programming
5.6 Introduction to a few web based languages and their capabilities
5.7 Requirement of Platform-Independents system

ReferenceBooks:

1. V.K. Jain: Computer Fundamentals, BPB Publication

2. Foundations of Computing, BPB Publication (Third Edition)