CU BCA AllSemesters Syllabus
CU BCA AllSemesters Syllabus
The Bachelor of Computer Applications Program is structured for learners who wish to start their career
in the domains of Software Development and Testing or Analytics. BCA is a three-year online program,
where any learner who has completed plus two from any recognized board can apply. This curriculum is
structured and back tailored to fill the gap between theoretical learning and practical application by
interacting with industry-experts, BCA graduates, tech hiring managers etc., The curriculum which
enhances the learners in obtaining in-depth knowledge on programming languages, data structures and
algorithms, Database management, Business Analytics, Machine Learning etc. The learning method of this
program includes case studies and projects which provide learners real and practical application of
concepts and practices.
Towards the end of the three-year BCA program, learners will gain the critical thinking ability to keep pace
with the dynamic industrial changes, and technological expertise.
Semester I Semester II
Subjects Credits Subjects Credits
Computer Programming 5 Object Oriented Programming 5
Communication Skills 3 Data Structures and Algorithms 5
Introduction to Management &
Finance & Economics 3 3
Leadership
Discrete Mathematics 4 Soft Skills 3
Electrical and Electronic Circuits 4 Computer Systems Architecture 4
Total 19 Total 19
Semester V Semester VI
Subjects Credits Subjects Credits
Data Visualization 4 Business Analytics 4
Linear Algebra & Optimization 3 Software Engineering 4
Data Warehousing and Data Mining 4 Machine Learning 4
Cloud Computing 4 Cloud Native Development 4
Minor Project 4 Major Project 5
Total 20 Total 21
Grammar:
○ Introduction to the basics of the English language
○ Getting Started with Sentence Creation
○ Key to Good English
Paragraph writing
Letters and Resumes
Composition:
○ Note Making
○ Technical Writing and Visual Aids
○ Technical Report
○ Email Writing and White Paper
Introduction to Reading:
○ Introduction to Reading Skill
○ Skimming and Scanning
○ Reading Comprehension
Analysing Texts:
○ Introduction to Reviewing
○ Sample Reviews
○ Review Project - I
Learning Objectives:
○ Analyze different types of (scientific) reports/articles and their objectives and audiences:
○ Identify and understand (the potential) readers; Organize the content, structure the
document/report
○ Understand and debate on Scientific Material: (i) Books on Scientific thesis and (iii) Science
Fiction
○ Summarize and critically analyze the above.
○ Write and present scientific articles, posters etc.
Microeconomics:
○ Economics: Its Definition and Its Scope
○ Microeconomics: Demand and supply
○ Consumer Behaviour: How Consumers Choose
○ How Producers Make Decisions
○ Markets: Merging Demand and Supply
Macroeconomics:
○ Macroeconomics - Subject, History and Development
○ Measurement of Key Macroeconomic Variables
○ Macroeconomic Models and Frameworks
○ Fiscal and Monetary Policies
○ Business Cycle and Economic Growth
Basics of Accounting:
○ Accounting Framework and Concepts
○ Interpreting Financial Statements
○ Analyse Financial Statements
○ Outline of an Annual Report
Learning Objectives:
○ Understand and interpret Financial Statements
○ Analyse Financial Statements
○ Understand the outline of an Annual Report
● Leadership Styles
● Self Awareness
● Business Leadership
● Organizational Understanding
● How to interact with different stakeholders
● How to lead with and without authority
● Negotiation skills
● Communicating effectively
● Learning Objective:
Module 1 - Abstraction
● Separation of Concerns
● Data Abstraction and Data Encapsulation
● Data Types vs. Representation
● Interface vs. Implementation
● Abstract Data Types
Module 2 - Lists
● Static allocation vs Dynamic allocation (Arrays vs Linked Lists)
● Access Restricted Lists
● Stacks
● Queues
● DEQueues
Module 3 - Algorithm Analysis
● Time Complexity and Space Complexity
● Review and use of Big-O Notation
● Recurrence Relations and Simple Solutions
● Use of Divide-and-conquer in designing operation on data Structure
Module 4 - Searching and Sorting
● Linear Search (UnSorted Lists) vs. Binary Search (Sorted Lists) – Cost Comparison
● Design of Sorting Algorithms
● Application Context of Sorting Algorithms (In-memory vs. Sequential Storage; Short lists vs. long lists;
Semi-sorted vs. Random lists)
Module 5 - Sets and Dictionaries
● HashTables
● HashMaps and HashSet
● Binary Trees & Binary Search Trees (BSTs)
● Height-balanced BSTs – AVL Trees
● Priority Queues
● Heaps,
Module 6 - Strings
● Tries
● Huffman Coding using Binary Trees.
Module 7 - Graphs
● Graphs for capturing relations; Storing graphs
● Basic operations on Graphs – Connectivity, Traversals, and Paths
Learning Objectives
➢ Design data structures and implement them
➢ Apply divide-and-conquer to design algorithms for operations on data structures
➢ Analyse time complexity and space complexity of the operations on data structures
Learning Objectives
➢ Discuss the importance of object-oriented design
➢ Translation OO concepts into working programs
Learning Objectives
➢ Solve problems by designing algorithms
➢ Implement algorithms
➢ Analyze algorithms on paper and compare with the measured runtime performance of the
implementation
➢ Use the analysis and measurements to tune the implementation and/or redesign the algorithm
● BASE properties
● Consistency vs. Availability
● CAP Theorem and Implications
● Consistency vs. Latency
● PACELC Theorem;
Module 5 - Application-specific Data Data on the Web
● Documents
● Indexing
● Scraping
● Named Entity Extraction
● Image Databases
● Geo-location Data
● Applications.
Learning Objective
➢ Understand and apply various concepts in Database management systems.
➢ Gain knowledge about the various forms of databases, query languages, applications, etc
Module 1 - Introduction
● The purpose of Operating Systems
● Hardware Requirements
● Approaches to Design - Monolithic, Kernel-based, and Micro-Kernel-based
Module 2 - Processes
● Creating and Allocation
● Scheduling Techniques
● Multiprocessing and Multithreading Systems
● Concurrency and Shared Resources
● Critical Regions
● Mutual Exclusion and Synchronization
● Liveness Properties
● Deadlocks and Livelocks;
Module 3 - Memory
● Overlay
● On-demand Paging
● Segmentation
● Virtual Memory – Address Translation, Page Tables, and Memory Management
● Page Faults and Page Replacement
Module 4 - I/O and File Systems
● Managing I/O Operations and Buffering
● Secondary Storage and Files
● File Systems – Storage, File Store and Persistent Data Structure
● File I/O: Kernel Data Structures
Module 5 - Devices
● Device Interaction
● Device Controllers
● Device Drivers
Pragmatics: Case studies of implementation; Comparison of design and features.
Learning Objectives
➢ Understand the internal workings of an Operating System and the various functions performed by
OS
➢ Discuss how I/O, file system, memory interact with OS.
Learning Objectives
➢ Apply the programming concepts learned to solve real-world problems
➢ Visualize the data using various libraries in Python
● Computer Graphics (4 Credits)
Learning Objectives
➢ Apply geometric concepts to develop computer programs for elementary graphics operations.
➢ Understand and apply basic concepts of computer graphics including transformation in 2D, 3D,
viewing and projections.
Learning Objectives
➢ Understand the internal working of running and compiling program
➢ Understand caching and loop controlling techniques
➢ Design and Analyze multithreaded programs on multicore systems
➢ Understand the internal working of file systems.
Module 1 - Applications
● Uses of a computer network
● Killer apps of the Internet (e.g. email and web)
● Application requirements and Application Protocol requirements
● Client- Server and Peer-to-Peer applications
● Case studies of Network Applications / Protocols
● Requirements for the transport layer
Module 2 - Transport Layer
● Transport Layer Functions
● Transport Protocols (TCP and UDP)
● Data Transfer and Connections; Reliability; Flow Control and Congestion Control;
Module 3 - Network Layer
● Routing and Forwarding
● Routing Protocol: Link State and Distance Vectors
● OSPF and BGP
● Data Plane and Control Plane; Decentralized vs.
● Centralized Routing; Software-Defined Networks; ICMP;
Module 4 - Link Layer
● Error Detection and Correction
● Medium Access Control – ALOHA, CSMA/CD, CSMA/CA
● Local Area Networks – Addresses and Address Resolution, Switches and Routers, VLANs, Label
Switching
Module 5 - Wireless and Mobile Networks
● Typical network elements
● Wireless Links and Medium Access.
Learning Objectives
➢ Understand various layers of network communications.
➢ Learn internal working of wired and wireless communication
Learning Objective
➢ Face interviews and public speaking competitions and group discussions with confidence
Module 1 - Context
● Client-Server Programming
● Hyper-Text Transfer Protocol
● Functions of a browser – Protocol End-Point, Rendering, User Interaction; Functions of a web server:
Managing Requests on-Demand, Database Interaction, Application Logic, Managing State,
Transitions, and Data.
Module 2 - Building Static, Single Page Applications
● Use of HTML
● Cascading Style Sheets
● Javascript to build an elementary web application.
● Browser-Server Communication using AJAX.
Module 3 - Server-Side Programming
● Server-side Programming Requirements and Frameworks
● Authentication/Log-in
● Implementing Business Logic on the webserver
● Database Access from the webserver
● Managing Sessions and Transactions;
Module 4 - Deploying a web application
● Configuring a web server
● Scalability and basic security
● Deploying a 2-tier architecture and a 3-tier architecture
Learning Objectives
➢ Enable learners to understand and build web applications
➢ Deploy web applications on web servers and configure web servers for various applications
➢ Build client side and server side applications for hosting in a web environment.
● Understanding Data: Data and Attributes – Nominal, Ordinal, Interval, and Ratio. Measures of
Similarity and Dissimilarity
● Understanding Datasets: Types of Datasets, Quality of Data in Datasets, Dimensions of data, Data
Pre-processing including dimensionality reduction; Visualization: Review of basic techniques (from
Probability & Statistics), Visualizing Spatial Temporal Data, Visualizing Higher Dimensional Data
● Association Rule Mining: Frequent Itemset Mining- The Apriori Principle and the Apriori Algorithm;
Rule Generation in the Apriori Algorithm; Compact Representation of the Frequent Itemsets; FP-
Growth algorithm and Frequent Itemset generation
● Clustering: Different types of clusters (resulting out of clustering); K-means algorithm,
Agglomerative Hierarchical Clustering, Density-based Clustering, , Subspace Clustering, Graph-
based Clustering, Self-Organizing Maps, Evaluation of Clusters
● Anomaly Detection: Causes of and approaches to detection
● Text Mining: Similarity Computation for Text data; Clustering Methods for text
● 4Vs of Big Data
● Big Data: Industry Case Studies
● Introduction to Data Warehouse and Data Lakes
● Designing Data Warehousing for an ETL Data Pipeline
● Designing Data Lake for an ETL Data Pipeline
● Fundamentals of Apache Hive
● Writing HQL for Data Analysis
● Partitioning and Bucketing with Hive
● Data warehousing with Redshift
● Analyze data with RedShift
● Running Spark on Multi Node cluster
● Spark Memory & Disk optimisation
● Optimising Spark Cluster environment
● Introduction to Apache Flink
● Batch Data Processing with Flink
● Stream Processing with Apache Flink
● SQL API
● Intro to real-time data processing architectures
● Fundamentals of Apache Kafka
● Setting up Kafka Producer and Consumer
● Kafka Connect API & Kafka Streams
● Spark Streaming Architecture
● Spark Streaming APIs
● Building Stream Processing Application with Spark
● Comparison between Spark Streaming and Flink
● Fundamentals of Airflow
● Workflow Management with Airflow
● Automating an entire Data Pipeline with Airflow
Learning Objectives
● Understand the intricacies behind designing a data warehouse and a data lake for use case/s.
● Manage and query a data warehouse with Apache Hive. Learn to write optimized HQL for large scale
data analysis.
● Learn to deploy a Redshift cluster and use it for querying data.
● Use PySpark to create large scale data processing applications.
● Use DataStream API to create a stream processing application
● Learn about the real-time data processing architecture of Apache Spark. Build Spark Streaming
applications to process data in real-time.
● Automate Data Pipelines with Airflow.
Module 1 - Context
Module 3 - Virtualization
● Virtual Machines
● System Virtual Machines
● Implementation Models
● Select aspects of Implementation
○ Processor Virtualization
○ Memory Virtualization
○ Storage Virtualization
○ Network Virtualization
○ Case studies (e.g. VmWare, Xen)
● Virtual Clusters. Containers and Implementation.
Learning Objectives
➢ Understand various cloud technologies and related tools.
➢ Apply the concepts learned to host the solutions in a public cloud.
Develop a mini project based on the technologies learned earlier in this course.
Learning Objectives
➢ Build small prototypes or Proof of Concepts solutions using programming tools and devices or
commercial tools
➢ Write test cases using multi-core, distributed, embedded, concurrent/Parallel environments.
➢ Practice presentation, communication and team-work skills.
● Code Repositories
● Versioning and Version Control Tools
● Automated Testing Tools
● Integration Tools
Learning Objectives
➢ Understand what are the tools used in software development projects for development, testing,
version control, integration, etc.
➢ Learn about the best project management practices and SDLC methodologies.
➢ Enterprise Applications
➢ Evolution of Deployment: Inside the Enterprise, the Web, the Data Center / Cloud
➢ Characteristics and Structure of a Cloud-Native Application
➢ Services and Microservices
➢ Microservices Architecture
➢ Composability and Decomposing solutions into Microservices
➢ Building Microservices
➢ Orchestration / Choreography of Microservices
➢ Shared data and communication
➢ Patterns and Best Practices for Cloud-Native Development
➢ Unit Testing Microservices
➢ Porting Monolithic applications to Microservices
➢ Overview of DevOps
➢ Continuous Integration and Continuous Delivery / Deployment
➢ Deploying Microservices via Containers
➢ CI/CD Pipeline for microservices and automation
➢ Deployment platform: automated operation/management of microservices
➢ Exercises on building applications using microservices
➢ Exercises on Containerization using Dockers
➢ Exercises on Kubernetes for deploying and managing microservices
➢ CI/CD exercises
Learning Objectives
➢ Develop Applications that leverage the elasticity and availability of the Cloud
➢ Understand Microservices Architecture
➢ Apply best practices in CI/CD pipelining
➢ Understand how to use Container Technologies
➢ Deploy applications on Cloud
Learning Objectives
➢ Design and develop projects using programming tools and devices
➢ Write SRS and other software engineering documents in the project report using mathematical
models developed and analyze them
➢ Write test cases using multi-core, distributed, embedded, concurrent/Parallel environments
➢ Present the overall project