This document provides an overview of computers and programming languages. It discusses the evolution of computers from mainframes to personal computers. It also examines the hardware and software components of a computer system, including the CPU, memory, storage, inputs, outputs, and operating system software. The document then explores the evolution of programming languages from machine language to assembly language to high-level languages. It describes how a high-level language program is compiled and executed. Finally, it discusses problem-solving techniques, structured programming, and object-oriented programming.
This document provides an introduction to compilers, including:
- What compilers are and their role in translating programs to machine code
- The main phases of compilation: lexical analysis, syntax analysis, semantic analysis, code generation, and optimization
- Key concepts like tokens, parsing, symbol tables, and intermediate representations
- Related software tools like preprocessors, assemblers, loaders, and linkers
The document provides an overview of programming concepts including computer systems, programming languages, algorithms, flowcharts, and the C programming language. It discusses the components of a computer system including hardware and software. It describes different types of programming languages from machine languages to high-level languages. It explains algorithms, properties of algorithms, and provides examples. It also discusses flowcharts for representing algorithms graphically and the steps to create, compile, and execute a C program.
This document provides an overview of computer programming and the C programming language. It begins by outlining the objectives and fundamentals of computer programming, including the classical model of computing machines, programming languages, compilers, and operating systems. It then describes the von Neumann architecture, low-level machine programming, higher-level languages like assembly and C, and how programs are compiled and executed. The rest of the document demonstrates basic C programming concepts like variables, input/output, and comments through examples.
This document provides an overview of programming in C++. It discusses computer hardware components like the CPU and memory and how programs are run. It also covers software components like operating systems and development tools. The document explains the programming process from defining a problem to validating a solution. Key concepts in C++ like variables, data types, and operators are introduced. Input, processing, and output are described as common steps in many programs.
The document discusses computer programming in C. It provides:
1) An overview of computer architecture including the input unit, central processing unit, output unit, primary memory, secondary memory, and control unit.
2) Details on different units of memory including bits, bytes, kilobytes, megabytes, gigabytes, and terabytes.
3) An explanation of key concepts in C programming including data types, variables, operators, control structures, functions, and pointers.
4) The importance of C including its portability, ability to do low-level programming, use in operating systems, and support for memory management.
The document provides an overview of a compilers design and construction course. It discusses the various phases of compilation including lexical analysis, syntax analysis, semantic analysis, code generation, and optimization. The course aims to introduce the principles and techniques used in compiler construction and the issues that arise in developing a compiler. The course will cover topics like lexical analysis, syntax analysis, semantic analysis, intermediate code generation, control flow, code optimization and code generation over its 12 weeks.
C is a general-purpose programming language developed in the early 1970s. It was designed to be compiled using a minimal compiler for portability. C is still widely used today due to its speed, flexibility and ability to access low-level hardware which makes it suitable for system programming tasks like operating systems, language compilers, databases etc. The document provides an overview of the history and evolution of C, why it is still useful, basic C programming concepts like variables, data types, expressions and operators.
C is a general-purpose programming language developed in the early 1970s. It produces very fast executable code and is widely used for operating systems, language compilers, utilities and other system software. The document provides an overview of the history and development of C, why it is still useful today, basic C programming concepts like tokens, constants, variables and data types, and the overall structure and execution of a C program.
C is a general-purpose programming language developed in the early 1970s. It has been widely used for operating systems, language compilers, text editors and other system-level programs due to its high performance and portability. The document provides an overview of C programming basics including the history of C, why C is still useful today, C character set, tokens, constants, variables, data types, expressions and operators. It also describes the basic structure of a C program and the execution process.
C is a general-purpose programming language developed in the 1970s. It produces very fast executable code and is widely used for operating systems, compilers, and many other applications. Some key reasons for its popularity include its portability, ability to access hardware directly, and large existing code base. The document provides an overview of C's history, why it is still useful today, basic C program structure, and other programming concepts like tokens, keywords, identifiers, and constants.
This document provides an introduction to programming concepts such as algorithms, pseudocode, and flowcharts. It defines computer programming as the process of writing code to instruct a computer, and explains that programming languages allow users to communicate instructions to computers. The document outlines different types of computer languages including low-level languages like machine language and assembly language, and high-level languages like procedural, functional, and object-oriented languages. It also discusses specialized languages, translator programs, and program logic design tools for solving problems algorithmically through pseudocode and flowcharts.
Embedded c c++ programming fundamentals masterHossam Hassan
This document provides an overview of embedded C/C++ programming fundamentals. It discusses what embedded systems and microcontrollers are. It also discusses typical development tools and processes like compilers, linkers, and debugging. Several programming languages are discussed at different levels like machine code, assembly language, and high-level languages like C/C++. C/C++ are recommended for embedded programming due to efficiency and ability to access I/O while assembly is used for speed-critical code. The document also outlines basic C/C++ programming concepts like program structure with directives, declarations, and statements.
The document provides information about a C programming module including:
- It is a 15 credit module comprising 50 hours of lectures and 50 hours of self-study.
- Assessment includes a CAT worth 60 marks and a final exam worth 40 marks.
- The module aims to teach students how to write and debug C programs, structured program design, and use C language constructs to solve problems in various areas.
أساسيات البرمجة - شرح بإستخدام لغة السى بلس بلس - C++
https://www.youtube.com/watch?v=Fr6wJ5_Hok0&list=PL1DUmTEdeA6IUD9Gt5rZlQfbZyAWXd-oD
Programming requirements for beginning in software engineering.pptxTeddyDaka
This document provides an introduction to algorithms and programming. It begins by defining what a computer is and its basic components. It then discusses why computers are used and the need for programming. The document outlines the different types of programming languages and defines key terms like data, information, knowledge, programs, and programmers. It describes the basic steps involved in programming like requirements, analysis, design, testing, and documentation. Finally, it introduces algorithms and the common tools used to represent them, flowcharts and pseudocode, describing the basic symbols and syntax used for each.
This document summarizes the first lecture of the CSE 1102 Fundamentals of Programming course at Adama Science & Technology University. It introduces the problem solving life cycle, basics of programming languages, and a case study on heat transfer and a number guessing game. The problem solving life cycle involves requirement analysis, development, documentation, and maintenance phases. Development includes analyzing the problem, designing an algorithm, coding, and testing the solution. Programming languages can be low-level like machine code or high-level like C++. C++ code is compiled into machine code. The heat transfer case study demonstrates applying a formula to calculate heat transfer through a material. The number guessing game example walks through developing an algorithm to randomly generate a number
X-CS-8.0 Programming in C Language 2022-2023.pdfAlefya1
The document provides an overview of programming languages and the C programming environment. It discusses the basics of a computer program and how programming languages can be classified as low-level or high-level. It also describes the key components of a C programming environment, including integrated development environments, text editors, compilers, linkers, loaders, and debuggers. Comments in C are explained as well as commonly used header files like stdio.h, conio.h, and math.h.
C++ programming program design including data structures Ahmad Idrees
The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and ... Note: This page does not list esoteric programming languages. .... Computer programming portal ...
This chapter introduces key concepts about computer systems and programming. It discusses hardware and software components, and how they work together to input, process, and output data. The chapter outlines the program development cycle of understanding a problem, planning logic, coding, testing, and maintaining a program. It also describes using pseudocode, flowcharts and loops to represent program logic, and sentinel values to end repetitive processes. Different programming environments and interfaces are introduced. Finally, the evolution of programming models from procedural to object-oriented paradigms is summarized.
The document discusses computer programming in C. It provides:
1) An overview of computer architecture including the input unit, central processing unit, output unit, primary memory, secondary memory, and control unit.
2) Details on different units of memory including bits, bytes, kilobytes, megabytes, gigabytes, and terabytes.
3) An explanation of key concepts in C programming including data types, variables, operators, control structures, functions, and pointers.
4) The importance of C including its portability, ability to do low-level programming, use in operating systems, and support for memory management.
The document provides an overview of a compilers design and construction course. It discusses the various phases of compilation including lexical analysis, syntax analysis, semantic analysis, code generation, and optimization. The course aims to introduce the principles and techniques used in compiler construction and the issues that arise in developing a compiler. The course will cover topics like lexical analysis, syntax analysis, semantic analysis, intermediate code generation, control flow, code optimization and code generation over its 12 weeks.
C is a general-purpose programming language developed in the early 1970s. It was designed to be compiled using a minimal compiler for portability. C is still widely used today due to its speed, flexibility and ability to access low-level hardware which makes it suitable for system programming tasks like operating systems, language compilers, databases etc. The document provides an overview of the history and evolution of C, why it is still useful, basic C programming concepts like variables, data types, expressions and operators.
C is a general-purpose programming language developed in the early 1970s. It produces very fast executable code and is widely used for operating systems, language compilers, utilities and other system software. The document provides an overview of the history and development of C, why it is still useful today, basic C programming concepts like tokens, constants, variables and data types, and the overall structure and execution of a C program.
C is a general-purpose programming language developed in the early 1970s. It has been widely used for operating systems, language compilers, text editors and other system-level programs due to its high performance and portability. The document provides an overview of C programming basics including the history of C, why C is still useful today, C character set, tokens, constants, variables, data types, expressions and operators. It also describes the basic structure of a C program and the execution process.
C is a general-purpose programming language developed in the 1970s. It produces very fast executable code and is widely used for operating systems, compilers, and many other applications. Some key reasons for its popularity include its portability, ability to access hardware directly, and large existing code base. The document provides an overview of C's history, why it is still useful today, basic C program structure, and other programming concepts like tokens, keywords, identifiers, and constants.
This document provides an introduction to programming concepts such as algorithms, pseudocode, and flowcharts. It defines computer programming as the process of writing code to instruct a computer, and explains that programming languages allow users to communicate instructions to computers. The document outlines different types of computer languages including low-level languages like machine language and assembly language, and high-level languages like procedural, functional, and object-oriented languages. It also discusses specialized languages, translator programs, and program logic design tools for solving problems algorithmically through pseudocode and flowcharts.
Embedded c c++ programming fundamentals masterHossam Hassan
This document provides an overview of embedded C/C++ programming fundamentals. It discusses what embedded systems and microcontrollers are. It also discusses typical development tools and processes like compilers, linkers, and debugging. Several programming languages are discussed at different levels like machine code, assembly language, and high-level languages like C/C++. C/C++ are recommended for embedded programming due to efficiency and ability to access I/O while assembly is used for speed-critical code. The document also outlines basic C/C++ programming concepts like program structure with directives, declarations, and statements.
The document provides information about a C programming module including:
- It is a 15 credit module comprising 50 hours of lectures and 50 hours of self-study.
- Assessment includes a CAT worth 60 marks and a final exam worth 40 marks.
- The module aims to teach students how to write and debug C programs, structured program design, and use C language constructs to solve problems in various areas.
أساسيات البرمجة - شرح بإستخدام لغة السى بلس بلس - C++
https://www.youtube.com/watch?v=Fr6wJ5_Hok0&list=PL1DUmTEdeA6IUD9Gt5rZlQfbZyAWXd-oD
Programming requirements for beginning in software engineering.pptxTeddyDaka
This document provides an introduction to algorithms and programming. It begins by defining what a computer is and its basic components. It then discusses why computers are used and the need for programming. The document outlines the different types of programming languages and defines key terms like data, information, knowledge, programs, and programmers. It describes the basic steps involved in programming like requirements, analysis, design, testing, and documentation. Finally, it introduces algorithms and the common tools used to represent them, flowcharts and pseudocode, describing the basic symbols and syntax used for each.
This document summarizes the first lecture of the CSE 1102 Fundamentals of Programming course at Adama Science & Technology University. It introduces the problem solving life cycle, basics of programming languages, and a case study on heat transfer and a number guessing game. The problem solving life cycle involves requirement analysis, development, documentation, and maintenance phases. Development includes analyzing the problem, designing an algorithm, coding, and testing the solution. Programming languages can be low-level like machine code or high-level like C++. C++ code is compiled into machine code. The heat transfer case study demonstrates applying a formula to calculate heat transfer through a material. The number guessing game example walks through developing an algorithm to randomly generate a number
X-CS-8.0 Programming in C Language 2022-2023.pdfAlefya1
The document provides an overview of programming languages and the C programming environment. It discusses the basics of a computer program and how programming languages can be classified as low-level or high-level. It also describes the key components of a C programming environment, including integrated development environments, text editors, compilers, linkers, loaders, and debuggers. Comments in C are explained as well as commonly used header files like stdio.h, conio.h, and math.h.
C++ programming program design including data structures Ahmad Idrees
The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and ... Note: This page does not list esoteric programming languages. .... Computer programming portal ...
This chapter introduces key concepts about computer systems and programming. It discusses hardware and software components, and how they work together to input, process, and output data. The chapter outlines the program development cycle of understanding a problem, planning logic, coding, testing, and maintaining a program. It also describes using pseudocode, flowcharts and loops to represent program logic, and sentinel values to end repetitive processes. Different programming environments and interfaces are introduced. Finally, the evolution of programming models from procedural to object-oriented paradigms is summarized.
A measles outbreak originating in West Texas has been linked to confirmed cases in New Mexico, with additional cases reported in Oklahoma and Kansas. The current case count is 795 from Texas, New Mexico, Oklahoma, and Kansas. 95 individuals have required hospitalization, and 3 deaths, 2 children in Texas and one adult in New Mexico. These fatalities mark the first measles-related deaths in the United States since 2015 and the first pediatric measles death since 2003.
The YSPH Virtual Medical Operations Center Briefs (VMOC) were created as a service-learning project by faculty and graduate students at the Yale School of Public Health in response to the 2010 Haiti Earthquake. Each year, the VMOC Briefs are produced by students enrolled in Environmental Health Science Course 581 - Public Health Emergencies: Disaster Planning and Response. These briefs compile diverse information sources – including status reports, maps, news articles, and web content– into a single, easily digestible document that can be widely shared and used interactively. Key features of this report include:
- Comprehensive Overview: Provides situation updates, maps, relevant news, and web resources.
- Accessibility: Designed for easy reading, wide distribution, and interactive use.
- Collaboration: The “unlocked" format enables other responders to share, copy, and adapt seamlessly. The students learn by doing, quickly discovering how and where to find critical information and presenting it in an easily understood manner.
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsesushreesangita003
what is pulse ?
Purpose
physiology and Regulation of pulse
Characteristics of pulse
factors affecting pulse
Sites of pulse
Alteration of pulse
for BSC Nursing 1st semester
for Gnm Nursing 1st year
Students .
vitalsign
How to Set warnings for invoicing specific customers in odooCeline George
Odoo 16 offers a powerful platform for managing sales documents and invoicing efficiently. One of its standout features is the ability to set warnings and block messages for specific customers during the invoicing process.
Odoo Inventory Rules and Routes v17 - Odoo SlidesCeline George
Odoo's inventory management system is highly flexible and powerful, allowing businesses to efficiently manage their stock operations through the use of Rules and Routes.
Real GitHub Copilot Exam Dumps for SuccessMark Soia
Download updated GitHub Copilot exam dumps to boost your certification success. Get real exam questions and verified answers for guaranteed performance
Geography Sem II Unit 1C Correlation of Geography with other school subjectsProfDrShaikhImran
The correlation of school subjects refers to the interconnectedness and mutual reinforcement between different academic disciplines. This concept highlights how knowledge and skills in one subject can support, enhance, or overlap with learning in another. Recognizing these correlations helps in creating a more holistic and meaningful educational experience.
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...Celine George
Analytic accounts are used to track and manage financial transactions related to specific projects, departments, or business units. They provide detailed insights into costs and revenues at a granular level, independent of the main accounting system. This helps to better understand profitability, performance, and resource allocation, making it easier to make informed financial decisions and strategic planning.
This chapter provides an in-depth overview of the viscosity of macromolecules, an essential concept in biophysics and medical sciences, especially in understanding fluid behavior like blood flow in the human body.
Key concepts covered include:
✅ Definition and Types of Viscosity: Dynamic vs. Kinematic viscosity, cohesion, and adhesion.
⚙️ Methods of Measuring Viscosity:
Rotary Viscometer
Vibrational Viscometer
Falling Object Method
Capillary Viscometer
🌡️ Factors Affecting Viscosity: Temperature, composition, flow rate.
🩺 Clinical Relevance: Impact of blood viscosity in cardiovascular health.
🌊 Fluid Dynamics: Laminar vs. turbulent flow, Reynolds number.
🔬 Extension Techniques:
Chromatography (adsorption, partition, TLC, etc.)
Electrophoresis (protein/DNA separation)
Sedimentation and Centrifugation methods.
This presentation was provided by Bill Kasdorf of Kasdorf & Associates LLC and Publishing Technology Partners, during the fifth session of the NISO training series "Accessibility Essentials." Session Five: A Standards Seminar, was held May 1, 2025.
Title: A Quick and Illustrated Guide to APA Style Referencing (7th Edition)
This visual and beginner-friendly guide simplifies the APA referencing style (7th edition) for academic writing. Designed especially for commerce students and research beginners, it includes:
✅ Real examples from original research papers
✅ Color-coded diagrams for clarity
✅ Key rules for in-text citation and reference list formatting
✅ Free citation tools like Mendeley & Zotero explained
Whether you're writing a college assignment, dissertation, or academic article, this guide will help you cite your sources correctly, confidently, and consistent.
Created by: Prof. Ishika Ghosh,
Faculty.
📩 For queries or feedback: [email protected]
APM event hosted by the Midlands Network on 30 April 2025.
Speaker: Sacha Hind, Senior Programme Manager, Network Rail
With fierce competition in today’s job market, candidates need a lot more than a good CV and interview skills to stand out from the crowd.
Based on her own experience of progressing to a senior project role and leading a team of 35 project professionals, Sacha shared not just how to land that dream role, but how to be successful in it and most importantly, how to enjoy it!
Sacha included her top tips for aspiring leaders – the things you really need to know but people rarely tell you!
We also celebrated our Midlands Regional Network Awards 2025, and presenting the award for Midlands Student of the Year 2025.
This session provided the opportunity for personal reflection on areas attendees are currently focussing on in order to be successful versus what really makes a difference.
Sacha answered some common questions about what it takes to thrive at a senior level in a fast-paced project environment: Do I need a degree? How do I balance work with family and life outside of work? How do I get leadership experience before I become a line manager?
The session was full of practical takeaways and the audience also had the opportunity to get their questions answered on the evening with a live Q&A session.
Attendees hopefully came away feeling more confident, motivated and empowered to progress their careers
ch01_overview computer science and engineering.pdf
1. CSE 115 Programming Language I ECE@NSU
Overview of Computers
and
Programming
Mirza Mohammad Lutfe Elahi
2. CSE 115 Programming Language I ECE@NSU
2
Outline
• Overview of Computers
– Hardware
– Software
• Computer Languages
• Software Development Method
• Pseudo Code and Flowcharts
• Professional Ethics
3. CSE 115 Programming Language I ECE@NSU
3
Computers
• Computers receive input, store, process, and output
information.
• Computer can deal with numbers, text, images,
graphics, and sound.
• Computers are worthless without programming.
• Programming Languages allow us to write programs
that tell the computer what to do and to provide a way
to communicate with computers.
• Programs are then converted to machine instructions
so the computer can understand it.
4. CSE 115 Programming Language I ECE@NSU
4
Hardware & Software
• Hardware is the equipment used to perform the
necessary computations.
– Central Processing Unit (CPU), memory, disk storage,
monitor, keyboard, mouse, printer, etc.
• Software consists of the programs that enable us to
solve problems with a computer by providing it with a
list of instructions to follow
– Windows OS, MS Word, Mozilla Firefox, etc.
5. CSE 115 Programming Language I ECE@NSU
5
Computer Hardware
• Main Memory
– RAM - Random Access Memory - Memory that can be read and written in any
order (as opposed to sequential access memory), volatile.
– ROM - Read Only Memory - Memory that cannot be written to, non-volatile.
• Secondary Memory: Magnetic hard disks, Flash (solid state)
disks, Optical disks (CDs and DVDs).
• Central Processing Unit (CPU): Executes all computer
operations and perform arithmetic and logical operations.
• Input/Output Devices: keyboard, mouse, scanner, monitor,
printer, and speakers.
• Computer Networks – Computers that are linked together can
communicate with each other.
7. CSE 115 Programming Language I ECE@NSU
7
Memory
• Memory: a large collection of memory cells
• Each Memory Cell has an address and a value
• Bit: Binary digit = Either 0 or 1
• Byte: Made up of 8 bits
• Memory Address: position of a memory cell
• Memory Content: Value stored in memory
– Every memory cell has content, whether we know it or not
• Memory capacity
– Kilobyte (KB) = 210 = 1024 Bytes; Megabyte (MB) = 220 Bytes > 106 Bytes
– Gigabyte (GB) = 230 > 109 Bytes; Terabyte (TB) = 240 Bytes > 1012 Bytes
65
One bit
Byte = 8 bits
.
.
. Byte at
address 16
value = 65
.
.
.
0
1
2
3
16
17
18
Memory
Addresses
8. CSE 115 Programming Language I ECE@NSU
8
Computer Software
• Operating System - controls the interaction between
machine and user. Examples: Windows, Linux, etc.
– Communicates with computer user.
– Collects input and Displays output.
– Manages memory and processor time.
– Manages Storage Disk.
• Application Software - developed to assist a computer
user in accomplishing specific tasks. Example: MS
Word, Google Chrome, etc.
9. CSE 115 Programming Language I ECE@NSU
9
Computer languages
• High-level Language: Combines algebraic expressions and
high-level commands
– High Level : Very far away from the actual machine language
– Examples: Fortran, C, Prolog, C#, Perl, and Java.
• Machine Language: A collection of machine instructions
– Not standardized. There is a different machine language for every
processor family.
• Assembly Language: uses symbols (called mnemonics) that
correspond to machine language instructions.
– Low level: Very close to the actual machine language.
10. CSE 115 Programming Language I ECE@NSU
10
Compiler
• Compilation is the process of translating the source code (high-
level) into executable code (machine level).
• Source file: contains the original program code
– A Compiler turns the Source File into an Object File
• Object file: contains machine language instructions
– A Linker turns the Object File into an Executable
• Integrated Development Environment (IDE): a program that
combines simple text editor with a compiler, linker, loader, and
debugger tool
– Examples: Code::Blocks, Eclipse, Visual Studio, etc.
11. CSE 115 Programming Language I ECE@NSU
11
Editing, Translating, Linking, and
Running High-Level Language Programs
12. CSE 115 Programming Language I ECE@NSU
12
Flow of Information During Program
Execution
13. CSE 115 Programming Language I ECE@NSU
13
Software Development Method
1. Specify problem requirements
2. Analyze the problem
3. Design the algorithm to solve the problem
4. Implement the algorithm
5. Test and verify the completed program
6. Maintain and update the program
14. CSE 115 Programming Language I ECE@NSU
14
Steps Defined
1. Problem: statement that specifies the problem that should be
solved on the computer.
2. Analysis: Understanding the problem and identifying the
inputs, outputs, and required computation.
3. Design - Designing and developing the list of steps called
algorithm to solve the problem.
4. Implementation: writing the algorithm as a program using a
given programming language.
5. Testing - Testing requires checking and verifying that the
program actually works as desired.
6. Maintenance - Maintaining involves finding previously
undetected errors and keep it up-to-date.
15. CSE 115 Programming Language I ECE@NSU
15
Converting Miles to Kilometers
1. Problem: Your boss wants you to convert a list of miles to
kilometers. Since you like programming, you decide to write
a program to do the job.
2. Analysis
• We need to receive miles as input
• We need to output kilometers
• We know 1 mile = 1.609 kilometers
3. Design
1. Get distance in miles
2. Convert to kilometers
3. Display kilometers
16. CSE 115 Programming Language I ECE@NSU
16
Implementation in C Language
/*
* Converts distance in miles to kilometers.
*/
#include <stdio.h> // printf, scanf definitions
#define KMS_PER_MILE 1.609 // conversion constant
int main(void) {
float miles, // input – distance in miles
kms; // output – distance in kilometers
/* Get the distance in miles */
printf("Enter the distance in miles> ");
scanf("%f", &miles);
/* Convert the distance to kilometers */
kms = KMS_PER_MILE * miles;
/* Display the distance in kilometers */
printf("That equals %f kilometers.n", kms);
return 0;
}
Sample Run:
Enter the distance in miles> 10.0
That equals 16.090000 kilometers
17. CSE 115 Programming Language I ECE@NSU
17
Converting Miles to Kilometers
5. Test: We need to test the previous program to make sure it
works. To test we run our program and enter different values
and make sure the output is correct.
6. Maintenance: Next time, your boss wants to add a new feature,
so he wants you to add support for converting different units.
18. CSE 115 Programming Language I ECE@NSU
18
Pseudo Code and Flowchart
• Algorithm - A list of steps for solving a problem.
• Pseudo code - A combination of English phrases and
language constructs to describe the algorithm steps.
• Flowchart - A diagram that shows the step-by-step
execution of a program
19. CSE 115 Programming Language I ECE@NSU
19
Why Use Pseudo Code?
• The benefit of pseudo code is that it enables the programmer to
concentrate on the algorithm without worrying about all the
syntactic details of a particular programming language.
• In fact, you can write pseudo code without even knowing what
programming language you will use for the final
implementation.
• Pseudo code cannot be compiled or executed, and does not
follow syntax rules. It is simply an important step in producing
the final code.
• Example:
Input Miles
Kilometers = Miles * 1.609
Output Kilometers
20. CSE 115 Programming Language I ECE@NSU
20
Another Example of Pseudo Code?
• Problem: Calculate your final grade for CSE 115
• Specify the problem: Get different grades and then compute
the final grade.
• Analyze the problem: We need to input grades for quizzes,
assignments, exams, class performance and the percentage
each part counts for. Then we need to output the final grade.
• Design
1. Get the grades: exams, quizzes, assignments, and labs.
2. Grade = 0.2 * Quizzes + 0.1 * Assignments + 0.25 * Midterm Exam +
0.4 * Final Exam + 0.05 * Class Performance
3. Output the Grade
• Implement and Test: Learn how to program in C, Write the
program, then input some test values, calculate and check the
final grade.
21. CSE 115 Programming Language I ECE@NSU
21
Flowchart
Process Start or Terminal
Decision Document
Display Manual Input
22. CSE 115 Programming Language I ECE@NSU
22
Example of Flowchart
Start
Get Grades and
percentages
Calculate
Final grade
Display
Grade
End
23. CSE 115 Programming Language I ECE@NSU
23
Professional Ethics
• Privacy and Misuse of Data
– computer theft (computer fraud) - Illegally obtaining
money by falsifying information in a computer database
• Computer Hacking
– Virus - Code attached to another program that spreads
through a computer’s disk memory, disrupting the computer
or erasing information
– Worm - A virus that can disrupt a network by replicating
itself on other network computers
24. CSE 115 Programming Language I ECE@NSU
24
Professional Ethics
• Plagiarism and Software Piracy
– Software piracy – Violating copyright agreements by
illegally copying software for use in another computer
• Misuse of a Computer Resource