





















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A concise overview of computer generations, flowchart symbols, and pseudocode examples. It outlines the evolution of computer technology from vacuum tubes to microprocessors, details the ansi/iso standard flowchart symbols used in algorithm design, and illustrates the conversion of pseudocode into processing code. Useful for students learning the basics of computer science and programming, offering a foundational understanding of key concepts and their practical applications in software development. It serves as a quick reference guide for understanding the building blocks of programming and computer architecture, making it an essential resource for beginners in the field.
Typology: Study Guides, Projects, Research
1 / 29
This page cannot be seen from the preview
Don't miss anything!






















OVERVIEW ๏ Introduction to the core concepts of computing: Problems and problem-solving. ๏ The identification of problems and types of problems (routine problems and non-routine problems). ๏ Method of solving computing problems (introduction to algorithms and heuristics). ๏ Solvable and unsolvable problems. ๏ Solution techniques of solving problems (abstraction, analogy, brainstorming, trial and error, hypothesis ๏ Testing, reduction, literal thinking, means end analysis, method of focal object, morphological analysis, research, root cause analysis, proof, divide and conquer). ๏ General Problem-solving process. ๏ Solution formulation and design: flowchart, pseudocode, decision table, decision tree. Implementation, evaluation and refinement. ๏ Programming in C++, Python etc
History of Computing
๏ Mechanical Devices : Abacus, mechanical calculators (Pascaline, Leibniz wheel) ๏ Electromechanical Devices : IBM Mark I, relay-based machines ๏ Electronic Computers : ENIAC, UNIVAC ๏ Modern Digital Systems : Microprocessors, personal computers, smartphones
๏ Charles Babbage : Concept of the Analytical Engine ๏ Alan Turing : Turing machine, father of theoretical computer science ๏ John von Neumann : von Neumann architecture ๏ Bill Gates & Steve Jobs : Personal computing revolution
History of Computer Generations of computers
Hardware and Software ๏ Difference Between Hardware and Software ๏ Hardware : Physical components of a computer ๏ Software : is any set of instructions that tells the hardware what to do. It is what guides the hardware and tells it how to accomplish each task ๏ Types of Software ๏ System Software : Operating systems, utility programs ๏ Application Software : Word processors, spreadsheets, games ๏ Programming Languages : C, Java, Python
Computing Operations ๏ Computer is an electronic machine that performs the following four basic operations: โ ๏ Input ๏ Process ๏ Output ๏ Store
Computational Thinking ๏ Computing focuses on using computer science techniques and devices to solve real world problems. ๏ Computational Thinking : A problem- solving method that draws on concepts fundamental to computer science. It involves breaking down complex problems into smaller, manageable parts, recognizing patterns, abstracting essential details, designing algorithms, and analyzing the efficiency of solutions.
Tools for Problem Solving
Applications of Computing
๏ It is safe to say that computing application in all works of life.
Problem-Solving in Computing What is Problem-Solving? ๏ Definition : Problem-solving is the sequential process of analyzing information related to a given situation and generating appropriate response options. ๏ Problem-solving in computing involves using computational thinking, algorithms, and tools to analyze, design, and implement solutions to identified problems. Key Aspects of Problem-Solving ๏ Computational Thinking : Applying principles like decomposition, pattern recognition, and abstraction to break down problems and devise efficient solutions. ๏ Algorithm Design : Creating step-by-step procedures or algorithms to solve specific tasks or problems. ๏ Implementation : Translating algorithms into code using programming languages and leveraging appropriate tools and technologies. ๏ Evaluation and Optimization : Testing, refining, and optimizing solutions based on performance metrics and user feedback. 14
Systematic approach to solving problems
A problem scenario ๏ Consider a simple example of how the input/process/output works on a simple problem which requires calculating the average grade for all students in a class.
Understand the Problem ๏ In our example , we well understand that the input is a bunch of grades. But we need to understand the format of the grades. ๏ Each grade might be a number from 0 to 100 or it may be a letter grade from A+ to F. If it is a number, the grade might be a whole integer like 73 or it may be a real number like 73. 42. ๏ We need to understand the format of the grades in order to solve the problem. ๏ We also need to consider missing grades. What if we do not have the grade for every student (e.g., some were away during the test)? Do we want to be able to include that person in our average (i.e., they received 0 ) or ignore them when computing the average? ๏ We also need to understand what the output should be. Again, there is a formatting issue. Should we output a whole or real number or a letter grade? Maybe we want to display a pie chart with the average grade. It is our choice. ๏ Finally, we should understand the kind of processing that needs to be performed on the data. This leads to the next step 19
Formulate a model ๏ Now we need to understand the processing part of the problem. ๏ To achieve that we break down the problem into smaller problems that require some kind of simple mathematical computations to process the data. ๏ In our example , we are going to compute the average of the incoming grades. So, we need to know the model (or formula) for computing the average of a bunch of numbers. If there is no such โformulaโ, we need to develop one ๏ Assuming that the input data is a bunch of integers or real numbers x 1 ,x 2 ,โฆ,xn representing a grade percentage, we can use the following computational model: Average = (x 1 + x 2 + x 3 + โฆ + xn) / n where the result will be a number from 0 to 100.