Recommendations for the CBSE Computer Science Curriculum, 2018
Smruti R. Sarangi (IIT Delhi) and Vikram Goyal (IIIT Delhi)

Important Disclaimer

Prof. Smruti R. Sarangi (IIT Delhi) and Prof. Vikram Goyal (IIIT Delhi) had the privelege of chairing a committee to look into
the current CBSE Computer Science curriculum, and propose a new curriculum. This site contains the recommendations made by this
committee. Please note that this committee's role was limited to conducting independent research, and submitting a report
to CBSE. CBSE or any other organisation are not responsible for any errors
of omission or commission in any of the documents available on this site. The material on this site does not necessarily represent CBSE's
official views, neither does CBSE necessarily endorse all the contents/views in the documents put up on this site. Note that
this independent curriculum committee is responsible for the contents of this site, and CBSE or any other organisation including IIT Delhi
and IIIT Delhi do not bear any responsibility, and are not legally liable for the contents of this site. This site is meant to disseminate
academic material in national interest, which is based on easily obtainable documents that are in the public domain. For any
administrative issues such as the official status of the proposed curriculum, modes of operationalisation and the examination
pattern, official communication from CBSE is the only authentic source. If anybody feels that there are errors on this site, or
in the linked documents, or they have any comments, then please mail the committee chairs. Please use the following e-mail id:

cbsecssurvey@gmail.com. Finally, please do not distribute these documents in a modified or altered form.

The committee acknowledges CBSE, in specific Ms. Anita Karwal (Chairperson, CBSE),  for initiating this activity, and motivating
the committee members to work hard. The committee also is very grateful to Mr. Subhash Garg (Deputy Director, CBSE) for connecting
the members to school teachers and Principals in many different schools across the country. Please note that there are sections of the
curriculum document that have been copied verbatim from CBSE's existing curriculum documents.

Constitution of the Committee

Mentor: Prof. Pankaj Jalote (Director, IIIT Delhi, IEEE Fellow, Ex-professor IIT Kanpur and Delhi)
Chairs: Prof. Smruti R. Sarangi (Computer Science and Electrical Engg., IIT Delhi), Prof Vikram Goyal (IIIT Delhi)

List of committee members: link
List of external experts consulted: link

Vision of the CommitteeThe vision of the committee is to recommend a curriculum that is modern, is relatively light, teaches
timeless concepts such as abstraction and computational thinking, is up to international standards, focuses on problem solving skills,
teaches students how to use computers to earn a better livelihood, and does justice to all students irrespective of their stream of study (Science, Commerce,
Humanities). The committee also envisions learning materials that are suitable for all children irrespective of background and disability.
Furthermore, the recommendation to CBSE is to ensure that the curricular documents are error-free, well written, and are
available at a very low cost (preferably free) to all students, particularly those who are economically backward. 

Message to the Public:
1. There is nothing masculine about computer science. Girls can do computer programming as well as boys if not better. Please dissuade
yourself from believing and propagating in such baseless stereotypes, which have no scientific basis.
2. Please do not assume that a student who has shown learning deficits in other subjects, is automatically unsuitable for
computer science (CS). Sometimes the structured nature of CS subjects is good for students with special needs, particularly those with
autism. In the view of the committee the school should do everything possible to educate every student irrespective of disability, and if
there is a suspicion that a given student is not up to the mark because of a learning disability, adequate professional help should be taken,
before arriving at any conclusions.
 
Methodology:
The committee worked for roughly 3 months. The members performed a comparative study of the curricula of roughly 15 countries, read research
papers on designing curricula for schools, studied the history of teaching computer science in the Indian school system, studied the ACM
K12 model curriculum, talked to scores of students, parents, and teachers, and contacted experts who specialize in teaching children
with special needs. The members concluded that a new curriculum is required because the focus needs to change to problem solving
rather than teaching the nuances of any given programming language, and secondly obsolete topics should be removed. The Informatics
Practices course should be redesigned because it could do better to capture the training requirements of students particularly in the Commerce
and Humanities streams. A focus on financial computing, analytics, and business processes in IT, was thus considered essential.

Reports and Documents

Proposed curriculum: pdf
[This is the curriculum proposed by the committee. It is NOT CBSE's official curriculum. The only source for CBSE's curriculum
is official communication from CBSE.]


Salient Features (of the recommendations)
  1. In classes 9 and 10, have one course called Computer Applications.
    1. Introduce basic programming logic using an educational language called Scratch, or Python (for special needs children).
    2. Focus on basic foundational skills and socially relevant projects.
  2.  Modify the Computer Science (CS) course (in classes 11 and 12) as follows:
    1. Change the focus from learning a language to learning logic and problem solving skills.
    2. Teach Python (easy language with very rich features) instead of C++/Java.
    3. Introduce latest technologies: 3G, 4G, cloud computers, NoSql databases, parallel programming. 
    4. Teach basic computer science concepts: recursion, efficiency, and basic data structures.
  3. Upgrade the Informatics Practices (IP) course (in classes 11 and 12)
    1. Specifically tailored towards students interested in business management, data analytics, and accounting.
    2. Replace Java with Python
    3. Add a significant Data Science component that has explicit focus on data analysis, statistics, and visualization.
      Decrease the focus on computer hardware, networking and other low level details. Again focus on logic for data analytics.
    4. Introduce a small module on software engineering and IT based business processes. Learn how to draw business use-case
      diagrams for IT enabled real-world businesses.
  4. Discontinue the course on Multimedia and Web Technology (in classes 11 and 12).
  5. Introduce the new curriculum for classes 9 and 11 in the academic year 2018-19. However, for the first year there should be an overlap
    between the new and old curricula. Subsequently it is conter-productive.
  6. For all classes rigorously teach cyber safety, cyber etiquette, effects of digital technology on society and responsible use of social media.
  7. Do highly feature rich projects, and preferably take problems from the neighbourhood. Do very socially relevant projects that somebody
    finds useful. For IP students, focus on projects related to EMI calculation and financial prediction, accounting for small businesses, creating
    GST invoices, and inventory management.
  8. Follow the recommendations to make the curriculum friendly towards children with special needs. Lot of suggestions from experts in the area.

Version of Python: 3.x (3.0 and above)
Any platform is fine.

Report submitted by the committee: pdf
[This document should be treated as an academic document, which is purely recommendatory in nature. ]

Relevant Portions
Pages
Audience
Contents
7-11
All
Research Methodology
12-21
Teachers and parents
Need for a new curriculum: internetional trends, school visits, trends in computer technology
18-20
All
Misconceptions about computer science education
22-26
Teachers and parents
Justification for major decisions
27-30
and
49
Teachers, special educators,
 and parents of children with special needs
Making the curriculum friendly to children with special needs
47
CBSE officials and Principals
Teacher training
48
Textbook writers
Things to keep in mind for making the textbook friendly to children with special needs.
48
Board officials and paper setters
Suggested examination pattern
49-51
Researchers
References

Relevant Links for Different Topics (for teachers, parents, and students)

[Must read for all book writers]
[Note that Profs. Sarangi and Goyal have absolutely no relationship with the authors of the following websites, and do not necessarily endorse
their contents. These links are provided in public interest because the authors thought that students could find their content helpful. If you feel
that there is a possibility of a conflict of interest or for some reason these sites should not be linked to this site, then please contact the authors
immediately.
]

  1. Typing tutorials (target: 40 wpm): https://www.typingclub.com , https://www.makeuseof.com/tag/sites-teach-kids-typing-fun/
  2. Official Python documentation: https://docs.python.org/3/tutorial/
  3. Basic Python tutorials: https://www.tutorialspoint.com/python/index.htm, https://snakify.org/
  4. Data science with Python: https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/
  5. Data analysis tutorial: http://hamelg.blogspot.in/2015/12/python-for-data-analysis-index.html
  6. Python Pandas Documentation http://pandas.pydata.org/pandas-docs/stable/
  7. NumPy, SciPy and MatPlotLib tutorial: http://cs231n.github.io/python-numpy-tutorial/
  8. Repository of simple problems: http://www.spoj.com/BSCPROG/, http://www.practicepython.org/, http://codingbat.com/python
  9. Scratch tutorials: https://scratch.mit.edu/help/videos/, Scratch web site