Computer-Science Draft Learning Framework
Computer-Science Draft Learning Framework
LEARNING FRAMEWORK
COMPUTER SCIENCE
CLASSES 11-12
CO-CREATED BY
The National Education Policy (NEP) 2020 recommends that children not only learn, but more importantly learn how to learn. Education, must move
towards less content, and more towards learning about how to think critically and solve problems, how to be creative and multidisciplinary, and how
to innovate, adapt, and absorb new material in novel and changing fields. Pedagogy must evolve to make education more experiential, holistic,
integrated, inquiry-driven, discovery-oriented, learner-centred, discussion-based, flexible, and, of course, enjoyable. The policy has a clear mandate
for competency-focused education to enhance acquisition of critical 21st century skills by the learners. The first determinant for implementing
competency focused education is a curriculum which is aligned to defined learning outcomes and that clearly states the indicators to be achieved.
The Central Board of Secondary Education (CBSE) has collaborated with Educational Initiatives, to develop the Learning Frameworks for the subjects
of English, Hindi, Mathematics, Physics, Chemistry, Biology, History, Geography, Economics, Accountancy, Business Studies and Computer Science in
Grades 11 and 12. The Learning Frameworks comprise explicitly stated knowledge, skills and dispositions that an education system should try to
achieve. These frameworks would help develop a common shared understanding of all the above among teachers, students and other stakeholders
and would serve as a common benchmark for teaching, learning and assessment across all CBSE schools.
These frameworks present indicators that are aligned to the CBSE curriculum and the NCERT learning outcomes. They further outline samples of
pedagogical processes and assessment strategies to encourage curiosity, objectivity, creativity with a view to nurture scientific temper. This
framework would be a key resource for teachers as they execute the curriculum. They have been developed to ensure that teachers align the learning
to meet the set quality standards and also use it to track learning levels of students. The effort has been to synchronize focus on quality education with
uniformity in quality of standards across CBSE schools.
We hope, these frameworks would not only become a reference point for competency-focused education across the country but also facilitate planning
and design of teaching-learning processes and assessment strategies by teachers and other stakeholders.
The National Education Policy 2020 has outlined the importance of competency-based education in classrooms, leading to curricular and
pedagogical reforms in the school systems. The policy emphasizes on the development of higher order skills such as analysis, critical
thinking and problem solving through classroom instructions and aligned assessments. These skills are important indicators which will
further the dissemination of pedagogy and learning outcomes across schools and boards.
In order to propagate indicator-based learning through ‘Learning Frameworks’, the Central Board of Secondary Education has
collaborated with Educational Initiatives (Ei). Learning frameworks are a comprehensive package which provides learning outcomes,
indicators, assessment frameworks, samples of pedagogical processes, tools and techniques for formative assessment, blueprint,
assessment items and rubrics. 12 such frameworks have been developed for English, Hindi, Mathematics, Physics, Chemistry, Biology,
History, Geography, Economics, Accountancy, Business Studies and Computer Science in Grade 11 and 12.
The frameworks are adopted from the learning outcomes outlined in the NCERT which are mapped to key concepts of the content. These
content domain specific learning outcomes are broken down into indicators which defines the specific skills a learner needs to attain. A
clear understanding of these LOs will be immensely helpful for teachers and students to learn better.
Foreword............................................................................................................................................................................................................. 2
PREFACE ............................................................................................................................................................................................................ 3
Contents .............................................................................................................................................................................................................. 4
Nature of the Subject .......................................................................................................................................................................................... 6
Stage specific curricular expectations .............................................................................................................................................................. 7
Content domains ................................................................................................................................................................................................ 8
Class 11 ................................................................................................................................................................................................................... 8
Class 12 ................................................................................................................................................................................................................... 8
Subject specific cognitive domains ................................................................................................................................................................. 10
Categories of cognitive domains ......................................................................................................................................................................... 11
Kinds of assessment tasks for different cognitive domains.............................................................................................................................. 13
Learning outcomes for Computer Science Senior secondary stage ............................................................................................................. 14
Class 11 ................................................................................................................................................................................................................. 14
Class 12................................................................................................................................................................................................................. 16
Approaches to the teaching and learning of computer science.................................................................................................................... 17
Fostering Computational Thinking ..................................................................................................................................................................... 17
Delivering the course ........................................................................................................................................................................................... 18
Content domain specific learning outcome ................................................................................................................................................. 20
Class 11 ........................................................................................................................................................................................................... 21
Computer science as a discipline has evolved over the years and has emerged as a driving force of our socio-economic activities. It has made continuous
inroads into diverse areas — be it business, commerce, science, technology, sports, health, transportation or education.
The aim of the course is to provide opportunities that will enable students to equip themselves with practical and technical skills needed to function
effectively in a technological society. It aims to develop a foundation of computer science knowledge to harness the power of computational thinking
to enable the students to become both users and creators of computing technology.
The focus of the course is to develop problem-solving abilities and technical skills as they learn how to diagnose and solve problems in the course of
understanding the fundamental concepts. It also opens a window to the emerging trends and the advances in the field of computer science.
In this course students also explore the ethical, moral and legal factors that influence developments in computing so that they recognise the
consequences of decisions made by developers and users in respect to the development and use of technology.
The course emphasizes the need for both a theoretical and practical approach to build an understanding of the various methodologies used to solve
problems in computer science. Use activities and reflection to generate interest and skills necessary for independent and lifelong learning.
The content for computer science for grades 11-12 in CBSE curriculum has been organized around major units. Units for the two grades, along with
the chapters from the NCERT textbooks are mentioned in the tables below.
CLASS 11
Unit Chapters
CH 3 Emerging Trends
CH 6 Flow of Control
CH 7 Functions
CH 8 Strings
CH 9 Lists
CLASS 12
CH 3 Stack
CH 4 Queue
CH 5 Sorting
CH 6 Searching
CH 11 Data Communication
CH 12 Security Aspects
CH 8 Database Concepts
Note: Chapter 13: Project based learning would be covered as part of project work included in the Practicals.
“As the Board is progressively allowing more space to 'learning outcome based' assessment in place of textbook driven assessment, question
papers of Board examinations will have more questions based on real-life situations requiring students to apply, analyse, evaluate and synthesize
information as per the stipulated outcomes. The core-competencies to be assessed in all questions, however, will be from the prescribed syllabus
and textbooks recommended therein. This will eliminate predictability and rote learning to a large extent.”
The course in computer science prepares students to develop by capability in critical and creative thinking as they imagine, generate, develop, produce
and critically evaluate ideas by engaging in systems, design and computational thinking. It enables students in learning to make the most of the digital
technologies available to them and prepares them to adapt to new ways of doing things as technologies evolve, and limit the risks to themselves and
others in a digital environment. It allows students to appreciate the impact of technology on society and its influence on the way we learn,
communicate, commute or even socialise! It aims to develop their capacity to understand and apply ethical and socially responsible principles when
creating and using technologies and tools. It also informs students of a range of study and work options and bridges the gap between school and work.
While the textbook introduces the fundamental concepts and problem-solving skills in computer science, every attempt must be made to also bring
out the practical linkages of the course with real life. Students are expected to do projects both in class 11 and 12, however, these should be treated as
a minimum. Students should be encouraged to undertake individual and group activities that help them appreciate the practical applications of the
course. In this manner, they will develop skills at all levels of the cognitive domain as indicated below.
Revised Bloom’s taxonomy (Anderson and Krathwohl, 2001) of cognitive process dimension has six categories, each associated with a set of specific
cognitive processes. CBSE curriculum intends to have a balance of these categories of intellectual tasks in the teaching-learning and assessment of
learning of a subject. These six categories as described in the revised Bloom’s taxonomy, with their specific cognitive processes, are mentioned below.
Some more examples of kinds of assessment tasks that can be associated with the different cognitive domains are given below. A chapter may not
always cover all six cognitive domains. The following list of tasks should be taken as an indicative list not a comprehensive one.
• Differentiating between different concepts. e.g.: What is the difference stacks and queues? List main difference
between open-source and proprietary software? What is the difference between for and while loop?
Apply • Construct an algorithm/code for a specified scenario using the conditions given
• Decompose a given problem statement to sub-tasks and express the solution to a given problem as a sequence
• Execute of defined steps.
Analyze • Trace an algorithm/code to identify the errors in the program or code snippet and suggest changes to a
code/algorithm to rectify and achieve the desired output.
• Differentiate • Analyse the code and deduce the values of variable at different junctures of the of the program
• Organize • Examine the given code to replace parts of the code with reusable modules/functions to simplify the code.
• Attribute • Interpret the output of a given algorithm or dry run the code to verify where it is the required result.
• Discuss the practical use-case of different emerging technologies like AI, robotics
Evaluate • Critique the use of different emerging trends in different real-life situations.
• Evaluate the algorithm and recommend changes to make it more efficient
• Check • Compare algorithms to choose the suitable one for a given scenario
• Critique • Critique the given code and recommend modifications to improve the program.
• Discuss the emerging trends in the field of computer and information technology and critique how they
influence modern society.
Create • Create an algorithm/program that uses multiple CS concepts to solve a given problem. Like creating a program
that helps manage your spending like check balance, store your income and expenditure,
• Generate • Design projects like a system to scan the commodities and print the bill for purchases at a grocery store
• Plan depending upon the price and quantity of an item.
• Produce
Following learning outcomes for senior secondary stage developed by CBSE state important knowledge, skills and dispositions students need to attain
at the end of an academic year in classes 11 and 12 in the context of learning chemistry.
CLASS 11
1
Computational thinking refers to the thought processes involved in expressing solutions as computational steps or algorithms that can be carried out by a
computer – from Lee, I. (2016). Reclaiming the roots of CT. CSTA Voice: The Voice of K–12 Computer Science Education and Its Educators, 12(1), 3–4.
Draft Learning Framework | Computer Science | Classes 11-12 15
CLASS 12
CBSE class 11 and 12 computer science (CS) course is offered as an optional subject at the higher secondary stage. Students usually opt for CS with an
aim of pursuing a career in software development or related areas, after going through professional courses at higher levels. The primary focus in this
course is on introducing the basic concepts of computer science and fostering the development of computational thinking and problem-solving skills.
Teachers must familiarize themselves with this approach before they commence teaching.
It is expected that teachers use a wide range of activities to support the theoretical content that enable students to develop as learners, users, and
creators of computer science knowledge and solutions.
Australian Curriculum defines computational thinking as “A problem-solving method that involves various techniques and strategies that can be
implemented by digital systems. Techniques and strategies may include organising data logically, breaking down problems into parts, defining abstract
concepts and designing and using algorithms, patterns and models.”
Computational thinking is a problem-solving methodology that we draw from when thinking about how a computer can help us to solve complex
problems and create solutions. It is an analytical skill that has its foundation in the concepts from computer science but is a fundamental skill that can
be used to solve complex problems in almost all the other fields.
• Decomposition
• Pattern Recognition
• Abstraction
• Algorithm Design
Decomposition is breaking down complex problems into smaller, more manageable chunks. Decomposition allows students to assess the problem at
hand and figure out all of the steps needed to make the task happen and break down the task into small simple steps. Pattern recognition is simply
looking for patterns in the problem and determining how it could be leveraged to solve the problem at hand. While abstraction helps in identifying
At the level of classes 11 and 12, developing the ability to logically solve problems irrespective of the programming language is crucial. At this stage a
deep knowledge of programming languages is not a main concern. Hence the focus needs to be on computational thinking. For this purpose, the course
is based on Python which is not syntax heavy.
Unlike other courses the syllabus is written in a prescriptive manner and follows a textbook. The textbook provides a reliable source of information
for students who do not have access to other resources. However, teachers are encouraged to share appropriate resources from websites, blogs, videos,
online courses, and books as references. Teachers are encouraged to give enough hands-on opportunities to decompose a system, gaining an
understanding of algorithms that influence the way it functions. These should also include real-world problems that are relevant and contemporary.
While the natural learning progression in the course should be along a path that progresses from understanding the basics to more sophisticated
knowledge in a subject area. Hence the learning progressions should deliberately revisit a concept across multiple units with evolving sophistication.
For example, the learning progression for creating a modular algorithm would start with the simple understanding of constructing algorithms for
simple tasks and then progress to problems in which tasks need to be broken down into smaller tasks and finally evolving to a stage where students
learn that programs can be composed of parts of other programs.
While the objective of digital technologies teaching is to develop higher-order thinking skills and enough opportunities should be there to allow
students to experiment with algorithmic development, and a range of computational thinking skills, it should be ensured that the foundational concepts
principles are strong for example,to introduce the concept of repetition teacher can introduce it with a simple example like Write an algorithm using
flow chart or pseudocode to print the first five natural numbers.
Once the students know the concept then students should be given enough opportunities to solve problems that require a combination of multiple
concepts. E.g.: Create a program to check if the given year is leap year
Evolution of Computers
In order to appreciate the development of computers and how it has progressed, students should be aware of the evolution of computers, but students
are not expected to remember the chronology of development or the different models of computers or microprocessors.
Draft Learning Framework | Computer Science | Classes 11-12 18
Components of Computer System
Computer science course is considered as a gateway for students to understand the digital world, and prepare them for the professional courses that
lie ahead. In that sense the basic introduction of computer system is necessary at the same time students should also be introduced to the latest
developments that are fast becoming mainstream like the cloud etc.
Program Development
Students are expected to develop models and/or simulations using Python as the development environment to support the concepts in the syllabus.
To enable this, student, have to be exposed to the needs for different types of system software. They need to understand the features of a computer
language, and the process of converting a program in higher level language to machine understandable format and the need for compilers. The textbook
introduces these concepts to students.
Databases
Students are expected to use database software to support the theoretical concepts within the syllabus. For this purpose, the course prescribes MySQL
as a database development environment.
The learning outcomes defined by CBSE are broadly defined for the content defined in the curriculum. They articulate the discipline-specific skills that
students need to attain through learning different concepts in the syllabus. A clear understanding of the scope of these learning outcomes for each
concept dealt in the NCERT textbook chapters will be very helpful for both teachers and students in planning teaching and learning better. The
following process has been followed to list out the content domain specific learning outcomes (CLOs) and competencies for all the content units and
textbook chapters.
Concepts discussed in the textbook chapters were mapped to key concepts under each content
domain in the CBSE syllabus.
Relevant NCERT learning outcomes were identified for each key concept in the chapter.
Content domain specific learning outcomes (CLO) were defined for the NCERT learning
outcomes relevant for the chapter. The cognitive process in the NCERT learning outcome
and the CLO is the same.
Chapter Key Concepts CBSE learning Outcome Content domain specific learning outcome
Chapter 1: Components of (1) Develop a basic understanding of CLO1. Recognize the different components of computer
Computer System Computer System computer systems - architecture, system. This includes
operating systems. - Hardware – CPU, I/O devices, Storage
- Software – Operating System, system software,
Applications, Programming tools
Processor (1) Develop a basic understanding of CLO4. Explain the basic functioning of a computer system,
fundamentals computer systems - architecture, including the purpose of Arithmetic and Logic Unit
operating systems. (ALU), Control Unit (CU).
CLO5. Explain how factors contribute to the performance
of the computer system - core, clock, cache
CLO6. Explain how data are transferred between various
components of the computer system using the
address bus, data bus and control bus.
CLO7. Explain how instructions and data are fetched-
processed-executed
Storage (1) Develop a basic understanding of CLO8. State the purpose and need of different types of
computer systems - architecture, memory.
operating systems. CLO9. Distinguish between different types of memory.
CLO10. State and use the binary magnitudes used in
defining the memory.
Chapter 3: Emerging (2) Develop basic understanding of CLO20. Recognize the some of the major advancements in
Emerging Trends Technologies new technologies in Information digital word
technology and how are they affecting CLO21. Describe the main characteristics and abilities of
the modern lifestyle. different emerging technologies.
CLO22. Differentiate the various types technologies
Limited to –
Impact of emerging (6) Understand the value of technology CLO23. Critique how emerging technologies are impacting
technologies in societies along with consideration of the society.
gender and disability issues
Chapter 4: Program (5) Develop basic principles of CLO24. Understand the program development life cycle –
Introduction to development life computational thinking. analysis, design, coding and testing
Problem Solving cycle CLO25. Identify each stage and perform tasks related to
each stage.
• analysis: identification of the problem,
decomposition of the problem, and identification of
requirements.
• design: decomposition, representation of Algorithm
– Flowchart, Pseudocode
• coding: writing program code
• testing: testing program code with the use of test
data
Analysis and design (3) Appreciate the notion of algorithm CLO26. Decompose a given problem into its component
including flowcharts and pseudocode. parts including input(s), process(es), and output(s).
CLO27. Use different methods of design to construct the
solution to a problem – flowchart and pseudocode.
CLO28. State the purpose of an algorithm.
Methods of solution (3) Appreciate the notion of algorithm CLO31. Use the standard methods of solution while
including flowcharts and pseudocode. designing an algorithm – sequence, selection and
repetition.
Verifying (3) Appreciate the notion of algorithm CLO32. Identify errors in given algorithms
Algorithms including flowcharts and pseudocode. CLO33. Amend algorithms for given problems or scenarios
Chapter 5: Getting Python IDE (5) Develop basic principles of CLO35. Use python to develop simple programs
Started with computational thinking.
Python2
Python Tokens (5) Develop basic principles of CLO36. Use common python tokens (Keywords, Identifiers,
computational thinking. Constants, punctuators and operators)
CLO37. Declare and use variables and constants
CLO38. Use appropriate tokens to develop logical
programs.
2In order to develop the basic computational thinking, python is used here as a medium. Like with any programming language the student should be given
enough opportunities to familiarise themselves with the features of Python, execution modes: interactive mode and script mode. The objective is not to test
how well a student knows the language, but rather to assess how a student is able to apply computational thinking to solve the given problem.
Draft Learning Framework | Computer Science | Classes 11-12 24
Chapter Key Concepts CBSE learning Outcome Content domain specific learning outcome
Data types (4) Explain and use operators, CLO39. Justify the different data types and their
variables and data types including characteristics.
higher order data structures such as CLO40. Cite the purpose of mutable and immutable data
lists, tuples, and dictionaries. types.
CLO41. Select and use appropriate data types in a given
scenario including its declaration and type
conversion.
CLO42. Evaluate the appropriateness of using different
data types.
Expressions (5) Develop basic principles of CLO43. Identify and use Arithmetic, logical, relational,
computational thinking. assignment, identity and membership operators
in order to create meaningful expressions for
problem solution.
Statements (5) Develop basic principles of CLO44. Develop appropriate simple and nested
computational thinking. statements for problem solutions.
Input and output (5) Develop basic principles of CLO45. State and apply the concept of inputs and outputs
computational thinking. in computational problem solving.
CLO46. Identify the inputs and outputs required in a
solution.
CLO47. Develop programs that can accept data as input
from the user and display the output.
Debugging (5) Develop basic principles of CLO48. Identify and suggest steps to remove
computational thinking. programming errors – Limited to Runtime, syntax
and logical errors
Chapter 6: Flow of Concept of (5) Develop basic principles of CLO49. Identify and develop the appropriate sequence of
Control Sequence computational thinking. steps required to solve a problem.
Concept of (5) Develop basic principles of CLO51. Identify when decision-making is required in a
conditionals computational thinking. specified situation.
CLO52. Identify the decisions required to solve a given
problem statement.
CLO53. Construct logical rules for solving the problem
statement.
CLO54. Explain the conditions that are used in a given
situation.
CLO55. Trace programs that use simple and compound
conditional statements in order to deduce the
output at different steps
CLO56. Identify errors and suggest corrections required
for the desired result in programs that use simple
and compound conditional statements
Concept of Iteration (5) Develop basic principles of CLO57. Identify when iterations are required and number
computational thinking. of iterations required to solve a given problem.
CLO58. Use the appropriate iteration method in order to
solve the given problem – including simple and
nested loops.
CLO59. Use break and continue appropriately while
creating a program with iterations.
CLO60. Identify errors and suggest corrections required
for the desired result in programs that use simple
and nested loops including count-controlled
loops, pre-condition loops, post-condition loops
Chapter 7: Concept of functions (5) Develop basic principles of CLO61. Use functions to achieve modularity and
Functions computational thinking. reusability.
Scope of a Variable – (5) Develop basic principles of CLO62. Illustrate the scope of local and global variables.
global variable, local computational thinking. CLO63. Define local and global variables appropriately in
Variable a program that uses functions
CLO64. Trace programs that use functions with
local/global variables in order to deduce the
output at different steps
Using Functions (5) Develop basic principles of CLO65. Identify and use the Python Standard Library
computational thinking. CLO66. Define and use functions – including built-in and
user defined functions with and without
argument and parameters
CLO67. Trace and explain the flow of Execution of a
program that use functions.
CLO68. Identify errors and suggest corrections required
for the desired result in programs that use
functions
Chapter 8: Strings String Operations (5) Develop basic principles of CLO69. Construct program or code sample that performs
computational thinking. operations on strings in order to achieve the
desired result like Accessing Characters in a
String, Concatenation, Repetition, Membership
operations, Slicing, traversing the string
CLO70. Use built-in string routines to construct the
program.
List Operations (5) Develop basic principles of CLO75. Develop program that require use of lists to solve
computational thinking. a given problem – including simple and nested
lists like Accessing elements in a list,
Concatenation, Repetition, Membership
operations, Slicing, traversing the list.
CLO76. Use built-in list routines to construct the
programs
Chapter 10: Tuples Introduction to (4) Explain and use operators, CLO79. Identify the utility of advanced data type – Tuple
and Dictionaries Tuples variables and data types including – including simple as well as nested tuples.
higher order data structures such as CLO80. Identify when to use tuple to solve a problem.
lists, tuples, and dictionaries. CLO81. Define a tuple.
Tuple Operations (5) Develop basic principles of CLO82. Develop programs that require use of tuples to
computational thinking. solve a given problem – Including simple and
nested tuples like accessing elements in a tuple,
Concatenation, Repetition, Membership
operations, Slicing, traversing the tuple etc.
CLO83. Use built-in tuple routines to construct the
program.
Dictionary (4) Explain and use operators, CLO86. Identify the utility of advanced data type –
variables and data types including dictionary
higher order data structures such as CLO87. Identify when to use dictionaries to solve a
lists, tuples, and dictionaries. problem.
CLO88. Define a dictionary – including simple as well as
nested dictionaries.
Dictionary (5) Develop basic principles of CLO89. Develop programs that require use of tuples to
Operations computational thinking. solve a given problem – including simple and
nested dictionaries. These can include programs
like accessing items in a dictionary using keys,
adding a new item, modifying an existing item in a
dictionary, traversing a dictionary
CLO90. Use built-in dictionary routines to construct the
program.
CLO91. Trace programs that have operations on
dictionaries in order to deduce the output at
different steps.
CLO92. Identify errors and suggest corrections required
for the desired result in programs that
dictionaries operations
Chapter 11: Societal Digital Society (7) Understand the value of technology CLO93. Evaluate the role of individual in the world of
Impact in societies along with consideration of digital technology
gender and disability issues.
Threats to (6) explain cyber ethics, cyber safety CLO101. Describe Cyber crime
technology and cybercrime CLO102. Differentiate different types of cyber-crimes.
Role of (6) explain cyber ethics, cyber safety CLO103. Critique the role of government in digital
governments in and cybercrime technologies
technology CLO104. Explain the need for policies in safeguarding the
citizens in digital world
Changes in Lifestyle (7) Understand the value of technology CLO105. Evaluate the impact of change in our lifestyles due
in societies along with consideration of to digital advancements.
gender and disability issues
Chapter Key Concepts CBSE learning Outcome Content domain specific learning outcome
Chapter 1: Exception Exceptions (4) Explain and use the concept of CLO1. Recognize the different types of exception and
Handling in Python exception as well as file handling. understand the need for handling exceptions.
CLO2. State the various methods to raise an exception.
Exception handling (4) Explain and use the concept of CLO3. State methods to handle an exception in a given
exception as well as file handling. scenario.
CLO4. Use exception handling appropriately to design a
program code in order to catch all the exceptions.
Chapter 2: File Introduction to files (4) Explain and use the concept of CLO5. Recognize why files are needed and the purpose
Handling in Python exception as well as file handling. of storing data in a file to be used by a program
CLO6. Identify the different types of files limited to text,
csv and binary files.
CLO7. Identify when to use files to solve a problem.
Operations on files (4) Explain and use the concept of CLO8. Recognize when to use operations on files
exception as well as file handling. including
- Open (in read, write, append mode)
- opening a file using with clause
- close a file
- Read a record from a file
- Search a file
- write a record to a file
limited to Text, Binary and CSV file
CLO9. Perform file-processing operations as required
based on the given scenario including pickling
CLO10. Write code/ code snippets to handle text files that
consist of one or more lines
CLO11. Trace programs that have operations on file in
order to deduce the output at different steps.
Stacks (5) Use basic data structure: Stacks CLO15. Describe the characteristics and applications of a
and Queues. stack.
CLO16. Implement stacks in python
Stack operations (5) Use basic data structure: Stacks CLO17. Construct code/ code snippets using access
and Queues. methods of a stack in order to solve a given
problem.
CLO18. Trace programs that use stacks in order to deduce
the output at different steps.
CLO19. Identify errors and suggest corrections required
for the desired result in programs that use stacks.
Chapter 4: Queues Queues (5) Use basic data structure: Stacks CLO20. Describe the characteristics and applications of a
and Queues. stack.
CLO21. Implement Queues in python
Operations on (6) Use basic data structure: Stacks CLO22. Construct code/ code snippets using access
Queue and Queues. methods of a stack in order to solve a given
problem.
CLO23. Trace programs that use Queues in order to
deduce the output at different steps.
CLO24. Identify errors and suggest corrections required
for the desired result in programs that use
Queues.
Chapter 5: Sorting Sorting (2) Implement search and sort CLO25. Describe the need for sorting in linear data
techniques. structures.
“The pedagogical practices should be learner centric. It is expected of a teacher to ensure an atmosphere for students to feel free to ask questions.
They would promote active learning among students with a focus on reflections, connecting with the world around them, creating and
constructing knowledge. The role of a teacher should be that of a facilitator who would encourage collaborative learning and development of
multiple skills through the generous use of resources via diverse approaches for transacting the curriculum.”
[CBSE Curriculum for classes 11-12]
NCERT higher secondary stage learning outcomes document provides a common set of pedagogical processes for each subject. Keeping these as
guidelines, specific pedagogical processes and assessment strategies for a topic from one chapter each from classes 11 and 12 have been developed as
suggestions and are shared in this section. These instances of pedagogical process and assessment strategies should enable teachers to derive
principles for making the alignment between learning outcomes, pedagogical practices and assessment in their classrooms and to use these for creating
their lesson plans. The key principles considered while designing the pedagogical processes and assessment strategies are the following:
1. Keeping learner at the centre
• Since new knowledge is built over existing knowledge, both pedagogy and assessment should focus on students’ pre-requisite knowledge,
skills, attitudes, and beliefs that they bring in a classroom setting.
• Constructivist approaches to learning with the student being at the centre of the learning process as an active constructor of knowledge
must be emphasized.
• Since students effectively learn by doing, classroom processes should involve activities, analysis and discussions. Systematic
experimentation as a tool to discover/verify theoretical principles must be included.
Grade: 11
Unit: Computational Thinking and Programming
Chapter: Flow of Control
CLO49. Identify and develop the appropriate Students should be able to analyse a given To check the skills
sequence of steps required to solve a problem. problem statement and design the solution. 1) Students can be given problem
CLO51. Identify when decision-making is To introduce the concepts of sequence, iteration statements to solve using different
required in a specified situation. and conditions. methods of problem solving.
CLO52. Identify the decisions required to solve Students should be given to write simple 2) Students are expected to trace, explain
a given problem statement. solutions for real world examples like or construct algorithms/code snippets
- Algorithm to solve the problem of to – check whether the code will
CLO57. Identify when iterations are required produce desired result, evaluate an
and no: of iterations required to solve a given a non-functioning light bulb
- Algorithm to make a well balance plate of intermediate output at a particular
problem. step.
Upma/Poha/Kichdi.
- Choosing the best route for school 3) Given an error, students should be able
- Grouping students whose height is more to suggest suitable methods to solve
CLO53. Construct logical rules for solving the
than 5 ft into group A and others in group B the error.
problem statement.
Such problems will help them develop
CLO58. Use the appropriate iteration method
computational thinking with relatable concepts. Students are not expected to know all the
in order to solve the given problem – including
Once students are comfortable, students should tokens, relevant stimulus and inserts should
simple and nested loops.
be given computational problems to solve, the be provided in the paper to ensure that the
CLO59. Use break and continue appropriately problems should be given in the increasing assessment is for computational thinking and
while creating a program with iterations. levels of difficulty. not about learning python syntax.
CLO55. Trace programs that use simple and Students should be introduce tp the different The questions should not be about asking
compound conditional statements in order to programming concepts separately to gain the syntax-based questions which would need
deduce the output at different steps procedural fluency of the programming as well as students to memorize the tokens.
developing sequential, logical and recursive
thinking.
Draft Learning Framework | Computer Science | Classes 11-12 40
Learning Outcome Pedagogical Process Assessment Strategies
CLO50. Evaluate whether the order in which As a practice to develop the skill of writing
activities are executed are in the right algorithms as well as gaining the procedural
sequence to achieve the desired result. fluency, it should be made as a standard practice
CLO56. identify errors and suggest corrections to write the pseudocode/flowchart, before
required for the desired result in programs coding.
that use simple and compound conditional Teachers should give enough hands-on
statements experience in writing algorithms for different
CLO60. Identify errors and suggest corrections kinds of problem statements.
required for the desired result in programs Students should also be given as much practice
that use simple and nested loops including time in computer labs as possible to develop the
count-controlled loops, pre-condition loops, programming familiarity while not forcing them
post-condition loops to memorize the syntax.
Programming on computers also will develop the
skill of identifying errors and correcting them at
the same time develop the skill of tracing the
programs.
In an ever-increasing world of connected systems Students could be given case scenarios and
and devices students need to have a broad view asked the type of the threat that is mentioned
CLO86. Show understanding of the threats to of the threats that pose a risk to their data in the case and how they will ensure that the
computer and data security posed by networks security. system is secure.
and the internet like malware, virus. Etc Teachers should explain the different types of Students could be asked to differentiate
CLO87. Show an understanding of different threats and also understand the reason why these between different types of threats.
types of hackers and the methods used by them threats are created. Students could be asked to differentiate
that pose threat to data security Students should be given the opportunity to between different kinds of security systems.
CLO88. Explain the methods employed that explore different case studies that showcase the Students could also be asked to explain with
pose a threat to network security like Denial of damages caused by the threats, this could be a examples how some of the commonly used
Service, Intrusion problems etc. group activity where students can go through the elements are converted into a threat.
case study and give a short presentation on the
case.
Teachers should explain the concept of network
security measures
Show a video document of setting up different
security measures.
CLO89. Describe methods that can be used to
restrict the risks posed by threats Students could be asked to give a small write up
on different security measures and how it will
CLO90. Show an understanding of how
protect them.
antivirus works.
Students should be presented with scenarios of
different threats and ask them to identify the
measures that they will take to create a secure
scenario.
CLASS 11
Essential Idea The computer system is made up of hardware and software components and together they perform complex activities
Question 1
Item Stem Data entered through the input device is temporarily stored in
i) RAM
ii) ROM
iii) Hard disk
iv) CPU
Distractor 2 Hard Disk Explanation: Lack of understanding of the concept of data storage and retrieval
Distractor 3 CPU Explanation: Lack of understanding of the concept of data storage and retrieval
Question 2
Correct answer Integrated circuits Reason: Since it is just a small chip, it helps reduce the size of the computers
Question 3
Marking Rubric
Essential Idea Encoding Schemes and number systems help humans communicate with computers effectively.
Question 1
Item Stem When a key is pressed on the English keyboard is pressed, it is internally mapped to
i) Unique hexadecimal code
ii) Unique decimal code
iii) Unique binary code
iv) Unique octal code
Correct answer Unique decimal Reason: The keys are mapped to decimal numbers which are eventually converted to binary value for
code the computer to understand
Distractor 1 Unique Explanation: Since it contains alphabets as well, some students might get confused
hexadecimal code
Distractor 2 Unique binary code Explanation: Since this is the code that the computer understands
Distractor 3 Unique octal code Explanation: Octal code is also used in computers, so it may cause a confusion
Question 2
Item Stem ASCII code for A is 065, B is 066, S is 083 and T is 084.
If the word “BATS” is input using an ASCII encoded keyboard. How would it be encoded into binary values which can be
understood by a computer?
Distractor 1 i. Explanation: Lack of understanding of how ASCII code is converted into binary equivalent
Distractor 2 ii. Explanation: Lack of understanding of how ASCII code is converted into binary equivalent
Distractor 3 iii. Explanation: Lack of understanding of how ASCII code is converted into binary equivalent
Question 3
Item stem Do the following conversions:
i) Decimal to Binary: 120
ii) Octal to decimal: 6760
iii) Decimal to hexadecimal: 4502
Marking Rubric
Essential Idea Rapid evolution of computer technolgy has transformed areas ranging from data infrastructure to cyber security.
Question 1
Item Stem Which of the following do not come under Artificial Intelligence (more than one option can be correct)?
i) Siri
ii) Virtual Reality
iii) Google Docs
iv) Cryptocurrency
Correct answer iii) and iv) Reason: Google Docs is an online word processor and
cryptocurrency used blockchain technology.
Distractor 1 Siri Explanation: AI based personal assistant
Question 2
Essential Idea Technology is evolving faster than ever to make to support and strengthen human ability
Item stem Justify the statement ‘Storage of data is cost-effective and time-saving in cloud computing.’
Marking Rubric
Step 1: Set c = 0, s = 0
Step 2: Input num
Step 3: While num is not equal to 0, repeat Steps 4 to 6
Step 4: s = s + num
Step 5: c = c + 1
Step 6: Input num
Step 7: Compute a = s/c
Step 8: Print a and c
i) 6, 5
ii) 6, 6
iii) 6, 9
iv) 5, 6
Correct answer 6,5 Reason: It takes only the first 5 numbers
Distractor 1 6, 6 Explanation: Some students might also count 0 and the average will remain
the same
Distractor 2 5, 5 Explanation: Some students might take in all the numbers
Question 2
Item stem Write the pseudocode to input two numbers and swap them without using a third variable.
Marking Rubric
Correct answer: 2
a = [1, 2]
b=a
b += [3, 4]
print(a)
print(b)
i) [1, 2, 3, 4]
[1, 2, 3, 4]
ii) [1, 2]
[1, 2, 3, 4]
iii) [1, 2, 1, 2]
[1, 2, 3, 4]
iv) [1, 2]
[3, 4]
Correct answer i) Reason: Since b and a reference to the same object, when we use the addition assignment operator += on b, it
changes both a and b
Distractor 1 ii) Explanation: Lack of understanding of basic syntax and concept of objects
Distractor 2 iii) Explanation: Lack of understanding of basic syntax and concept of objects
Distractor 3 iv) Explanation: Lack of understanding of basic syntax and concept of objects
Question 2
x=2
x=5
x=x+x
print(x)
Marking Rubric
i) 37 67
ii) 35 66
iii) 37 66
iv) 35 65
Correct answer iii) 37 66
Distractor 1 i) 37 67 Explanation: Wrong calculation
Distractor 2 ii) 35 66 Explanation: Lack of understanding to properly trace an algorithm with conditionals
Distractor 3 iv) 37 65 Explanation: Lack of understanding to properly trace an algorithm with conditionals
Question 2
Item stem Write a program to display the sum of odd numbers and sum of even numbers separately that fall between two numbers
(including both numbers) accepted from the user. (Note: use while loop)
Correct answer: 4
Question 1
x=x+y
y += 1
print(x, y)
func(y = 2, x = 1)
Marking Rubric
33
Question 2
Item stem Write a program to create a function employee_details() using the following conditions:
a) It should accept the employee’s salary for 2 months and his/her name
b) If the salary for the second month is missing, then assign default value 9000 to the second month salary
c) Display the average salary and employee’s name
Marking Rubric
Correct answer: 3
cc = 2
if False:
cc = 66
def helmet():
if True:
cc = 40
helmet()
print(cc)
i) 66
ii) 40
iii) 2
iv) Error
i) lcomme
ii) lcomme T
iii) lcomme To
iv) IcommeTo
Correct answer ii) Reason: it will concatenate “lcom” first string and “me T” from
second string
Distractor 1 i) Explanation: Confusion with indexing
Distractor 2 iii) Explanation: Confusion with indexing
Distractor 3 iv) Explanation: Might forget the space
Question 2
Essential Idea Strings are very useful when communicating information from the program to the user of the program
Item stem Write a function in Python that will return a string containing the first letter of every word in a given string with spaces.
Marking Rubric
def firstLetterWord(str):
result = ""
v = True
for i in range(len(str)):
return result
def firstLetterWord(str): 0.5
i) newList = copy.copy(L)
iii) newList.copy(L)
Item stem Write a Python program to find and display the second largest number in a list (take it as list1)
Marking Rubric
Correct answer: 4
mx=max(list1[0],list1[1])
secondmax=min(list1[0],list1[1])
n =len(list1)
for i in range(2,n):
if list1[i]>mx:
secondmax=mx
mx=list1[i]
elif list1[i]>secondmax and \
mx != list1[i]:
secondmax=list1[i]
n =len(list1) 2.5
for i in range(2,n):
if list1[i]>mx:
secondmax=mx
mx=list1[i]
elif list1[i]>secondmax and \
mx != list1[i]:
secondmax=list1[i]
print("Second highest number is : ",\ 0.5
str(secondmax))
a="blog"
b=list(a)
c=tuple(b)
print(c)
d = {"john":40, "peter":45}
print(list(d.keys()))
i) (“john”, “peter”)
ii) (40, 45)
iii) [40, 45]
iv) [“john”, “peter”]
Correct answer iv) Reason: Will display only the keys
Distractor 1 i) Explanation: Not clear about the basic concepts of dictionary
Distractor 2 iii) Explanation: Not clear about the basic concepts of dictionary
Distractor 3 ii) Explanation: Not clear about the basic concepts of key in a dictionary
Question 3
Item stem Write a Python program to delete list of keys from the dictionary
Given:
sample_dict = {
"name": "Kelly",
"age": 25,
"salary": 8000,
"city": "New york"
}
# Keys to remove
keys = ["name", "salary"]
Marking Rubric
sample_dict = {
"name": "Kelly",
"age": 25,
"salary": 8000,
"city": "New york"
}
# Keys to remove
keys = ["name", "salary"]
for k in keys:
sample_dict.pop(k)
print(sample_dict)
i) Plagiarism
ii) Copyright Infringement
Correct i) Plagiarism is the act of copying large pieces of text without citing the sources.
answer
Distractor 1 iv) Explanation: not clear about trademark
Distractor 2 iii) Explanation: Confusion between patent infringement and plagiarism
Distractor 3 ii) Explanation: Confusion between patent, copyright, and plagiarism
Question 2
Item stem What are the things that everyone should do to prevent and combat cybercrimes?
Marking Rubric
Essential Idea Runtime errors need to be handled so that the normal flow of the application can be maintained.
Question 1
Correct answer One block of except statement cannot Reason: A block of except statement can handle multiple exceptions
handle multiple exceptions
Distractor 1 A try-except block can have more than Explanation: The statement is true
one except statements
Distractor 2 The finally block is always executed Explanation: Students may think that if except block is executed, then finally block is
not executed
Distractor 3 When 1 == “1” is executed, no Explanation: Some people may find this confusion and commit mistakes
exception is raised.
Question 2
i)
def foo():
try:
return 1
finally:
return 2
k = foo()
print(k)
ii)
def foo(x):
try:
print(5/x)
except ZeroDivisionError:
print ("exception block")
else:
print ("else block")
finally:
print ("finally block")
foo(0)
try:
num = int(input("Enter a number: "))
assert num % 2 == 0
except:
print("Not an even number!")
else:
rec = 1/num
print(rec)
Suppose we enter: a) 4 b) 5
Marking Rubric
Answers: 3
i) 2
ii) exception block
finally block
iii) a) 0.25
b) Not an even number!
i) 2 1
Essential Idea Performing operations on files to store data permanently for reusability.
Question 1
Correct answer f= open(“story.txt”) - This statement will open the file in write mode Reason: The statement will open the file in
default (read) mode
Distractor 1 In text file, each file is terminated by a special character called EOL Explanation: The statement is true
Distractor 2 It is important to close a file after we are done with the read and write Explanation: Some students might not be
operations aware of this concept
Item stem Write a function line_count() in Python to count and print the number of lines from a text file “sample.txt” which is not starting
with the letter ‘A’.
Marking Rubric
Correct answer: 2
def line_count():
file = open("sample.txt","r")
count=0
for line in file:
if line[0] not in 'A':
count+= 1
file.close()
print("No of lines not starting with 'A'=",count)
def line_count(): 0.5
file = open("sample.txt","r")
count=0 0.5
for line in file:
if line[0] not in 'A':
count+= 1
Draft Learning Framework | Computer Science | Classes 11-12 74
file.close() 0.5
Essential Idea Problems that requires backtracking can be implemented using stack operations.
Question 1
Question 2
def isEmpty(stk):
if stk==[]:
return True
else:
return False
def Push(stk,item):
stk.append(item)
top=len(stk)-1
def Pop(stk):
if isEmpty(stk):
print("Underflow")
else:
item=stk.pop()
if len(stk)==0:
top=None
else:
top=len(stk)
def Display(stk):
if isEmpty(stk):
print("Stack is empty")
else:
top=len(stk)-1
print("Elements in the stack are: ")
for i in range(top,-1,-1):
print (str(stk[i]))
stk=[]
top=None
Push(stk,1)
Push(stk,2)
Push(stk,3)
Push(stk,4)
Pop(stk)
Display(stk)
Marking Rubric
Chapter Queue
Name
Essential Problems that requires order needs to be maintained can be solved using Queues.
Idea
Question 1
def enqueue(data):
queue.insert(0,data)
def dequeue():
if len(queue)>0:
return queue.pop()
return ("Queue Empty!")
def display():
print("Elements on queue are:");
for i in range(len(queue)):
print(queue[i])
queue=[]
enqueue(5)
enqueue(6)
Correct answer: 2
Essential Idea Efficient sorting is important to optimize programs that requires the input in a sorted manner.
Question 1
Distractor 2 I-c II-b III-a Explanation: Confusion between three sorting algorithms
Question 2
Item stem Given an unsorted array ‘arr’, write a function findMinDiff() in Python to find and print the minimum difference between any pair
in the array. The time complexity should be less than O(n^2).
Example 1:
arr = [2, 4, 5, 9, 7 ]
O/P: 1
Example 2:
arr = [3, 10, 8, 6]
O/P: 2
Marking Rubric
def findMinDiff(arr):
n = len(arr)
for i in range(n-1):
diff = 10**20
for i in range(n-1):
if arr[i+1] - arr[i] < diff:
diff = arr[i+1] - arr[i]
print(diff)
def findMinDiff(arr): 0.5
n = len(arr) 1
for i in range(n-1): 1
if arr[i+1] - arr[i] < diff:
diff = arr[i+1] - arr[i]
print(diff)
Essential Idea The appropriate search algorithm often depends on the information required and the data from which it has to be searched.
Question 1
Item Stem In the list A = [5,6,77,88,99] and key = 88, how many iterations are done until the element is found (using binary search)?
Marking Rubric
Correct answer: 4
Essential Idea A given raw data has to be processed using various techniques to derive the right information out of it.
Question 1
Item Stem Which of the following problem statements is mapped to the correct statistical method?
Question 2
Item stem What are the different types of data? Explain with examples.
Marking Rubric
i) Structured data
ii) Unstructured data
i) Structured data
ii) Unstructured data
Structured data: Data which is organized and stored in a 1
well defined format like tables
Table 1
1 Ankit 11
2 Aravind 11
Table 2
11 Arpit Maths
11 Sridhar English
12 Jagadish Maths
Marking Rubric
Correct answer: 2
Question 3
Item stem When is a composite primary key used? Explain with an example.
Marking Rubric
Example: (1 mark)
Udit 11 English
Vipul 11 Maths
Kaushal 12 English
Essential Idea Query languages are used to access and manipulate data from the database in a standardized manner.
Question 1
i) a and b only
ii) a b and c only
iii) c and d only
iv) All of the above (a,b,c,d)
Correct answer All of the above (a,b,c,d) Reason: All the statements are false
Distractor 1 a and b only Explanation: If order is not specified, ASC is used as default.
And, confusion between UPDATE and ALTER commands
Distractor 2 a,b,c only Explanation: Confusion between UPDATE and ALTER
commands
Distractor 3 c and d only Explanation: Confusion between PRODUCT and JOIN
commands
Question 2
Item stem Write the SQL queries for the following tables.
Table - EmployeeSalary
421 P1 12000 0
i) Write an SQL query to fetch all the employees who either live in California or work under a manager with ManagerId – 321
ii) Write an SQL query to upper case the name of the employee and lower case the city values.
iii) Write an SQL query to fetch employee names having a salary greater than or equal to 5000 and less than or equal to 10000.
Marking Rubric
Correct answer: 5
i) SELECT *
FROM EmployeeDetails
WHERE City='California' OR ManagerId='321'; - (2 marks)
Question 1
Question 2
Marking Rubric
Difference 2 1
Essential Idea Different transmission media and protocols have improved the ways of communication.
Distractor 1 i) Explanation: Students might not know that FTP too works on client server model
Distractor 3 iv) Explanation: One of the benefits of using protocols. Students might not be aware of the concept of
data loss
Question 2
Item stem State which of the following statements are true or false.
i) Spam
ii) Malware
iii) Virus
iv) Trojan
Correct i) Reason: Commercial emails with invitation and/or links that are shady
answer are considered as spam
Distractor ii) Explanation: Confusion between Malware and spam
1
Distractor iii) Explanation: Students might think that since some email contain
2 shaddy links, it will lead to some virus in their system
Item stem What are some best practices to follow in order to prevent malware distribution?
Marking Rubric
The test papers for the final examination for class 12 should be balanced in terms of its coverage of content domains, cognitive domains and types of
questions. However, the blueprint governing the design of the test papers should not be very rigid and should provide sufficient latitude to the paper
setter so that the focus while setting the paper remains on the quality of questions and the overall balance of the test paper.
The theory will be divided into two terms – Term 1 and Term 2. Each term will be for 35 marks.
DISTRIBUTION OF MARKS
CLASS 11
Unit Marks
Term 1 Term 2
1 Computer Systems and Organisation 10 --
2 Computational Thinking and Programming 25 20
3 Society, Law and Ethics -- 15
Total 35 35
The theory exams should test knowledge and understanding of the principles behind computer science as well as the main aim of the course, which is
fostering the development of computational thinking skills and application of these skills to solve problems. Therefore, the questions designed must
be to check the logic and computational skill of the student and not how much of syntax the student remembers.
Students are expected to explain concepts, apply knowledge, analyse and/or interpret data and/or respond to stimulus materials. Stimulus material
can include: diagrams; article snippets; flow charts/pseudocode or code snippets and/or screen captures.
Candidates should be provided with an insert or a hint to use in the exam with built-in functions, operators and precedence of operators. This could
be given at a question level or even at a paper level that can be referred to by the students.
The internal assessment component, being practical and productive, forms an important part of the assessment of the computer science course. It
should provide sufficient opportunities for the students to showcase their innovative skills while developing a practical solution to either a specified
problem or unanswered question. These skills will be evident in the use of complex design and algorithmic principles as well as rigorous testing leading
to the development of a functional product.
Students are expected to conduct experiments, do practical activities and investigative projects throughout the course of 2 years, and are also required
to take a practical examination at the end of each year.
Project that uses most of the concepts that have been learnt 8 3 5
Term – 1: Synopsis of the project to be submitted by the
students (documentation only)
4
Term – 2: Final coding + Viva voce (Student will be allowed to
modify their Term 1 document and submit the final executable
code.)
Total 30 15 15
Lab Test Python program (60% logic + 20% documentation + 20% code 7 6 2
quality)
1
5 SQL Queries based on one/two table(s). 5 -- 4
3 Viva -- 3 2 1
Project that uses most of the concepts that have been learnt 8 3 5
that uses most of the concepts that have been learnt
Term – 1: Synopsis of the project to be submitted by the students
4 (documentation only)
Term – 2: Final coding + Viva voce (Student will be allowed to
modify their Term 1 document and submit the final executable
code.)
Total 30 15 15
CLASS 11
Term 1
• Write a program to input the value of x and n and print the sum of the following series:
o 1 + 𝑥 + 𝑥2 + 𝑥3 + 𝑥4 + ⋯ 𝑥𝑛
o 1 − 𝑥 + 𝑥2 − 𝑥3 + 𝑥4 − ⋯ 𝑥𝑛
𝑥2 𝑥3 𝑥4 𝑥𝑛
o 𝑥− 2
+ 3
− 4
−⋯ 𝑛
𝑥2 𝑥3 𝑥4 𝑥𝑛
o 𝑥− 2!
+ 3!
− 4!
− ⋯ 𝑛!
Term 2
CLASS 12
Term 1
Python Programming
• Write a code to find the factorial of a natural number.
• Write a code to find the sum of all elements of a list.
• Write a code to compute the nth Fibonacci number.
• Read a text file line by line and display each word separated by a #.
• Read a text file and display the number of vowels/consonants/uppercase/lowercase characters in the file.
• Remove all the lines that contain the character 'a' in a file and write it to another file.
• Create a binary file with name and roll number. Search for a given roll number and display the name, if not found display appropriate
message.
• Create a binary file with roll number, name and marks. Input a roll number and update the marks.
• Write a random number generator that generates random numbers between 1 and 6 (simulates a dice).
• Create a CSV file by entering user-id and password, read and search the password for given user-id.
Term 2
Database Management
• Create a student table and insert data. Implement the following SQL commands on the student table:
o ALTER table to add new attributes / modify data type / drop attribute
o UPDATE table to modify data
o ORDER By to display data in ascending / descending order
o DELETE to remove tuple(s)
o GROUP BY and find the min, max, sum, count and average
• Similar exercises may be framed for other cases.
• Integrate SQL with Python by importing a suitable module.
PROJECT WORK
The aim of the class project is to create something that is tangible and useful using Python file handling/ Python-SQL connectivity. This should be done
in groups of two to three students and should be started by students at least 6 months before the submission deadline. The aim here is to find a real-
world problem that is worthwhile to solve and give them an understanding of how problems are solved in the real world.
The broad steps that students are expected to follow is a simple waterfall model.
1. Identification of a project:
2. Defining a plan:
3. Fixing of a timeline
4. Monitoring the project and take support
5. Arrive at the final outcome
Students are encouraged to visit local businesses and ask them about the problems that they are facing. For example, if a business is finding it hard to
create invoices for filing GST claims, then students can do a project that takes the raw data (list of transactions), groups the transactions by category,
accounts for the GST tax rates, and creates invoices in the appropriate format. Students can be extremely creative here. They can use a wide variety of
The students should be sensitised to avoid plagiarism and violations of copyright issues while working on projects. Teachers should take necessary
measures for this.
SUGGESTED PROJECTS
Project Title 1: Automation of Order Processing in a Restaurant
Project Title 2: Development of a Puzzle
Project Title 3: Development of an Educational Game
ADVISORY
REVIEWERS
• Ms. Mohini Arora, Lecturer, Air Force Golden Jubilee Institute, New Delhi
• Ms. Purvi Srivastav, Head of the Dept, Ganga International School, New Delhi
• Ms. Chetna Khanna, Ex. PGT, Shadley Public School, New Delhi
Educational Initiatives (Ei) is working with the vision of creating a world where children everywhere are learning with understanding.
Ei leverages the twin levers of cutting-edge educational research and technology-based solutions to improve student learning outcomes through personalized
adaptive learning solutions.
Ei has undertaken several projects with various government and civil society partners in India and abroad, serving students across different grades and socio-
economic backgrounds.