BCA Program Structure

Bachelor of Computer Applications (BCA) is a three-year undergraduate degree program spread across six semesters.

BCS-031: Programming in C++ 3 Credits

Objectives

After completing this course, you will be able to:

  • Learn basic concepts of Object-Oriented Programming
  • Learn C++ features and programming
  • Develop programs using C++

Block 1: Introduction to Object-Oriented Programming Using C++

Unit 1: Introduction to Object Oriented Programming

Object-Oriented Programming Concepts, Benefits of Object oriented programming, Object-Oriented Languages.

Unit 2: Introduction to C++

Genesis of C++, Structure of a C++ program, Data Types, Operators and Control Structures.

Unit 3: Objects and Classes

Classification, Defining Classes, Encapsulation, Instantiating Objects, Member Functions, Accessibility labels, Static Members.

Unit 4: Constructors and Destructors

Purpose of Constructors, Default Constructor, Parameterized Constructors, Copy Constructor, Destructor, Memory Management.

Block 2: Inheritance and Polymorphism in C++

Unit 1: Inheritance

Concept of Reusability, Types of Inheritance, Single and Multiple Inheritance, Multilevel Inheritance.

Unit 2: Operator Overloading

Function and Operator Overloading, Overloading Unary and Binary Operators.

Unit 3: Polymorphism and Virtual Function

Abstract Class, Function Overriding, Dynamic Binding, Pure Virtual Functions.

Block 3: Advanced Features of C++

Unit 1: Streams and Files

Stream Classes, Types of I/O, Formatting Outputs, File Pointers, Buffer.

Unit 2: Templates and STL

Function and Class Templates, Use of Templates, Standard Template Library.

Unit 3: Exception Handling

Exceptions in C++ Programs, Try and Catch Expressions, Exceptions with arguments.

Unit 4: Case Study

A Case Study to implement a real world problem.

Course Assessment

Term-End Examination (70%)

  • Three hours duration
  • Covers all blocks
  • Theory and problem-solving questions

Continuous Assessment (30%)

  • One assignment
  • Practical problem solving
  • Programming exercises

Learning Resources

Study Materials

  • Self-learning material
  • Program guide
  • Assignments

Reference Books

  • C++ Programming by Bjarne Stroustrup
  • Object-Oriented Programming in C++

Online Resources

  • Video lectures
  • Web tutorials
  • Practice problems

BCSL-032: C++ Programming Lab 1 Credit

Objective

To provide hands-on experience in C++ programming. Learners will write programs based on concepts learned in the C++ programming course, implementing OO features such as classes, objects, inheritance, and polymorphism.

Lab Sessions

Sessions 1-4

  • Basics of C++, data types, I/O, Control Structures
  • Classes and Objects, function calling
  • Constructors and Destructors
  • Inheritance

Sessions 5-10

  • Operator Overloading
  • Polymorphism
  • Template classes and functions
  • I/O and streaming
  • Exception Handling
  • STL

BCSL-033: Data and File Structures Lab 1 Credit

Objectives

This lab course builds on MCS-021 and provides hands-on experience in implementing data structures using C programming. The course aims to:

  • Provide practical implementation of basic and advanced data structures
  • Develop programming skills using data structures
  • Enable understanding of practical applications of data structures

Course Topics

Arrays
Structures
Linked Lists
Stacks
Queues
Trees
Advanced Trees
Graphs
Searching
Sorting

BCSL-034: DBMS Lab 1 Credit

Objectives

This lab course complements MCS-023 and provides practical experience in database management using MS-Access. Students will:

  • Develop practical skills in database design and implementation
  • Gain hands-on experience with DBMS tools
  • Learn to create and manage database applications

Lab Activities

Database Design

  • Creating tables and relationships
  • Implementing constraints
  • Normalization exercises

SQL Operations

  • Basic and advanced queries
  • Data manipulation operations
  • Views and stored procedures

Forms and Reports

  • Creating user interfaces
  • Generating reports
  • Data visualization

Practical Assessment

Lab Exercises (50%)

  • Regular practical assignments
  • Mini-projects
  • Lab record maintenance

Term-End Practical (50%)

  • Database design implementation
  • Query writing and execution
  • Form and report creation