0% found this document useful (0 votes)
36 views9 pages

Ict Reviewer (Lessons 1-5) (1)

The document covers foundational concepts in computational thinking, algorithms, variables, and programming software, emphasizing their importance in problem-solving and software development. It details elements of computational thinking, flowcharting, variable types, and the software development process, along with various Integrated Development Environments (IDEs) for programming. Additionally, it introduces C++ programming, its applications, and the basic elements of programming, including input, output, and arithmetic operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views9 pages

Ict Reviewer (Lessons 1-5) (1)

The document covers foundational concepts in computational thinking, algorithms, variables, and programming software, emphasizing their importance in problem-solving and software development. It details elements of computational thinking, flowcharting, variable types, and the software development process, along with various Integrated Development Environments (IDEs) for programming. Additionally, it introduces C++ programming, its applications, and the basic elements of programming, including input, output, and arithmetic operations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

ICT REVIEWER

BY ATHENA TAGUINOD & KENNETH VOLOSO

LESSON 1: COMPUTATIONAL THINKING


What is computational thinking?
Computational thinking allows us to take a complex problem, understand what the problem is and develop
possible solutions.
We can then present these solutions in a way that a computer, a human, or both, can understand.

ELEMENTS OF COMPUTATIONAL THINKING


(cornerstones)
1. Decomposition - Breaking down a complex problem or system into smaller, more manageable parts.
2. Pattern recognition - Looking for similarities among and within problems
3. Abstraction - Focusing on the important information only, ignoring irrelevant detail
4. Algorithm - developing a step-by-step solution to the problem, or the rules to follow to solve the problem

WHAT IS THE IMPORTANCE OF COMPUTATIONAL THINKING?


To identify the problems and solve them.

EXAMPLES OF THE ELEMENTS IN COMPUTATIONAL THINKING


Decomposition - involves breaking down a complex problem or system into smaller parts that are more
manageable and easier to understand.
Example: How to prepare a breakfast?

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.

Data: A parallelogram that indicates data input or output (I/O) operation.

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.

Integrated Development Environments


IDE stands for Integrated Development Environment. It is a software application that combines all
of the features and tools needed by a software developer.
Text editor - program coding are done
Compiler - a program that converts instructions into a machine-code or lower-level form so that
they can be read and executed by a computer.
Linker -is a computer program that takes one or more object files generated by a compiler and
combines them into one, executable program
Debugger- is a computer program used by programmers to test and debug a target program
Ability to launch and run applications from within IDE environment

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++ (or “C-plus-plus”) is a general-purpose programming and coding language.


C++ is a cross-platform language that can be used to create high-performance applications.

C++ was developed by Bjarne Stroustrup, as an extension to the C language.

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.

C++ Getting Started:

To start using C++, you need two things:


A text editor , to write C++ code
A compiler, like GCC, to translate the C++ code into a language that the computer will understand
PROGRAMMING
Programming is a way to “instruct the computer to perform various tasks”.
Programming is the art and science of translating a set of ideas into a program - a list of instructions
a computer can follow.
Programming is the process of designing and building an executable computer program to
accomplish a specific computing result.
Programming is the process of taking an algorithm and encoding it into a notation, a programming
language so that it can be executed by a computer.

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

Cloud Computing Programming


the provision of computing services, such as servers, storage, databases, networks, software,
analysis, intelligence and more, over the Internet to deliver faster innovation, flexible resources, and
economies of scale. Dec 18, 2018

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

Desktop App Programming


any software that can be installed on a single computer (laptop or a desktop) and used to perform
specific tasks. Some desktop applications can also be used by multiple users in a networked
environment.

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

1. Input - is the user giving something to the program


2. Output- output is the program giving something to the user.
3. Arithmetic - is a function which can perform one of the following tasks: adding, subtracting,
multiplying and dividing. Operator - a programming device that performs a function on one or more
inputs, for example arithmetic operators (+,-,/,*)
4. Conditional, and looping- structures are a way for computer programs to repeat one or more
various steps depending on conditions set either by the programmer initially or real-time by the
actual program.

LESSON 5: DECLARING AND INITIALIZING VARIABLES


A declaration is a statement describing an identifier, such as the name of a variable or a function.
Declarations are important because they inform the compiler or interpreter what the identifying word
means, and how the identified thing should be used.

(In C++, all the variables must be declared before use.)


Defining or Declaring a Variable
There are some rules that must be followed while declaring variables :
specify its type (such as int)
specify its name (such as age)
can provide initial value(such as 17)

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.

Two Ways for Initialization:


1. Compile time initialization
2. Run time initialization

Compile Time Initialization


It means to provide the value to the variable during the compilation of the program. If the
programmer didn’t provide any value then the compiler will provide some default value to the
variables in some cases. Generally, this type of initialization helpful when the programmer wants to
provide some default value.

Run Time Initialization


In this, the user has to enter the value and that value is copied to the required variable. In this type
of initialization, there is one more possibility in which value is assigned to variable after completion
of a function call.

You might also like