← All posts

From concepts to application: how students learn computer science best

· 4 min read · teaching, computer science education, higher education, India

Every semester, a student asks me some version of the same question: “Ma’am, where will I actually use this?” It is a fair question, and a good teacher should be able to answer it. After more than ten years of teaching computer science and engineering in India, I have come to see that question as the starting point of good teaching, not an interruption to it.

This post is a short, balanced note on how students learn computer science, what higher education is trying to achieve, and the trade-offs every teacher has to weigh.

Theory and practice need each other

Computer science education is often described as a debate: should we teach theory (algorithms, operating systems, computer architecture) or practice (coding, tools, projects)? In my experience this is a false choice.

  • Without theory, students can follow a tutorial but struggle when a problem looks different from the example.
  • Without practice, students can recite definitions but cannot build or debug anything.
  • Learning is strongest when each is used to explain the other: a concept first, then an application, then a return to the concept with better understanding.

That is the idea behind my teaching philosophy, from concepts to application, and from learning to innovation.

What research on learning tells us

Education research consistently supports a few practices, and they are useful for any subject:

  • Active learning. Students who solve problems, discuss and experiment in class generally retain more than students who only listen to lectures. Lectures still have a place, especially for introducing a new idea.
  • Frequent, low-stakes feedback. Short quizzes, lab exercises and review questions help students find gaps early.
  • Clear learning outcomes. When students know what they should be able to do by the end of a course, they can organise their own effort.
  • Mentoring. A student who feels that a teacher knows their name and goals is more likely to ask questions.

No single method works for every class, subject or student, so a good teacher mixes them.

Outcome-based education in Indian institutions

Many Indian universities now design courses around outcome-based education (OBE). Each course states its course outcomes, these link to programme outcomes, and assessment is checked against them. Accreditation bodies such as NAAC and NBA use this kind of evidence in their reviews.

OBE has real strengths: it makes expectations transparent, it supports consistent assessment and it makes improvement measurable. It also has limits that thoughtful educators discuss openly: documentation can become heavy, and not every valuable quality, such as curiosity or creativity, is easy to measure. The goal is to use the framework well without letting the paperwork replace the teaching.

The National Education Policy 2020

India’s National Education Policy (NEP) 2020 encourages flexible, multidisciplinary learning, skill development, and a stronger link between education, research and employability. For computer science, this means students are expected to combine core knowledge with projects, internships and exposure to other fields.

Educators, institutions and students will naturally see the opportunities and the practical challenges of implementation differently, and that discussion is healthy. What most people agree on is the aim: graduates who can think, adapt and keep learning.

Teaching in the age of AI tools

Generative AI tools now answer many routine questions and write simple code. Rather than treat them only as a threat or only as a shortcut, I think the useful approach is to teach students to:

  1. understand a problem well enough to check an answer,
  2. use tools responsibly and acknowledge them, and
  3. build the fundamentals that no tool can replace: reasoning, debugging and ethics.

Assessment may need to change too, with more viva-style questions, in-class problem solving and project work that shows a student’s own understanding.

A practical classroom checklist

For teachers and students who want something concrete, here is what I try to do in a computer science course:

  • Start each topic with a real problem, then introduce the concept that solves it.
  • Include a hands-on lab or short exercise in the same week.
  • Share outcomes and assessment criteria at the beginning of the course.
  • Give feedback within days, not weeks.
  • Leave time for questions, and treat every question as useful.

Keywords at a glance

For readers searching on these topics: computer science education, higher education in India, active learning, outcome-based education (OBE), NEP 2020, NAAC and NBA accreditation, student mentoring, hands-on learning, and teaching with AI tools.

I would like to hear how others balance these ideas, whether you are a teacher, a student or someone in industry. You can write to me at aanchal.vij04@gmail.com, or read more about my teaching approach.

Aanchal Vij Assistant Professor, School of Computer Science and Engineering, IILM University, Greater Noida, India