1.
Take time to understand the problem and explain it clearly using your own words in plain, simple English. This might be harder than it sounds, if so, that's good because it's forcing you to think about the problem properly - you'll need to do that before you can write any code. Bottom line is that you can't solve a problem unless you really, fully understand what that problem is really about and what it means -- i.e. explain your logic and your thinking. It might help to draw it out on paper so that you've got some kind of visualisation of exactly what you're trying to solve. You need to be precise in your use of language to describe the problem. Imagine how you would word if you were trying to explain to a very young child who knows nothing at all about the world. (you might realise that there are holes in your logic and your understanding, so you may end up needing to do a bit more thinking or check on Google on the things you thought you understood)
2.
Write down one or more worked examples using some simple inputs/data, and expected result/output and then describe the steps -- i.e. describe your scenario - such as "Given the user inputs 'X', then which steps will cause the program to output 'Y'?". It's a good idea to start with the simples/easiest case first, this will give you a place to start, if you can't solve the whole problem for every case immediately, try at least solving a really simple problem or a sub-set of the problem. This feeds into the next step
3.
Break the problem down and write code solutions for each problem, one-at-a-time. Every big and complicated problem is something you can always break down into smaller and simpler problems (e.g. "ask the user" or "print on the screen" or "add item to a list" etc). You might write multiple smaller, separate programs which only solve one thing or solve a simple case. For example, if the problem requires you to do some 'thing' many times, try figuring out how to do it once or twice first, and you can sort out the repetition later. Or maybe involving simpler inputs which don't need any special rules or logic, and no edge-cases or boundary conditions. Having a small program which only solves one small part of the problem is an important step forward. Once you've done that, look at next-smallest or next-easiest problem. The complete solutions usually doesn't happen instantly, you will often need to solve lots of small problems on their own and then bring those small problems together at the end.
1.
Take time to understand the problem and explain it clearly using your own words in plain, simple English. This might be harder than it sounds, if so, that's good because it's forcing you to think about the problem properly - you'll need to do that before you can write any code. Bottom line is that you can't solve a problem unless you really, fully understand what that problem is really about and what it means -- i.e. explain your logic and your thinking. It might help to draw it out on paper so that you've got some kind of visualisation of exactly what you're trying to solve. You need to be precise in your use of language to describe the problem. Imagine how you would word if you were trying to explain to a very young child who knows nothing at all about the world. (you might realise that there are holes in your logic and your understanding, so you may end up needing to do a bit more thinking or check on Google on the things you thought you understood)
2.
Write down one or more worked examples using some simple inputs/data, and expected result/output and then describe the steps -- i.e. describe your scenario - such as "Given the user inputs 'X', then which steps will cause the program to output 'Y'?". It's a good idea to start with the simples/easiest case first, this will give you a place to start, if you can't solve the whole problem for every case immediately, try at least solving a really simple problem or a sub-set of the problem. This feeds into the next step
3.
Break the problem down and write code solutions for each problem, one-at-a-time. Every big and complicated problem is something you can always break down into smaller and simpler problems (e.g. "ask the user" or "print on the screen" or "add item to a list" etc). You might write multiple smaller, separate programs which only solve one thing or solve a simple case. For example, if the problem requires you to do some 'thing' many times, try figuring out how to do it once or twice first, and you can sort out the repetition later. Or maybe involving simpler inputs which don't need any special rules or logic, and no edge-cases or boundary conditions. Having a small program which only solves one small part of the problem is an important step forward. Once you've done that, look at next-smallest or next-easiest problem. The complete solutions usually doesn't happen instantly, you will often need to solve lots of small problems on their own and then bring those small problems together at the end.
Last reply 2 days ago
Is MathsFM French Alevels good for a CS degree at top uni (OX, UCL, Durham etc)Last reply 3 days ago
OCR A-level Computer Science Paper 1 (H446/01) - 12th June 2023 [Exam Chat]Last reply 2 weeks ago
OCR A-level Computer Science Paper 2 (H446/02) - 19th June 2023 [Exam Chat]Last reply 3 weeks ago
AQA A-level Computer Science Paper 1 (7517 1A - 1E) - 12th June 2023 [Exam Chat]Last reply 1 month ago
Not receiving any response from University of Birmingham.Last reply 3 months ago
OCR GCSE Computer Science Paper 1 (J277/01) - 19th May 2023 [Exam Chat]Last reply 3 months ago
AQA GCSE Computer Science Paper 2 (8525/2) - 25th May 2023 [Exam Chat]Last reply 2 days ago
Is MathsFM French Alevels good for a CS degree at top uni (OX, UCL, Durham etc)Last reply 3 days ago
OCR A-level Computer Science Paper 1 (H446/01) - 12th June 2023 [Exam Chat]Last reply 2 weeks ago
OCR A-level Computer Science Paper 2 (H446/02) - 19th June 2023 [Exam Chat]Last reply 3 weeks ago
AQA A-level Computer Science Paper 1 (7517 1A - 1E) - 12th June 2023 [Exam Chat]Last reply 1 month ago
Not receiving any response from University of Birmingham.Last reply 3 months ago
OCR GCSE Computer Science Paper 1 (J277/01) - 19th May 2023 [Exam Chat]Last reply 3 months ago
AQA GCSE Computer Science Paper 2 (8525/2) - 25th May 2023 [Exam Chat]