This document is the first assignment of Unit 4: Programming in BTEC. It consists of 49 pages (14,400+ words) that have met P1, P2, P3, M1 and D1 which is required to get the highest possible grade (Distinction) in Assignment 1 (Learning Aim A). I have explained, analysed & evaluated effectively ho...
Table of Contents
Computational thinking skills.................................................................................................................3
Decomposition...................................................................................................................................3
Pattern recognition............................................................................................................................5
Generalisation and Abstraction.........................................................................................................5
Uses of Software Applications...............................................................................................................6
Software Examples (Table):...............................................................................................................8
Features & Characteristics of Programming Languages.........................................................................9
Uses and applications of high-level and low-level languages............................................................9
Why Use High Level Languages?........................................................................................................9
Low level Languages..........................................................................................................................9
Programming paradigms..................................................................................................................10
Programming Paradigms......................................................................................................................11
Procedural.......................................................................................................................................11
Object-oriented (00)........................................................................................................................11
Event-driven (ED).............................................................................................................................11
Machine...........................................................................................................................................11
Mark-up...........................................................................................................................................12
Scripting...........................................................................................................................................12
Comparing & Contrasting Programming Languages............................................................................13
C.......................................................................................................................................................13
C++...................................................................................................................................................13
C#.....................................................................................................................................................13
Java..................................................................................................................................................13
Objective C.......................................................................................................................................13
Microsoft Visual Basic .NET..............................................................................................................14
Hardware & Software......................................................................................................................14
Performance....................................................................................................................................14
Preferred Application Areas.............................................................................................................15
Time Management...........................................................................................................................16
Ease of Development.......................................................................................................................17
Development tools..........................................................................................................................19
1
,Saim Unit 4: Programming
Programming Constructs & Techniques & their Implementation in Different Languages...................20
Command Words.............................................................................................................................20
Identifiers.........................................................................................................................................21
Creating identifiers......................................................................................................................21
Naming conventions........................................................................................................................22
Local and Global variables...............................................................................................................22
Data types........................................................................................................................................23
Strongly typed and loosely typed languages....................................................................................24
Strongly Typed Language.............................................................................................................24
Loosely or Weakly Typed Language.............................................................................................24
Statements......................................................................................................................................25
Logical operations............................................................................................................................25
Programming Constructs & Techniques & their Implementation in Different Languages – Part 2......27
Library functions..............................................................................................................................28
Data structures................................................................................................................................29
String (or text)..................................................................................................................................29
Array (One-dimensional)..................................................................................................................31
Array (two–dimensional).................................................................................................................32
Programming Constructs & Techniques & their Implementation in Different Languages - Part 3.......34
Record (or structure).......................................................................................................................36
String handling.................................................................................................................................36
Programming Constructs & Techniques & their Implementation in Different Languages – Part 4......38
File Handling....................................................................................................................................38
Event handling.................................................................................................................................40
Documentation of code.......................................................................................................................42
Principles of logic.............................................................................................................................43
Mathematical logic..........................................................................................................................43
Quality of Software Applications.........................................................................................................45
Efficiency or Performance................................................................................................................45
Maintainability.................................................................................................................................46
Portability........................................................................................................................................46
Reliability.........................................................................................................................................47
Robustness......................................................................................................................................48
Usability...........................................................................................................................................48
Usability Testing...........................................................................................................................49
Usability for Disables...................................................................................................................49
2
,Saim Unit 4: Programming
Examine the computational thinking skills and principles of computer
programming.
Programming is not just a question of learning how to use the programming language that is
currently fashionable or in high demand. Programming is really about learning how to solve
problems by thinking in a logical fashion and understanding what a programming language
is, what it can do and how it is used.
Computational thinking skills
Computational thinking skills are using methods that a computer would use to solve complex
problems. Which is basically breaking down a problem to smaller problems and making it more
manageable to be able to apply logical solutions.
An image of mind map of what
computational think is from BBC website.
Computational thinking associate taking that complex problem and breaking it down into a
small series of problems to make sure that it can be solved more easily, more manageable
problems (decomposition). Each of these smaller problems can then be looked at
individually, considering how similar problems have been solved previously (pattern
recognition) and focusing only on the important details, while ignoring irrelevant
information (abstraction). Next, simple steps or rules to solve each of the smaller problems
can be designed (algorithms).
Decomposition
When we are solving computer programming problems, we need to make decisions about
what to do and what order to do them in. So, sometimes the problem is so big or complex
3
, Saim Unit 4: Programming
or hard to solve that we have no idea where should we start. This is where decomposition
comes in.
Decomposition means breaking down a complex problem into smaller tasks in order to
make the whole problem more approachable.
To use decomposition first you have to identify and describe the problem and processes
that you're trying to solve. Then you can start breaking down the problem into smaller more
manageable tasks, which allows you to describe them even in greater detail and create a set
of structured steps based on the priority.
So why would we use decomposition? Because:
- Makes it easier to focus on one thing rather than focusing on the whole problem and
not knowing where to start.
- By breaking down problems it allows you to examine everything in greater detail.
- The smaller the tasks are the easier it is to understand and solve them.
- It also makes the problems more manageable and it allows you to set priorities for
tasks.
We use decomposition in everyday tasks, and we don't even realise it. E.g., Going to any set
destination of yours, we use some sort of method to get there. We do not go straight path
to our destination (Unless you live very close to it then the problem is too small to break it
down even more). We break it down to smaller sets and methods that would help us to get
to our destination in less time and effort. Another example can be brushing our teeth.
To decompose the problem of how to brush our teeth, we would need to consider:
which toothbrush to use
how long to brush for
how hard to press on our teeth
what toothpaste to use
Comparing to just simply trying to solve the problem without breaking it down to
decomposition. It is far more difficult if the problem is not broken into smaller tasks,
because it might be too big and overwhelming to people to tackle such error straight away.
Also, people who don't use decomposition are more prone to mistakes. Since without
breaking down the task into smaller tasks they tend to miss some details.
I think decomposition is necessary for every big task or problem you are doing. This method
is really simple and efficient. It can reduce a lot of stress and wasted time on tasks. A lot of
people tend to ignore this method or just don't know about it which is really bad, and they
are just making themselves the task harder. By breaking down the task into smaller tasks
and slowly solving them it gives a feeling of actual progress and makes you want to keep
going. This type of effect it does to the person who uses decomposition is really beneficial,
because it makes them feel less stuck and wanting to quit the task.
4
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller Saim. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $12.27. You're not tied to anything after your purchase.