FTD Recommended Syllabus
FTD Recommended Syllabus
Distribution: 2024-25
Department of Computer Engineering
Department of Computer Science Engineering
Program: Diploma in Computer Engineering
Semester : 3 NCrF Level : 4.0
S. Total
Course Type Course Code Course Name T P S
No. Credits
6 SEC 2
7 MDC 4
6 AEC 2
7 MDC 4
OEC &
8 4
OTHERS
Course Title: Programming in C-Theory
Type of Course: DCC Level of Course: 4 Delivery Sub Type of the course: Theory
Course code: CSE-2-301-T No. of credits: 2 T-P-S: 2-0-0 Learning hours: 30
Pre-requisite and Co-requisite of Course: Basics of computer systems
Department: Computer Science Engineering Program: Diploma in Computer Engineering
Course objectives:
1. To introduce the fundamental concepts of programming using the C language.
2. To develop the ability to write structured and efficient code using control statements, functions, and arrays.
3. To enable students to understand and apply concepts of pointers and memory management in C.
4. To provide a foundation in handling strings and file operations.
5. To familiarize students with basic data structures such as structures, unions, and linked lists implemented in C.
6. To encourage problem-solving and logical thinking through hands-on coding assignments.
Course Content
Module/
Topic T P S
Unit
1 Basics of Algorithm: Representation of algorithms, flowcharts, and pseudocode with
examples, transition from algorithms to programs, understanding source code.
Programming Basics: Structure of a C program, writing and executing the first C program,
6
syntax and logical errors during compilation, object code and executable code.
Components of C Language: Standard I/O in C, fundamental data types, variables and
memory locations, storage classes including auto, static, extern, and register.
2 Arithmetic Expressions and Precedence: Operators and expressions using numeric and
relational operators, mixed operands and type conversions, logical operators, bitwise
operations, assignment operators, operator precedence and associativity. 6
Conditional Branching and Control Statements: Usage of if, if-else, and nested conditional
statements, switch statements, break and continue controls.
3 Iteration and Loops: while, do-while, and for loops, usage of multiple loop variables,
implementation of break and continue within loops.
6
Functions: Introduction to functions, types of functions, passing parameters using call by
value and call by reference, recursive functions.
4 Arrays and Strings: Array notation and memory representation, manipulating array elements,
usage of single and multi-dimensional arrays, character arrays and operations, and basic string
6
operations.
User-Defined Data Types: Structure, union, enumerated data types, arrays of structures.
5 Pointers: Introduction to pointers and address arithmetic, pointer declarations and operations,
usage of pointers as function arguments.
6
File Handling: File declarations, working with text and binary files, file operations including
creation, reading, writing, copying, deletion, and updating of files.
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70
Marks, Continuous Evaluation: 30 Marks, Total: 100 Marks.
Recommended Books and References:
1. Let Us C – Yashavant Kanetkar, BPB Publications, 13th Edition
2. Schaum's Outline of Programming with C – Byron Gottfried, McGraw-Hill Education, 2nd Edition
3. The C Programming Language – Brian W. Kernighan, Dennis M. Ritchie, Pearson Education, 2nd Edition
4. Programming in ANSI C – E. Balagurusamy, McGraw-Hill Education, 8th Edition
Learning outcomes
By the end of the course, students will be able to:
1. Design and implement efficient algorithms and develop problem solving skills.
2. Translate problem statements into functional C programs through effective coding and debugging techniques.
3. Utilize conditional statements, loops, and recursion to build dynamic solutions for complex programming tasks.
4. Decompose larger problems into smaller, manageable functions using modular programming and a divide-and-
conquer approach.
5. Leverage advanced data structures, including arrays, pointers, and structures, to enhance program performance
and organization.
6. Develop a strong understanding of C programming principles, such as memory management and error handling,
to write robust and scalable code.
Course Content
Module/
Topic T P S
Unit
1 Introduction to Web Technologies: Overview of Web Design, Understand the
difference between static and dynamic websites and their use cases. Introduction to 6
HTML, CSS, and JavaScript, URLs, and web hosting and server environments.
Practical Assignments:
1. Explore Different Types of Websites: Analyze and identify characteristics of static
and dynamic websites.
2. Set Up a Local Development Environment: Learn how to set up a basic web
development environment using text editors like Notepad++, Sublime Text, or
Visual Studio Code.
2 HTML Document Structure: HTML pages, Structure, Basic HTML Tags: core tags 10
like <html>, <head>, <body>, and <title> to structure a webpage. Creating a Simple
Webpage: Build a basic webpage with text, links, and images. Text Formatting Tags:
Headings and Paragraphs: Learn to use heading tags (<h1> to <h6>) and paragraphs
(<p>) for text structuring. Text Styles: Understand how to apply text formatting with
tags like <b> (Bold), <i> (Italic), and more. Lists and Links: Ordered and Unordered
Lists: Learn to create lists using <ol> for ordered lists and <ul> for unordered lists.
Anchor Tag and Hyperlinks: Master the <a> tag for creating hyperlinks to other pages
and resources. Images and Multimedia: Inserting Images and Multimedia: embed
images, videos, and audio using <img>, <video>, and <audio> tags.
Practical Assignments:
3. Develop a simple personal introduction webpage using HTML that includes
headings (<h1> to <h6>), paragraphs (<p>), images (<img>), and hyperlinks (<a>)
to display your introduction, hobbies, skills, and contact information, with proper
navigation through links and inclusion of at least one image.
4. Develop a webpage that lists all the items in your classroom and their respective
quantities, using an ordered list (<ol>) for numbered items and an unordered list
(<ul>) for other items, effectively organizing the content in a structured format.
3 CSS (Cascading Style Sheets): Definition and importance of CSS, Types of CSS – 10
Inline, Internal, External, CSS syntax – selectors, properties, values, CSS Classes and
IDs, Box Model – content, padding, border, margin, Layout techniques – float, clear,
position, Introduction to Flexbox – flex-direction, justify-content, align-items, Styling
text – fonts, colors, backgrounds, Styling links using pseudo-classes – :hover, :active,
:visited, Introduction to responsive design with media queries.
Practical Assignments:
5. Design a personal introduction webpage and style it using external CSS to define
fonts, background colors, margins, and spacing, emphasizing the separation of
content and presentation.
6. Develop a two-column webpage for a product or service (e.g., a small shop), where
the left column contains a menu or description and the right column displays related
content, using float or Flexbox for layout.
7. Create a webpage for a fictional organization that includes a horizontal navigation
bar. Use external CSS to style the bar and apply “:hover” effects to visually highlight
links when the user interacts with them.
4 JavaScript (Client-Side Scripting): Introduction to JavaScript, Document and its 8
components, variables, data types, operators, control structures (if, else, loops),
functions, event handling (click, load, mouseover), basic form validation using
JavaScript, manipulating HTML and CSS using JavaScript.
Practical Assignments:
8. Develop a webpage that includes a "Change Text" button. When clicked, the button
should trigger a JavaScript function that updates the content of a paragraph or
heading with a new message.
9. Create a webpage with a button labeled “Click Me.” When the button is clicked,
display a JavaScript alert message welcoming the user or confirming the button
click.
10. Design a login form with fields for username and password. Use JavaScript to ensure
that both fields are not left empty when the user tries to submit the form, and display
appropriate warning messages if validation fails.
5 Responsive Design Principles: mobile-first design, flexible grid systems, use of relative 8
units (%, em, rem), media queries. CSS Media Queries: syntax and usage of @media
rule, creating breakpoints, adjusting layout and styles for small, medium, and large
screens. Building basic responsive layouts using media queries and flexible design
techniques.
Practical Assignments:
11. Develop a mobile-first responsive webpage for your university's front page. The
layout should be optimized for small screens, such as smartphones, by default. Use
CSS media queries to progressively enhance the design, adjusting the layout for
larger screens, such as tablets and desktops. The page should adapt dynamically,
ensuring that content such as navigation, images, and text is well-positioned and
readable on any screen size. Focus on creating a seamless experience for users across
various devices.
12. Take an existing fixed-width university front page and convert it into a fluid layout.
Utilize relative units (%, em, rem), flexbox, and media queries to ensure the
webpage dynamically adjusts for various devices, especially for mobile, tablet, and
desktop views. Adjust elements like margins, paddings, font sizes, and the overall
layout to make the design more flexible and user-friendly across different screen
sizes, ensuring that users can easily navigate the university's front page on any
device.
6 Web Design Tools and Frameworks: Introduction to Web Design Tools: Using code 12
editors like Visual Studio Code or Sublime Text, Introduction to online code playgrounds
like JSFiddle and CodePen. CSS Framework (Bootstrap or Foundation): Setting up a
project with Bootstrap, Using pre-built components like Grid System, Container,
Columns, Typography, Images, Buttons, Dropdowns, Cards, Alerts, Badges, Navs and
Navbars, Modals, Pagination, Progress Bars, Spinners, Tooltips, Text Utilities, Flex
Utilities, Background Utilities, Border Utilities, List Groups.
Practical Assignments:
13. Create a responsive homepage for the university website using the Bootstrap
framework. Ensure the layout adjusts seamlessly across different devices (desktop,
tablet, mobile) to provide an optimal user experience.
14. Develop a responsive university homepage using Bootstrap, incorporating a
navigation bar with collapsible menu for mobile screens, buttons styled for primary
and secondary actions, and a 12-column grid system to structure the content layout
effectively. Utilize Bootstrap's pre-built components, including Navbar for
navigation, button components for actions like "Submit" or "Learn More," and grid
classes such as col-md-4, col-lg-6, and col-sm-12 to organize content into rows and
columns. Ensure the page adjusts seamlessly across devices, with the layout and
elements scaling and rearranging based on screen size for optimal user experience.
7 Web Hosting and Deployment : Web Hosting Basics: Introduction to web hosting 6
services, FTP (File Transfer Protocol) for file uploading, deploying websites by ●
uploading a site to free hosting services such as GitHub Pages or Netlify.
Practical Assignments:
15. Develop a personal information webpage using Visual Studio Code, incorporating
basic HTML content like name, contact details, and a short bio, along with simple
CSS styling. The webpage should then be deployed to GitHub Pages or Netlify,
including steps such as creating a repository, pushing files to GitHub, linking the
repository to GitHub Pages, or connecting to Netlify for deployment, ensuring the
site is live and accessible to the public.
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70
Marks, Continuous Evaluation: 30 Marks, Total: 100 Marks.
Recommended Books and References:
1. "HTML and CSS: Design and Build Websites" by Jon Duckett, Wiley, 1st Edition (2011).
2. "JavaScript and jQuery: Interactive Front-End Web Development" by Jon Duckett, Wiley, 1st Edition (2014).
3. "Responsive Web Design with HTML5 and CSS3" by Ben Frain, Packt Publishing, 4th Edition (2022).
4. "Hosting Web Communities: Building Relationships, Increasing Customer Loyalty, and Maintaining A
Competitive Edge" by Cliff Figallo, Wiley, 1st Edition (1998).
5. "WordPress Web Hosting: How To Use cPanel and Your Hosting Control Center" by Kent Mauresmo, Read2L,
1st Edition (2014).
6. "MASTERING HTML, CSS & JavaScript Web Publishing" by Laura Lemay, Rafe Colburn, Jennifer Kyrnin,
BPB Publications, 1st Edition (2016).
Learning Outcome:
1. Students will acquire a comprehensive understanding of fundamental web design principles, including layout,
typography, color theory, and visual hierarchy.
2. Students will be able to write clean, semantic HTML and CSS to effectively structure and style web pages.
3. Students will develop the skills to create fully responsive websites that adapt seamlessly to various screen sizes
and devices.
4. Students will gain foundational knowledge in JavaScript, enabling them to add interactivity and dynamic
elements to websites.
5. Students will become proficient in using web design tools like Adobe XD, Figma, and Sketch to create detailed
mockups and prototypes.
6. Students will understand key concepts related to web hosting, domain names, and the process of deploying
websites to the internet.
Hyperlinks of suggested e-Resources:
1. https://www.w3schools.com/html/
2. https://www.codecademy.com/catalog/language/html-css
3. https://www.codecademy.com/learn/introduction-to-javascript
4. https://www.w3schools.com/html/html_responsive.asp
5. https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design
Pedagogical approach
The teaching methodology integrates both theoretical instruction and hands-on laboratory sessions.
Each unit includes a theoretical component which must be clearly taught before beginning the practical.
Instructors should begin by explaining the theoretical concepts during the lab class.
After the theory, a practical demonstration must be conducted using relevant tools or platforms (e.g.,
installation of applications, online editors, compilers).
Students will then write, compile, execute, and debug programs during the session itself.
Emphasis should be placed on hands-on practice to reinforce learning.
Practical sessions should be designed to develop problem-solving abilities.
Peer learning should be encouraged to solve complex problems collaboratively..
Additional information (if any)
Course Title: Basics of Cloud Concepts and Services
Type of Course: DCC Level of Course: 4 Delivery Sub Type of the course: Theory
Course code: CSE-2-304-T No. of credits: 2 T-P-S: 2-0-0 Learning hours: 30
Pre-requisite and Co-requisite of Course: NIL
Department: Computer Science Engineering
Course objectives:
1. To understand the fundamental concepts of cloud computing.
2. To explore various cloud service models, including IaaS, PaaS, and SaaS.
3. To learn about different cloud deployment models and their practical applications.
4. To gain knowledge of key services and tools provided by popular cloud platforms.
5. To understand the principles of cloud security and cost management.
Course content
Module
Topic T P S
/ Unit
1 Introduction to Cloud Computing: Definition of cloud computing and its essential
characteristics, Examination of the benefits and limitations of cloud computing,
Understanding of the historical evolution of cloud technology, Overview of virtualization 6
as the foundation of cloud computing.
2 Cloud Service Models: Infrastructure as a Service (IaaS): Concepts and examples,
Platform as a Service (PaaS): Application development and hosting, Software as a Service
8
(SaaS): Benefits and popular use cases, Comparison and practical scenarios of service
models.
3 Cloud Deployment Models: Public cloud, private cloud, hybrid cloud, and community
cloud, Use cases and best-fit scenarios for each deployment model, Case studies of 8
organizational cloud models. Introduction to Hypervisors and containers.
4 Cloud Platforms and Key Services: Overview of major cloud providers: AWS, Microsoft
Azure, Google Cloud, Key services: Compute, storage, database, networking, and 8
serverless computing, Demo or walkthrough of setting up an account on a cloud platform.
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70
Marks, Continuous Evaluation: 30 Marks, Total: 100 Marks.
Recommended Books and References:
1. Cloud Computing: Concepts, Technology, Security, and Architecture, Thomas Erl, Eric Barcelo Monroy,
Pearson, 2nd Edition (2023)
2. Cloud Computing: Principles and Paradigms, Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, Wiley,
1st Edition (2011)
3. Architecting the Cloud: Design Decisions for Cloud Computing Service Models, Michael J. Kavis, Wiley, 1st
Edition (2014)
Learning outcomes:
By the end of the course, students will be able to:
1. Comprehend core cloud computing concepts and terminologies.
2. Identify and evaluate appropriate cloud services and deployment models based on specific business or technical
requirements.
3. Navigate cloud platforms efficiently and utilize basic cloud services such as compute, storage, and networking.
Hyperlinks of suggested e-Resources:
1. https://www.tutorialspoint.com/cloud_computing
2. https://www.digitalocean.com/community/tutorial-series/getting-started-with-cloud-computing
3. Coursera : Cloud Computing Specialization by the University of Illinois
https://www.coursera.org/specializations/cloud-computing
4. edX : Cloud Computing Courses by Microsoft and IBM https://www.edx.org/learn/cloud-computing
Pedagogical approach
1. Interactive Lectures: Engaging lectures where the instructor actively involves students through questions,
discussions, and real-time feedback, promoting a deeper understanding of the material.
2. Problem-Based Learning: A student-centered approach where learners are presented with real-world problems
and work in groups to solve them, encouraging critical thinking and collaboration.
3. Practical Demonstrations and Tools : Hands-on demonstrations of tools and techniques, allowing students to see
theoretical concepts applied in practice. This approach bridges the gap between learning and real-world
application.
Additional information (if any)
Course Type Title: Cloud Computing Lab
Type of Course: DCC Level of Course: 4 Delivery Sub Type of the course: Practical
Course Code: CSE-2-305-P No. of credits: 2 T-P-S: 0-4-0 Learning hours: 60
Pre-requisite and Co-requisite of Course: Fundamentals of Computer Networks, Operating Systems Basics,
Programming Knowledge, Introduction to Databases
Department: Computer Science Engineering
Course objectives
1. To provide hands-on experience with cloud computing platforms and environments.
2. To enable students to implement cloud computing solutions through practical exercises and assignments.
3. To help students understand the integration of cloud services such as storage, computing, and networking within a
lab setting.
4. To encourage experimentation with cloud architectures and deployment models by working directly on cloud
platforms.
5. To develop practical skills in setting up, managing, and deploying applications on cloud environments.
6. To teach students how to troubleshoot and resolve common issues encountered in cloud deployments and
applications.
Course Content
Experi
memt Experiment Statement T P S
No.
To list the services available within each cloud service model—Infrastructure as a Service
1 (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS)—offered by Google 4
Cloud and Microsoft Azure cloud platforms.
To set up a free-tier account on Google Cloud or Microsoft Azure cloud platform and deploy
2 a virtual machine (VM) with the following specifications: Linux OS, 1 GB RAM, 30 GB 4
Hard Disk, and 1 vCPU (using the available free-tier resources).
To navigate the menus and tools of the cloud platform interface and list their commands and
3 4
responsibilities.
4 To understand the different cloud deployment models and their appropriate use cases. 2
To create and manage virtual machines using VirtualBox, install a Linux operating system
5 (e.g., Ubuntu) on the virtual machine, configure basic network settings, and manage 4
resources such as CPU, RAM, and disk space.
To deploy a simple static website (e.g., an HTML page with CSS) using free-tier cloud
services (e.g., AWS, Google Cloud). This involves setting up a virtual machine, configuring
6 6
the web server (e.g., Apache or Nginx), and hosting the basic web application on the cloud
platform for public access.
To introduce the concept of containerization, explore container technologies like Docker,
7 and understand how they can be used to package and deploy applications in isolated 6
environments for consistent performance across different systems.
To implement High Availability (HA) and Disaster Recovery (DR) strategies using
virtualization technologies, exploring techniques for creating redundant systems and
8 6
automated failover mechanisms to ensure continuous service availability and data
protection in case of system failures
To implement role-based access control (RBAC) using Identity and Access Management
(IAM) services in cloud platforms, configuring roles and permissions to manage access to
9 6
resources and ensure that users only have the appropriate level of access based on their
responsibilities.
To set up and use the Hadoop Distributed File System (HDFS) for distributed storage,
10 configure a basic Hadoop environment, deploy HDFS, and perform file storage and 6
retrieval operations across multiple nodes in a distributed system.
To monitor and visualize cloud resource metrics using Grafana and Prometheus, set up
Prometheus to collect data from cloud resources, integrate it with Grafana for visualization,
11 6
and create dashboards to track key metrics such as CPU usage, memory usage, and network
activity.
To set up an AWS Elastic Load Balancer (ELB) to distribute traffic across multiple virtual
machines (VMs). This experiment will involve configuring a basic load balancer and
12 6
understanding its role in balancing traffic between VMs, demonstrating how it can optimize
resource usage.
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70 Marks,
Continuous Evaluation: 30 Marks, Total: 100 Marks.
Recommended Books and References:
1. Distributed and Cloud Computing: From Parallel Processing to the Internet of Things by Kai Hwang, Geoffrey C.
Fox, Jack J. Dongarra, Morgan Kaufmann, Elsevier, 2012
2. Cloud Computing Bible by Barrie Sosinsky, John Wiley & Sons, 2010
3. Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance by Tim Mather, Subra
Kumaraswamy, Shahed Latif, O'Reilly, 2009
Learning outcomes:
By the end of the course, participants will be able to:
1. Understand core Cloud Computing concepts, including service models (IaaS, PaaS, SaaS) and deployment
models (public, private, hybrid, community).
2. Set up and configure cloud environments, including virtual machines and containerization on platforms like
AWS, Azure, or Google Cloud.
3. Implement basic cloud security measures and understand identity and access management (IAM).
4. Deploy and manage cloud-based applications, utilizing resources like storage, compute, and networking.
5. Use virtualization and cloud tools to ensure high availability (HA) and disaster recovery (DR).
6. Monitor and visualize cloud metrics using monitoring tools like Grafana and Prometheus.
7. Explore and apply industry standards, best practices, and cloud computing paradigms in real-world scenarios.
Hyperlinks of suggested e-Resources:
1. AWS Free Tier | URL: https://aws.amazon.com/free
2. Google Cloud Free Tier | URL: https://cloud.google.com/free
3. Microsoft Azure Free Account | URL: https://azure.microsoft.com/en-us/free/
4. Docker Containers Setup Guide | URL: https://docs.docker.com/get-docker/
5. Kubernetes Getting Started Guide | URL: https://kubernetes.io/docs/tutorials/kubernetes-basics/
6. Cloud Academy – Cloud Computing Course | URL: https://cloudacademy.com/cloud-computing/
7. IBM Cloud – Getting Started | URL: https://www.ibm.com/cloud/learn
Pedagogical approach
● Conduct using a blackboard and slide presentations, supplemented with interactive discussions to encourage active
participation and facilitate two-way communication between the instructor and students
● Focus on hands-on experiments, where students will have the opportunity to apply theoretical knowledge through
practical activities and live demonstrations.
Additional information (if any)
Course Title: Data structure in C
Type of Course: DCC Level of Course: 4 Delivery Sub Type of the course: Theory
Course code: CSE-2-401-T No. of credits: 3 T-P-S: 3-0-0 Learning hours: 45
Pre-requisite and Co-requisite of Course: Programming in C
Department: Computer Science Engineering
Course objectives: To study different kinds of data structures with their respective applications.
Course content
Module
Topic T P S
/Unit
1 Definition of Data, Operations on Data, Data Structure, Types of Data Structure, Abstract
Data Types, Definition of Algorithm, pseudocode of Algorithm, Algorithmic Complexity 5
in terms of time and space, various notations like big Oh, theta etc.
2 Arrays: Definition and representation of single and multidimensional arrays, applications
of arrays, sparse matrices and their representations.
Dynamic Memory Allocation using calloc() and malloc() functions. 10
Linked Lists: Singly linked lists, doubly linked list, circularly linked list, operations on a
linked list, insertion, deletion, traversal.
3 Stacks: Abstract Data Type, primitive stack operations: push and pop, array and linked
implementation of stack in C, application of stack: prefix and postfix expressions,
evaluation of postfix expression, 10
Queues: Operations on queue: create, add, delete, full and empty, circular queues, array
and linked implementation of queues in C, dequeue and priority queue.
4 Searching: Concept of searching, sequential search, index sequential search, binary
search. Sorting: Insertion sort, selection sort, bubble sort, quick sort, merge sort, heap 10
sort.
5 Trees: Basic Terminology, Binary Trees and their representation, binary search trees,
various operations on Binary search trees like traversing, searching, Insertion and Deletion,
Applications of Binary search Trees, Complete Binary trees. 10
Graphs: Terminology used with Graph, Data Structure for Graph Representations:
Adjacency Matrices, Adjacency List.
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70 Marks,
Continuous Evaluation: 30 Marks, Total: 100 Marks.
Recommended Books and References:
1. Data Structures Using C and C++, Aaron M. Tenenbaum, Yedidyah Langsam, Moshe J. Augenstein, PHI Learning
Private Limited, 2nd Edition.
2. Algorithms in C, Robert Sedgewick, Addison-Wesley, 3rd Edition.
3. Data Structures and Algorithm Analysis in C, Mark Allen Weiss, Pearson, 4th Edition.
4. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, MIT Press,
3rd Edition.
5. Data Structures, Lipschutz, Schaum’s Outline Series, Tata McGraw-Hill Education (India) Pvt. Ltd., 2nd Edition.
Learning outcomes
1. Students will be able to describe and understand the memory representation and operational mechanisms of
fundamental data structures, such as arrays, linked lists, stacks, queues, trees, and graphs, and recognize their
common applications in problem-solving.
2. Students will be able to analyze and evaluate the computational efficiency of sorting and searching algorithms,
using time and space complexity measures (Big O, Theta, and Omega notations), and select the most suitable
algorithm based on problem constraints.
3. Students will be able to implement and manipulate data structures, including arrays, linked lists, stacks, queues,
trees, and graphs, by performing operations like insertion, deletion, traversal, and searching, with an understanding
of the practical application of these operations in real-world scenarios.
4. Students will be able to design and implement advanced data structures like Binary Search Trees (BST), AVL trees,
B-trees, and Graphs, applying relevant algorithms for searching, sorting, and balancing, to efficiently handle large
datasets and dynamic information.
5. Students will be able to critically assess the trade-offs between various data structures and algorithms, and
demonstrate how to optimize system performance by selecting appropriate data structures for specific problem-
solving scenarios.
Hyperlinks of suggested e-Resources:
1. Coursera - Data Structures and Algorithm Specialization | URL: https://www.coursera.org/specializations/data-
structures-algorithms
2. MIT OpenCourseWare - Introduction to Algorithms | URL: https://ocw.mit.edu/courses/electrical-engineering-
and-computer-science/6-006-introduction-to-algorithms-spring-2011/
3. NPTEL - Data Structures and Algorithms | URL: https://nptel.ac.in/courses/106102064
Pedagogical approach:
● Lecture-based teaching for theoretical concepts.
● Problem-solving sessions to apply algorithms.
● Use of visualization tools like VisuAlgo.
● Hands-on coding assignments.
● Flipped classroom for discussions and exercises.
● Group activities for collaborative learning.
● Gamification through competitive coding challenges.
● Case studies on real-world algorithm applications.
Additional information (if any)
Course Title: Data structure in C Lab
Type of Course: DCC Level of Course: 4 Delivery Sub Type of the course: Practical
Course code: CSE-2-402-P No. of credits: 1 T-P-S: 0-2-0 Learning hours: 30
Pre-requisite and Co-requisite of Course: C Programming Language and basics of computer system
Department: Computer Science Engineering
Course objectives: Course Objectives:
1. To provide foundational knowledge of data structures and algorithms, enabling students to understand how data
can be organized and manipulated efficiently.
2. To implement various linear and non-linear data structures such as arrays, linked lists, stacks, queues, trees, and
graphs using the C programming language.
3. To develop the ability to analyze the efficiency of algorithms based on time and space complexity.
4. To familiarize students with abstract data types (ADT) and their real-world applications.
5. To equip students with skills for effective problem-solving using appropriate data structures for specific
computational problems.
6. To demonstrate the application of data structures in sorting, searching, expression conversion and evaluation,
memory management, and other computing tasks.
7. To prepare students for competitive programming and technical interviews by developing their logical thinking
and coding proficiency.
Course Content
Program
Program Statement T P S
No.
Write a C program to create two matrices and perform addition, subtraction, and
1 2
multiplication operations with user-defined dimensions.
Write a C program to implement a singly linked list using structures, with functionalities
2 2
for insertion, deletion (at beginning, end, and specific position), and traversal.
Write a C program to implement a doubly linked list using structures, with functionalities
3 2
for insertion, deletion (at beginning, end, and specific position), and traversal.
Write a C program to implement a stack using arrays with push, pop, peek, and display
4 2
operations. Demonstrate stack overflow and underflow scenarios.
Write a C program to implement a linear queue using arrays with enqueue, dequeue, and
5 2
display operations. Include overflow and underflow checks.
Write a C program to implement a circular queue using arrays and perform all basic queue
6 2
operations with proper boundary conditions.
Write a C program to implement a stack using a linked list and perform all fundamental
7 2
operations with dynamic memory management.
Write a C program to implement a queue using a linked list and perform all fundamental
8 2
operations with dynamic memory management.
Write a C program to create a Binary Search Tree (BST), and perform insertion, search, in-
9 2
order, pre-order, and post-order traversals.
Write a C program to search an element using Sequential (Linear) Search on a user-defined
10 2
list of integers. Display appropriate messages for success/failure.
Write a C program to search an element using Binary Search (for sorted arrays only). Also,
11 2
count and display the number of comparisons made.
Write a C program to sort a list of integers using Bubble Sort and display the number of
12 2
passes and swaps performed.
Write a C program to sort a list of integers using Quick Sort and display the sorted output
13 2
at each partitioning stage.
Write a C program to sort a list of integers using Merge Sort and display the sorted sublists
14 2
after each merge step.
Write a C program to sort a list of integers using Heap Sort and explain heapify steps in
15 2
comments or console output.
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70 Marks,
Continuous Evaluation: 30 Marks, Total: 100 Marks.
Recommended Books and References:
1. Data Structures Using C and C++, Aaron M. Tenenbaum, Yedidyah Langsam, Moshe J. Augenstein, PHI
Learning Private Limited, 2nd Edition.
2. Data Structures, Lipschutz, Schaum’s Outline Series, Tata McGraw-Hill Education (India) Pvt. Ltd., 2nd Edition.
3. Algorithms in C, Robert Sedgewick, Addison-Wesley, 3rd Edition.
Learning outcomes
By the end of this lab, the student will be able to:
1. Implement and manipulate fundamental data structures such as arrays, linked lists, stacks, queues, trees, and
graphs using the C programming language.
2. Visualize and explain how each data structure is represented in memory and how it supports various operations
like insertion, deletion, traversal, and searching.
3. Design and code custom functions to perform key operations (such as searching, sorting, and traversing) and
handle real-time scenarios like overflow, underflow, and dynamic memory allocation.
4. Apply and compare different sorting and searching algorithms (e.g., bubble, quick, merge, heap, radix, sequential
and binary search) in terms of their computational efficiency (time and space complexity).
5. Implement non-linear data structures (Binary Search Tree, Graphs using adjacency list/matrix) and apply
traversal techniques (DFS, BFS) in practical applications.
6. Develop problem-solving and debugging skills by implementing algorithms step-by-step, validating logic, and
analyzing runtime behavior.
Hyperlinks of suggested e-Resources:
Coursera - Data Structures and Algorithm Specialization | URL: https://www.coursera.org/specializations/data-
structures-algorithms
MIT OpenCourseWare - Introduction to Algorithms | URL: https://ocw.mit.edu/courses/electrical-engineering-
and-computer-science/6-006-introduction-to-algorithms-spring-2011/
NPTEL - Data Structures and Algorithms | URL: https://nptel.ac.in/courses/106102064
Pedagogical approach:
Concept Presentation via Pseudocode: Teachers will present each new algorithm or data structure concept first in
clear English-language pseudocode, explicitly detailing each step and logic flow.
Immediate Translation to Code: Following the pseudocode walkthrough, students will implement the algorithm in
C during the same session, reinforcing the mapping from pseudocode to working code.
Gradual Pseudocode Ownership: In early units, teachers supply the pseudocode; in later units, students will draft
their own pseudocode before coding, fostering independent algorithmic thinking.
In-Class Coding & Validation: Once code is written, students will execute their programs against a robust set of
10–20 test cases provided by the instructor, verifying correctness and handling edge conditions.
Problem-Solving Workshops: Dedicated sessions for tackling algorithmic challenges will help students apply
learned concepts, debug under guidance, and refine their solutions.
Collaborative Learning: Students will work in small groups to discuss pseudocode strategies and peer-review
each other’s code, building teamwork and communication skills.
Progressive Reduction of Scaffolding: As proficiency grows, instructor support is reduced—students become
fully responsible for writing pseudocode, coding, and designing test cases independently.
Additional information (if any)
Course Title: Computer Organization
Type of Course: DCC Level of Course: 4 Delivery Sub Type of the course: Theory
Course Code: CSE-3-403-T No. of credits: 2 T-P-S: 2-0-0 Learning hours: 30
Pre-requisite and Co-requisite of Course: Fundamentals of Computer System, Basic Knowledge of Digital Electronics
Department: Computer Science Engineering
Course objectives:
1. To understand the fundamental components and architecture of a computer system, including the CPU, memory,
and input/output units.
2. To explain the working of the Central Processing Unit (CPU), focusing on the instruction cycle, ALU, and control
unit operations.
3. To explore various memory types and memory hierarchy, including cache memory, RAM, ROM, and virtual
memory.
4. To analyze input/output systems, I/O interfacing techniques, and data transfer methods such as programmed I/O,
interrupt-driven I/O, and DMA.
5. To interpret and understand the role of instruction set architecture (ISA) and how machine-level instructions
control hardware behavior.
6. To relate high-level language constructs to low-level operations and describe how software commands are
executed by hardware.
7. To develop logical and analytical thinking by tracing the data flow through various units in a computer system
during instruction execution.
Course Content
Module
Topic T P S
/Unit
1 Basic functional blocks of a computer: CPU, memory, input-output subsystems, control
unit. Bus organization and design. Instruction set architecture of a CPU - registers, 6
instruction execution cycle. Addressing Modes.
2 Data representation: Unsigned and signed number representation, fixed and floating point
representations, character representation. Computer arithmetic: shift-and-add, Booth 8
multiplier, carry save multiplier, Division floating point arithmetic.
3 CPU control unit design: hardwired and micro-programmed design approaches.
Introduction to RISC and CISC processors. Performance enhancement techniques: Basic 6
concepts of pipelining, throughput and speedup, pipeline hazards.
4 Memory system design: Memory organization, semiconductor memory technologies, cache
memory, associative memory, cache size vs block size, mapping functions, replacement 6
algorithms, write policy, Virtual memory.
5 Peripheral devices and their characteristics: Input-output subsystems, I/O transfers -
program controlled, interrupt driven and DMA. 4
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70 Marks,
Continuous Evaluation: 30 Marks, Total: 100 Marks
Recommended Books and References:
1. Computer System Architecture by M. Morris Mano, 3rd Edition, Pearson/PHI, India, 2006.
2. Computer Organization by Carl Hamacher, Zvonko Vranesic, Safwat Zaky, 5th Edition, McGraw Hill, New Delhi,
India, 2002.
3. Computer Organization and Architecture: Designing for Performance by William Stallings, 8th Edition, Prentice
Hall, New Jersey, 2010.
4. Structured Computer Organization by Andrew S. Tanenbaum, 5th Edition, Pearson Education Inc., 2006.
5. Computer Architecture and Organization by John P. Hayes, 3rd Edition, Tata McGraw-Hill, 1998.
Learning outcomes
By the end of this course, students will be able to:
1. Understand the fundamental operations that occur internally within a computer system, including data processing
and control signal flow.
2. Describe and analyze how input/output devices and memory units interact with the CPU for data transfer and
execution.
3. Gain foundational knowledge of microprocessor architecture, instruction cycles, and their role in executing
programs.
4. Demonstrate conceptual clarity on topics such as instruction formats, addressing modes, and control unit
operations.
5. Explain how arithmetic and logic operations are performed at the hardware level using combinational and
sequential circuits.
6. Identify the structure and working of cache, main memory, and virtual memory, including their impact on system
performance.
Hyperlinks of suggested e-Resources:
1. Basic Computer Architecture – NPTEL Course by Prof. Indranil Sengupta (IIT Kharagpur) | URL:
https://nptel.ac.in/courses/106105163
2. Computer Organization and Architecture Tutorial – GeeksforGeeks | URL:
https://www.geeksforgeeks.org/computer-organization-and-architecture-tutorials/
3. Computer System Architecture – MIT OpenCourseWare | URL: https://ocw.mit.edu/courses/electrical-
engineering-and-computer-science/6-823-computer-system-architecture-fall-2005/
4. Computer Architecture – Coursera (University of Washington) | URL: https://www.coursera.org/learn/comparch
Pedagogical approach :
● The course will begin with lecture-based teaching to introduce and explain the core theoretical concepts related
to computer organization.
● Problem-solving sessions will be conducted regularly to help students apply the algorithms and concepts learned
in the lectures to real-world problems.
● Visualization tools, such as VisuAlgo, will be used to demonstrate the internal workings of computer
architecture, helping students better understand complex processes through visual representations.
● Hands-on coding assignments will be incorporated, allowing students to practically implement the concepts of
computer organization using low-level programming languages and hardware simulators.
● A flipped classroom approach will be utilized, where students will review theoretical materials prior to class, and
class time will be dedicated to discussions, problem-solving, and case studies.
● Group activities will encourage collaborative learning, where students will work together on projects that
simulate real-world scenarios related to computer architecture and organization.
● Gamification will be introduced through competitive coding challenges and quizzes, enhancing student
engagement and promoting a fun, competitive learning environment.
● Case studies of real-world computer organization applications will be analyzed, allowing students to explore how
computer architectures are designed and optimized in industry.
Additional information (if any)
Course Title: OOPS Using C++
Type of Course: DCC Level of Course: 4 Delivery Sub Type of the course: Theory
Course code: CSE-2-404-T No. of credits: 3 T-P-S: 3-0-0 Learning hours: 45
Pre-requisite and Co-requisite of Course: Basics of Computer Programming
Department: Computer Science Engineering
Course objectives:
1. To develop a strong foundation in core C++ concepts, including variables, data types, control structures,
functions, pointers, dynamic memory management, and file handling to effectively write efficient code.
2. To master the principles of Object-Oriented Programming (OOP) in C++, focusing on key concepts such as
classes, objects, inheritance, polymorphism, encapsulation, and abstraction to design modular, reusable, and
maintainable software.
3. To implement advanced features of C++, including operator overloading, friend functions, templates, exception
handling for efficient problem-solving.
4. To enhance the understanding of memory management techniques, including dynamic allocation, deallocation,
and smart pointers for handling memory efficiently and preventing memory leaks.
5. To apply C++ in solving real-world problems, enabling students to write programs that interact with hardware,
handle complex data structures, and implement algorithms in an optimized manner.
6. To encourage best practices in coding through designing well-structured, efficient, and debugged programs,
while focusing on software quality, testing, and maintenance.
Course Content
Module/
Topic T P S
Unit
1 Introduction: Difference between Structure and Class. Basic Variables and data types,
Operators and Control Structure, Arrays and Pointers. Function declaration and
10
definition, function prototype, Difference between OOP and POP. Dynamic Memory
Allocation (new and delete).
2 Classes and Objects: Concepts of Object-Oriented Programming: Objects, class,
abstraction, encapsulation, inheritance, polymorphism, Dynamic Binding, information
10
hiding. Defining Class and creating objects. Basic structure of a C++ program. Member
functions and data member, friend functions.
3 Inheritance: Single, multilevel, multiple, hierarchical, hybrid inheritance, constructor and
destructor invocation in inheritance, method overriding, virtual base classes, access
specifiers in inheritance (public, protected, private).
12
Polymorphism: Function overloading, operator overloading (compile-time
polymorphism), virtual functions, runtime polymorphism using pointers and references,
abstract classes, pure virtual functions, virtual destructors.
4
Constructor and Destructor: default, parameterized, copy constructor. Destructor.
8
Access Specifier: public, private, protected. Copy constructor.
5. Exception Handling: try, catch and throw keywords. User-defined exceptions.
5
Introduction to file handling.
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70
Marks, Continuous Evaluation: 30 Marks, Total: 100 Marks
Recommended Books and References:
1. Schaum's Outline of Programming with C++, John R. Hubbard, McGraw-Hill Education, 2nd Edition.
2. Object-Oriented Programming with C++, E. Balagurusamy, McGraw Hill Education (India), 8th Edition (2021).
3. Object-Oriented Programming in C++, Robert Lafore, Pearson Education, 4th Edition (2002).
Learning outcomes
1. Students will be able to implement core OOP concepts like classes, objects, and constructors in C++.
2. Students will be able to apply different types of inheritance (single, multilevel, multiple, hierarchical, hybrid).
3. Students will be able to use function overloading, operator overloading, and virtual functions for
polymorphism.
4. Students will be able to apply data encapsulation and abstraction for secure object management.
5. Students will be able to design and implement abstract classes and interfaces.
6. Students will be able to apply SOLID principles for writing maintainable and scalable code.
7. Students will be able to manage memory efficiently using constructors, destructors, and smart pointers.
8. Students will be able to develop modular, object-oriented C++ programs.
9. Students will be able to decompose real-world problems into objects and solutions.
10. Students will be able to implement exception handling to manage runtime errors.
Hyperlinks of suggested e-Resources:
1. MIT OpenCourseWare - Introduction to C++ | URL: https://ocw.mit.edu/courses/electrical-engineering-and-
computer-science/6-096-introduction-to-c-january-iap-2011/
2. Coursera - C++ for Programmers | URL: https://www.coursera.org/learn/c-plus-plus-a
3. NPTEL - Object-Oriented Programming in C++ | URL: https://nptel.ac.in/courses/106105171
4. Swayam - C++ Programming | URL: https://swayam.gov.in/nd1_noc20_cs28/preview
5. W3Schools - C++ Tutorial | URL: https://www.w3schools.com/cpp/
Pedagogical approach:
● The course will begin with lecture-based teaching to introduce and explain the core theoretical concepts related
to computer organization.
● Problem-solving sessions will be conducted regularly to help students apply the algorithms and concepts
learned in the lectures to real-world problems.
● Visualization tools, such as VisuAlgo, will be used to demonstrate the internal workings of computer
architecture, helping students better understand complex processes through visual representations.
● Hands-on coding assignments will be incorporated, allowing students to practically implement the concepts of
computer organization using low-level programming languages and hardware simulators.
● A flipped classroom approach will be utilized, where students will review theoretical materials prior to class,
and class time will be dedicated to discussions, problem-solving, and case studies.
● Group activities will encourage collaborative learning, where students will work together on projects that
simulate real-world scenarios related to computer architecture and organization.
● Gamification will be introduced through competitive coding challenges and quizzes, enhancing student
engagement and promoting a fun, competitive learning environment.
Case studies of real-world computer organization applications will be analyzed, allowing students to explore how
computer architectures are designed and optimized in industry
Additional information (if any)
Course Title: OOPS with C++ Lab
Type of Course: DCC Level of Course: 4 Delivery Sub Type of the course: Practical
Course code: CSE-2-405-P No. of credits: 1 T-P-S: 0-2-0 Learning hours: 30
Pre-requisite and Co-requisite of Course: Basics of Computer Programming
Department: Computer Science Engineering
Course objectives:
1. To implement fundamental C++ programming constructs including variables, loops, functions, arrays, and
pointers through hands-on lab exercises.
2. To apply object-oriented programming principles such as encapsulation, inheritance (single, multilevel, multiple),
polymorphism (function and operator overloading), and abstraction in practical coding problems.
3. To develop real-time applications using C++ classes and objects that reflect real-world entities and interactions.
4. To practice the implementation of constructors, destructors, and operator overloading for efficient and reusable
code design.
5. To explore file handling and dynamic memory allocation through lab-based examples to manage data storage and
optimize memory usage.
6. To strengthen debugging, testing, and problem-solving skills by designing modular and maintainable object-
oriented code.
7. To foster collaborative learning and practical implementation skills through pair programming, case-based
assignments, and project-based tasks.
Course Content
Program
Program Statement T P S
No.
1 To install a C++ compiler and IDE (such as Visual Studio Code, Code::Blocks, or Dev-
2
C++) and set up a project for coding and compiling C++ programs.
2 A phone number, such as (212) 767-8900, can be thought of as having three parts: the area
code (212), the exchange (767), and the number (8900). Write a program that uses a 2
structure to store these three parts of a phone number separately.
3 Define a structure Library with members: bookTitle (string), author (string), pages (int),
2
and price (float). Initialize and display the book details using structure.
4 Convert Program 3 into C++ classes. And implement member functions setDetails(),
2
getDetails(), displayDetails().
5 Write a C++ program that starts with an array of pointers to strings representing the days
of the week. Implement functions to sort these strings in alphabetical order, using
2
variations of the bsort() and order() functions. The sorting should be applied to the pointers
to the strings, not to the actual strings themselves.
6 Design a class TollBooth that models a toll booth at a bridge. The toll booth keeps track of
the number of cars that have passed and the total amount of money collected from the
tolls. The program should also allow the user to interact with the toll booth to count paying 2
and non-paying cars. Write a C++ program that simulates a toll booth using a class called
TollBooth.
7 Write a C++ program that defines a class Complex representing complex numbers. The class
should include: Two private data members: real and imaginary to store the real and
imaginary parts of the complex number. Overload the + and - operators for a class 2
representing complex numbers. The class should allow for the addition and subtraction of
complex numbers using operator overloading.
8 Write a C++ program that defines a class Employee. Design a class Employee that represents
an employee with a name and employee number. The class should allow for data input
through member functions and display the data using another member function. 2
Additionally, it should utilize a constructor to initialize the objects and a destructor to clean
up resources.
9 Write a C++ Program that demonstrates the use of polymorphism and virtual functions.
Create a base class Shape with two pure virtual functions, Area() and Perimeter(). These
functions should be overridden in derived classes such as Circle, Rectangle, and Triangle,
where each shape calculates its own area and perimeter. In the main() function, use an array
of Shape* pointers to store objects of different shapes and calculate their area and perimeter 2
using polymorphism. The program should utilize dynamic memory allocation with new to
create objects and delete to free memory. This program will demonstrate key object-oriented
programming concepts such as inheritance, virtual functions, and memory management.
10 Write a C++ program to implement function overloading by creating multiple functions to
add two numbers. The program should include overloaded functions to add two integers, 2
two floating-point numbers, and two complex numbers.
11 Write a C++ program that demonstrates the concept of class inheritance with multiple levels.
The program should include a base class and three derived classes. Each class will display
a message indicating its level of derivation and the classes from which it has been derived.
In this program, a Base Class is defined with a message saying, "This is the base class." A
First Derived Class is publicly derived from the base class and displays the message, "I am
2
the first derived class." A Second Derived Class is publicly derived from the first derived
class and displays the message, "I am the second derived class." Finally, a Third Derived
Class is publicly derived from both the second derived class and the first derived class. It
displays the message, "I am the fourth derived class, which is derived from the third and
fourth."
12 Write a C++ program that handles exceptions by detecting and managing a "divide by zero"
error. The program should take two numbers as input from the user and perform a division
operation. If the user attempts to divide by zero, the program should throw a custom 2
exception to handle the error and display an appropriate message.
Project Write a C++ application that can be used at home. Select any one of the following: To-do
Thing List Program, Electronic Diary Program, or any other project approved by the faculty.
The application should demonstrate the application of Object-Oriented Programming (OOP)
concepts in C++, such as classes, inheritance, polymorphism, encapsulation, and 6
abstraction. The program should showcase the ability to design and implement a user-
friendly, functional, and efficient application that can solve real-life problems. The focus
should be on creating a practical solution that is useful for users in a home environment.
Scheme of End Semester Examination: As per DSEU Regulation - 2(A), 2024 – End Term Examination: 70 Marks,
Continuous Evaluation: 30 Marks, Total: 100 Marks
Recommended Books and References:
1. Schaum's Outline of Programming with C++, John R. Hubbard, McGraw-Hill Education, 2nd Edition.
2. Object-Oriented Programming with C++, E. Balagurusamy, McGraw Hill Education (India), 8th Edition (2021).
3. Object-Oriented Programming in C++, Robert Lafore, Pearson Education, 4th Edition (2002).
Learning outcomes
1. Students will be able to implement core OOP concepts like classes, objects, and constructors in C++.
2. Students will be able to apply different types of inheritance (single, multilevel, multiple, hierarchical, hybrid).
3. Students will be able to use function overloading, operator overloading, and virtual functions for polymorphism.
4. Students will be able to apply data encapsulation and abstraction for secure object management.
5. Students will be able to design and implement abstract classes and interfaces.
6. Students will be able to apply SOLID principles for writing maintainable and scalable code.
7. Students will be able to manage memory efficiently using constructors, destructors, and smart pointers.
8. Students will be able to develop modular, object-oriented C++ programs.
9. Students will be able to decompose real-world problems into objects and solutions.
10. Students will be able to implement exception handling to manage runtime errors.
Hyperlinks of suggested e-Resources:
1. MIT OpenCourseWare - Introduction to C++ | URL: https://ocw.mit.edu/courses/electrical-engineering-and-
computer-science/6-096-introduction-to-c-january-iap-2011/
2. Coursera - C++ for Programmers | URL: https://www.coursera.org/learn/c-plus-plus-a
3. NPTEL - Object-Oriented Programming in C++ | URL: https://nptel.ac.in/courses/106105171
4. Swayam - C++ Programming | URL: https://swayam.gov.in/nd1_noc20_cs28/preview
W3Schools - C++ Tutorial | URL: https://www.w3schools.com/cpp/
Pedagogical approach:
In every session:
The faculty will read out the program statement to the students.
Explain key components to be used in the program and highlight the importance of these components.
The faculty will discuss different ways to write the program, encouraging students to think about various
approaches.
Students will then write an algorithm based on the program statement to solve the problem.
The faculty will check the algorithms written by the students to ensure logical correctness and alignment with the
OOPs concepts.
Once the algorithm is validated, students will proceed with coding the program in C++.
The teacher will provide feedback and guidance throughout the process to reinforce understanding.