Skip to student guide

YOUR STUDY COMPANION

How to use CodeBhavya

Understand the idea. Trace what happens. Write it yourself.

Use this guide to choose a starting point and turn a lesson into something you can explain and solve. Work through one topic at a time; you do not need to finish every course before you begin practising.

01

START WITH YOUR GOAL

Choose one path

I am new to programming

Start with how a program works, then learn variables, input, decisions and loops. Choose one language first and write small programs before moving to larger topics.

Begin C from zero

Following a different language in class? Start with Python foundations or Java’s first program.

I have a lab experiment to complete

Open the correct lab and match the experiment title to your syllabus. Read the aim and expected input before opening the solution. Revisit the linked background if the program uses an unfamiliar concept.

Choose your lab syllabus

I understand the basics and need practice

Choose a topic you have studied, solve a related program, and explain your result. Move to data structures when you can use arrays, functions and pointers with confidence.

Explore programming examplesExplore data structures
02

REPEAT FOR EACH TOPIC

A simple study routine

  1. Read for meaning

    Identify the problem, the input and the required output. Read the explanation before memorising syntax. If a term is unfamiliar, review the “Before you start” links below the lesson.

  2. Predict before you run

    Choose a small input and write down the expected output. For a loop, track the counter and one changing variable. A prediction gives you something concrete to compare with the result.

  3. Trace one step at a time

    Where a tracer or visualisation is available, move through a few steps and explain each change. Pause when a condition changes the path. If there is no tracer, make a small table on paper with the same variable names.

  4. Write without looking

    Close or move away from the solution and build your own version. If you get stuck, reread only the part that explains the missing idea, then try again.

  5. Test and explain

    Try a normal input and a boundary case. Compare the result with your prediction. Explain why the algorithm works, what can go wrong, and how its time and space use grow.

  6. Continue with a purpose

    Use “Practise this” to apply the concept or “Learn next” to continue. Before leaving, write one sentence about what you learned and one question you still have.

03

UNDERSTAND THE EXPERIMENT

Use lab solutions as a learning aid

Before writing the code

  • Read the aim and identify the operations you must implement.
  • Follow the algorithm and flowchart. Check what each decision means and where the loop returns.
  • Walk through one sample input by hand.
  • List any input limits or assumptions stated in the solution.

Before calling it finished

  • Run your own implementation and compare the sample output.
  • Test relevant boundaries: empty input where permitted, one element, duplicates, a missing value or an invalid operation.
  • Read the common mistakes and the explanation of complexity.
  • Answer the viva questions aloud before revealing the answers.
04

MAKE THE SITE WORK FOR YOU

Use the right tool for the task

FeatureHow to use it
SearchEnter a topic such as “binary search.” Narrow the results by course or language and content type. Check the result label so you open the explanation, lab or program you intended.
Reading optionsOn supported lesson and lab pages, open “Reading options” near the top. Enlarge text or wrap long static code lines. Reset restores the original display. These preferences are remembered in the current browser.
Flowcharts and tracersA flowchart explains the control flow; a tracer shows how one input moves through the code. Compare both with the actual conditions and variable updates. Availability varies by page.
Online compilerSelect the matching language, enter a complete program and provide input if it reads from standard input. For Java in this compiler, use public class Program. Read the first diagnostic before changing unrelated code.
Learning-path linksUse “Before you start” for helpful background, “Learn next” for a connected topic and “Practise this” for an existing task. These are suggestions; they do not lock lessons.
Progress and account featuresPublic lessons can be read without creating an account. Some quiz, placement and progress features may ask you to sign in. Browser-based preferences and saved content can be lost when browser data is cleared.
05

TURN A MISTAKE INTO THE NEXT STEP

When you get stuck

The program runs, but the answer is wrong

Reduce the input to the smallest case that still fails. Compare the expected and actual result, then trace the first variable that becomes incorrect. Recheck loop boundaries, arithmetic types and the conditions that choose a branch.

I can follow the solution but cannot write it myself

Write the steps in plain language first. Implement just one operation, test it, and add the next. Afterwards, practise the same idea with different input so you are recalling the method rather than copying the sample.

A link, explanation or sample output seems incorrect

Use “Report an issue” below the learning content. The email draft includes the page address. Describe the section, input or steps, expected result and actual result. Send the email yourself after checking the draft. If an email app does not open, use the Contact page.

How do I know I am ready for the next topic?

Try explaining the concept without reading the page. Solve a small variation, test a boundary case and answer a related viva question. If one part is still unclear, revisit that part before moving on.

Start with one useful step today

Choose a topic, predict one result and write one small program. Build your confidence through work you can explain.