Ict Reviewer (Lessons 1-5) (1)
Ict Reviewer (Lessons 1-5) (1)
Pattern recognition in computational thinking uses the identification of similarities within a particular data set
or sequence to simplify understanding and resolution of a problem or goal.
Abstraction - is process occurs through filtering out irrelevant information and identifying what’s most
important.
- It is the process of describing things using only important details for the task at hand.
Algorithm is a detailed step-by-step set of instructions aimed at solving a problem.
LESSON 2: ALGORITHM
(FLOWCHART AND PSEUDOCODE) It is a method of describing
computer algorithms using a
combination of natural
WHAT IS A FLOWCHART
language and programming
It is a picture (graphical representation) of the problem solving process. language.
A flowchart gives a step-by-step procedure for solution of a problem.
Elements of a flowchart:
Various geometrical shaped boxes represent the steps of the solution.
The boxes are connected by directional arrows to show the flow of the solution.
Uses of a flowchart:
To specify the method of solving a problem.
To plan the sequence of a computer program.
Communicate ideas, solutions.
COMMON FLOWCHART SYMBOLS
Terminator: An oval flow chart shape indicating the start or end of the process.
Process: A rectangular flow chart shape indicating a normal process flow step (computation or
manipulation of data).
Decision: A diamond flow chart shape indication a branch in the process flow.
Connector: A small, labeled, circular flow chart shape used to indicate a jump in the process flow.
DRAWING A FLOWCHART
Identify input and output.
Apply reasoning skills to solve the problem.
Draw the flowchart using the appropriate symbols and arrows to show the sequence of steps in
solving the problem.
LESSON 3: VARIABLES
Variables are the names you give to computer memory locations which are used to store values in a
computer program.
Variables are containers for storing data values.
Simple Steps To Store and Use Values In Program:
• Create variables with appropriate names.
• Store your values in those variables.
Retrieve and use the stored values from the variables
Why C++ requires variables need to be typed?
- This informs the compiler the size to reserve in memory for the variable and how to interpret the value.
In C++, there are different types of variables (defined with different keywords),
for example:
• int - stores integers (whole numbers), without decimals, such as 123 or -123
• double - A data type that allows up to 15 points after a decimal.
• float –A data type that typically allows up to seven points after a decimal.
• char - stores single characters, such as 'a' or 'B'. Char values are surrounded by single quotes
• string - stores text, such as "Hello World". String values are surrounded by double quotes
• bool - stores values with two states: true or false
Data Types - data type specifies the size and type of information the variable will store:
LESSON 4: PROGRAMMING SOFTWARES
Programming software is a software which helps the programmer in developing other
software.
Software Development Process:
Step 1: Planning – includes Requirement Analysis. Customers typically have an abstract idea of
what they want as an end result.
Step 2: Implementing - is the part of the process where software engineers actually program the
code for the project.
Step 3: Testing - is an integral and important phase of the software development process. This part
of the process ensures that defects are recognized as soon as possible. Software testing can be
stated as the process of validating and verifying that a software program/application/product:
Step 4: Deployment and Maintenance- Deployment starts after the code is appropriately tested,
approved for release, and sold or otherwise distributed into a production environment. This may
involve installation, customization, testing, and possibly an extended period of evaluation.
Maintaining and enhancing software to cope with newly discovered faults or requirements can take
substantial time and effort, as missed requirements may force a redesign of the software.
Visual Studio Code - It is an open-source code editor developed by Microsoft for Windows, Linux
and Mac OS. Visual Studio Code is based on an Electron framework. According to a survey done in
2018 by Stack Overflow, it was ranked the most popular developer environment tool among others.
Eclipse
It is one of the most popular, powerful and useful IDEs used by developers for C/C++ programming.
It is an open-source software which is simple and easy to use. Originally, it was used for Java
Programming but now it is used for various languages. Eclipse can run Windows, Linux and Mac
OS.
Netbeans
It is one of the most used IDEs and can run on Windows, Linux, Mac OS X, and Solaris. It is a free
and open-source IDE that is written in Java. This IDE consists of an interface that comes with a
drag-and-drop feature and a list of convenient project templates. You can use NetBeans to create
C/C++ applications with dynamic and static libraries.
Sublime Text
It is a cross-platform source code editor which supports several languages and markup languages.
Sublime Text has a Python application programming interface and has a slick user interface along with
incredible features and amazing performance. Programmers can also add additional functions with
numerous plugins that are community-built.
ATOM
It is one of the highly configurable text editors which is free for personal and commercial
developments. It was designed and developed by GitHub and has a very large community. A multitude
of plugins are available for this editor which extends its features and makes it more customizable. It also
supports OS X, Windows and Linux, and has a very simple interface to work on.
Code::Blocks
It is a free, open-source IDE that was developed in C++ using wxWidgets as a GUI toolkit. Code::Blocks
is an extensible and highly customizable IDE that performs on all platforms including Linux, Mac and
Windows. Any function can be added to this IDE by installing or coding a plugin. For e.g., functions of
compiling and debugging are available because of plugins. Code::Blocks support various pre-built
plugins as well as custom plugins. Programmers can easily tweak the IDE accordingly and can also
easily navigate through the tab interface. Initially, it was created for C++ but now you can also run C
programs.
Code Lite
Another good IDE for C or C++ programming used by the myriad of programmers. It is an open-source
software that can run on all major platforms including Windows, Linux and OS X. It provides great
support for compilers and also allows users to know more about the errors by just clicking on it.
Code Warrior
It is a complete IDE known for providing a highly visual and automated framework for fast development
of an application. CodeWarrior was published by NXP Semiconductors for editing, compiling and
debugging software. This IDE can run on Windows and Linux OS and can simplify the most complex
activities making developer’s work simple and easy.
Dev-C++
- It is a full-featured IDE for C or C++ languages. For compilation, it uses MinGW port of GNU Compiler
Collection (GCC) or any other GCC compilers. It is supported on Windows OS for the Software
Development.
MinGW
is Minimalist GNU for Windows which provides Graphical User Interface based Integrated Development
Environment for MS Windows applications. It also has compilers for C, C++, Fortran and ADA. It doesn’t
depend on any 3rd parties DLL but requires DLL files provided by Microsoft itself.
INTRODUCTION TO C++ PROGRAMMING
What is C++?
C++ gives programmers a high level of control over system resources and memory.
The language was updated 4 major times in 2011, 2014, 2017, and 2020 to C++11, C++14, C++17,
C++20.
AREAS OF PROGRAMMING
Web Programming
refers to the writing, markup and coding involved in Web development, which includes Web content,
Web client and server
Game Programming
a subset of game development, is the software development of video games
Parallel Programming
it is the use of multiple processing elements simultaneously for solving any problem. Problems are
broken down into instructions and are solved concurrently as each resource which has been applied
to work is working at the same time.
Example: weather simulations, automated stock trading
Robotics Programming
set of coded commands or instructions that tell a mechanical device and electronic system,
known together as a robot, what tasks to perform. Robot software is used to perform
autonomous tasks. Many software systems and frameworks have been proposed to make
programming robots easier.
BASIC ELEMENTS OF PROGRAMMING
Initializing Variables
The term initializing means to assign some value to the variable. Basically, the actual use of
variables comes under the initialization part. In C# each data type has some default value which is
used when there is no explicitly set value for a given variable. Initialization can be done separately
or may be with declaration.