Computer Generations, Flowcharts, and Pseudocode: A Beginner's Guide, Study Guides, Projects, Research of Computer Science

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

2024/2025

Available from 06/05/2025

abdur-rahman-salis
abdur-rahman-salis ๐Ÿ‡ณ๐Ÿ‡ฌ

13 documents

1 / 29

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CSC 102
LECTURE 1
Introduction to the core concepts of
computing: Problems and problem-solving.
PROF ARIBISALA & DR. ZUBAIR ADAM
LAGOS STATE UNIVERSITY, OJO LAGOS
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d

Partial preview of the text

Download Computer Generations, Flowcharts, and Pseudocode: A Beginner's Guide and more Study Guides, Projects, Research Computer Science in PDF only on Docsity!

CSC 102

LECTURE 1

Introduction to the core concepts of

computing: Problems and problem-solving.

PROF ARIBISALA & DR. ZUBAIR ADAM

LAGOS STATE UNIVERSITY, OJO LAGOS

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

๏‚š Evolution of Computers

๏‚š 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

๏‚š Key Milestones and Pioneers

๏‚š 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

S/N Generation Component Used

1 First Generation (1946-1954 ) Vacuum tubes

2 Second Generation (1955-1965) Transistors

3 Third Generation (1968-1975 ) Integrated Circuits (IC)

4 Fourth Generation ( 1976-1980) Very Large Scale Integrated Circuits (VLSI)

5 Fifth Generation (1980 โ€“ till today ) Ultra Scale Integrated Circuits (ULSI) Micro

Processor (SILICON CHIP)

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

๏‚š Programming Languages: Python, Java, C++

๏‚š Integrated Development Environments (IDEs): Visual Studio, PyCharm, Eclipse

๏‚š Version Control Systems: Git, GitHub, Bitbucket

๏‚š Debugging Tools: GDB, WinDbg

๏‚š Simulation Software: MATLAB, Simulink

๏‚š Data Analysis Tools: R, Pandas (Python), SQL

๏‚š Optimization Tools: Linear programming solvers (e.g., CPLEX, Gurobi)

๏‚š Visualization Tools: Tableau, Power BI, Matplotlib

Applications of Computing

  • Electronic health records, telemedicine, medical imaging

Healthcare

  • Algorithmic trading, fraud detection, financial modeling

Finance

  • E-learning platforms, educational software, virtual classrooms

Education

  • Video games, streaming services, digital media

Entertainment

  • Autonomous vehicles, traffic management, logistics

Transportation

  • Robotics, automation, supply chain management

Manufacturing

  • Social media, email, instant messaging

Communication

  • Data analysis, simulations, computational biology

Science and

Research

๏‚š 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

  1. Understand the Problem
  2. Formulate a Model
  3. Develop an Algorithm
  4. Implementation (Coding)
  5. Test (the Program)
  6. Evaluate the Solution Evaluate the Solution Testing Implementation Develop an Algorithm Formulate a Model Understand the Problem

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.

  1. Input: Get all the grades โ€ฆ perhaps by typing them in via the keyboard or by reading them from a USB flash drive or hard disk.
  2. Process: add them all up and compute the average grade.
  3. Output: Output the answer to either the monitor, to the printer, to the USB flash drive or hard disk โ€ฆ 17

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.