You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 13, 2025. It is now read-only.
@@ -104,23 +104,56 @@ Here in this repository we will start programming with C. Let's write our first
104
104
105
105
<imgsrc="media_files/C%20syntax.jpeg">
106
106
107
-
## Computer Software
108
-
It can be broadly classified into two categories:
109
-
1. System Software: An operating system that manages the computer’s resources effectively, takes care of scheduling multiple jobs for execution, and manages the flow of data and instructions between the input/output units and the main memory. (ex: windows 7, windows 10, Linux, Mac. etc.)
110
-
* Language Translator
111
-
* Operating System
112
-
* Utilities
113
-
* Special Purpose Program
114
-
115
-
2. Application Software: Application software is written to enable the computer to solve a specific data processing task. (ex: Database management software, Spreadsheet software, multimedia software. Etc.)
116
-
* Pre-written software
117
-
* User-written application programs.
118
107
119
108
# chapter-02
120
109
## Conputational Thinking
121
-
To ex
122
-
# chapter-05
123
-
## Classification of Programming Languages
110
+
Computational thinking is a problem-solving approach that draws on concepts and techniques used in computer science and programming. It involves breaking down complex problems into smaller, more manageable parts and developing a logical and systematic approach to solving them.
111
+
112
+
At its core, computational thinking involves four key components:
113
+
114
+
1. Decomposition: Breaking down a complex problem or task into smaller, more manageable sub-problems or steps. This helps in understanding the problem's structure and identifying its key components.
115
+
116
+
2. Pattern recognition: Identifying common patterns, similarities, or regularities within a problem. This involves recognizing similarities between different instances of a problem and leveraging those patterns to develop general solutions.
117
+
118
+
3. Abstraction: Creating generalized models or representations of a problem or system, focusing on the essential details while ignoring unnecessary complexity. Abstraction helps in simplifying a problem and making it easier to solve.
119
+
120
+
4. Algorithmic thinking: Developing step-by-step instructions or algorithms to solve a problem. This involves designing a logical sequence of operations or actions that can be followed to achieve the desired outcome.
Computational thinking is not limited to computer science or programming; it can be applied to a wide range of disciplines and real-life situations. It helps in developing problem-solving skills, logical reasoning, and the ability to think critically and analytically. Computational thinking can be beneficial in fields such as mathematics, engineering, science, data analysis, and even everyday problem-solving tasks.
125
+
126
+
By applying computational thinking, individuals can approach complex problems more effectively, devise efficient solutions, and understand the underlying principles that govern those solutions. It promotes a systematic and structured approach to problem-solving, which can lead to improved decision-making and innovation in various domains.
127
+
128
+
# chapter-03
129
+
## Translators- Assembler, Compiler, Interpreter
130
+
Translators are software programs that convert high-level programming languages or human-readable code into machine-readable code or executable instructions that can be understood and executed by a computer. There are three types of translators: assemblers, compilers, and interpreters. Let's explore each of them:
- An assembler is a translator specifically designed for low-level programming languages, such as assembly language.
135
+
- It converts assembly language code, which is a mnemonic representation of machine instructions, into machine code directly executable by the computer's processor.
136
+
- Assemblers perform a one-to-one mapping between assembly instructions and machine instructions, usually with a one-to-one correspondence.
137
+
- The output of an assembler is typically an object file or executable file that can be directly loaded and executed by the computer.
138
+
139
+
2. Compiler:
140
+
- A compiler is a translator that converts high-level programming languages (e.g., C, C++, Java) into machine code.
141
+
- It analyzes the entire source code and translates it into an equivalent executable form, without the need for re-translation during subsequent executions.
142
+
- The compilation process consists of several stages, including lexical analysis, syntax analysis, semantic analysis, code generation, and optimization.
143
+
- The output of a compiler is usually an executable file or a binary that can be run directly on the target machine architecture.
144
+
145
+
3. Interpreter:
146
+
- An interpreter is a translator that translates and executes high-level programming languages one line or instruction at a time.
147
+
- It reads the source code, interprets it, and executes it line by line or statement by statement.
148
+
- Unlike compilers, interpreters do not produce a standalone executable; they directly execute the source code.
149
+
- Interpreters often perform additional tasks like runtime error checking and dynamic memory management.
150
+
- Interpreted languages, such as Python and JavaScript, use interpreters to execute their code.
151
+
152
+
The choice between using an assembler, compiler, or interpreter depends on the programming language, the target platform, and the desired trade-offs between execution speed, portability, and development flexibility. Assemblers are typically used for low-level programming and specific hardware optimizations, compilers are used for efficient code execution, and interpreters offer flexibility and ease of use at the cost of reduced performance.
153
+
154
+
# Chapter-04
155
+
156
+
## Programming Languages
124
157
125
158
Programming languages are basically classified into two main categories – Low- level language and High-level language. Every programming language belongs to one of these categories and sub-category.
Translators: Suppose two people are trying to communicate with each other. One knows Hindi and another one knows English. So how they will communicate. They can communicate if they have a translator who can convert Hindi to English and English to Hindi. A translator or programming language processor that converts a computer program from language to another. It takes a program written in source code to converts into machine code There are 3 types of translators-
158
-
1. Assembler: The assembler is used to translate the program written in assembly language into machine level language. The source program written in the assembly language is given as the input to the assembler. The output generated by assembler is the object code or machine code understandable by the computer.
159
-
FAP – Fortran Assembly Program
160
-
MAP – Macro Assembly Program
161
-
2. Compiler: The compiler will read the complete source program written in high level language, if the code is error free then it will convert into machine level language. The compiler specifies the errors at the end of compilation, if there are any errors in the source code. The errors must be removed before the compiler can successfully recompile the source code again.
162
-
COBOL – Common Business Oriented Language
163
-
3. Interpreter: Just like compiler, interpreter is used to convert high-level language to machine level language. It converts one at a time and reports errors detect once, while doing conversion. With this it is easier to detect errors than in a compiler. An interpreter is faster than a compiler as it immediately executes the code upon reading the code.
190
+
191
+
# Chapter-05
192
+
## Problem Solving
193
+
194
+
# Chapter-07
195
+
## Computer Software
196
+
197
+
It can be broadly classified into two categories:
198
+
1. System Software: An operating system that manages the computer’s resources effectively, takes care of scheduling multiple jobs for execution, and manages the flow of data and instructions between the input/output units and the main memory. (ex: windows 7, windows 10, Linux, Mac. etc.)
199
+
* Language Translator
200
+
* Operating System
201
+
* Utilities
202
+
* Special Purpose Program
203
+
204
+
2. Application Software: Application software is written to enable the computer to solve a specific data processing task. (ex: Database management software, Spreadsheet software, multimedia software. Etc.)
205
+
* Pre-written software
206
+
* User-written application programs.
207
+
208
+
209
+
210
+
164
211
Python
165
212
Structured Programming Concept: A better way of programming – a systematic way to organize programs called structured programming.
166
213
Algorithms: According to the computer scientist Niklaus Wirth stated that- PROGRAM = ALGORITHMS + DATA
0 commit comments