CSC-113 COMPUTER PROGRAMMING LECTURER FASIHA IKRAM

Size: px
Start display at page:

Download "CSC-113 COMPUTER PROGRAMMING LECTURER FASIHA IKRAM"

Transcription

1 CSC-113 COMPUTER PROGRAMMING LECTURER FASIHA IKRAM

2 GENTLE REMINDER Switch Off your Mobile Phone Or Switch Mobile Phone to Silent Mode

3 An Overview of Programming Languages and Problem Solving Techniques

4 COMPUTER PROGRAM A program (also commonly called an application or software) is a set of instructions that tells the computer what to do. The physical computer machinery that executes the instructions is the hardware. Adobe Acrobat, Adobe Photoshop, FileZilla, Google Chrome, Microsoft Excel, Microsoft PowerPoint, Microsoft Word, Mozilla and more.

5 PROGRAMMING LANGUAGES Various programming languages enable people to tell computers what to do. A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Computer programs are created by using programming languages. Foundation for developing applications. Such as BASIC, C, C++, COBOL, FORTRAN, Ada, and Pascal. Modern programming languages fall into following five categories. First generation Languages Second generation Languages Third generation Languages Fourth generation Languages Fifth generation Languages Machine Language assembly language procedural non procedural NLP

6 PROGRAMMING LANGUAGES Machine Language (first generation of programming languages) The computer s native language Composed of binary digits (0s, 1s) The only language that computers understand Assembly Language (second generation of programming languages) One-to-one correspondence to machine language Somewhat more user-friendly than machine language (mnemonic rather than binary digits) Assembler program that translates an assembly language program into machine language

7 PROGRAMMING LANGUAGES Procedural Languages (High Level Languages) (third generation languages) write programs without having to be as concerned about what kind of computer the program is being run on and are also closely resemble with mathematical notations and human readable. Examples: C, Fortran, QuickBasic Compiler - translates the entire program into machine language Interpreter - translates and executes one source program statement at a time. Nonprocedural Language (fourth generation languages) Allows the user to specify the desired result without having to specify the detailed procedures needed for achieving the result Example: data base query language - SQL Can be used by non technical users. List all records where age >18 Sum = num1+num2;

8 PROGRAMMING LANGUAGES Represent the equation wages = rate hours to calculate the weekly wages Machine language stands for load stands for multiplication stands for store Assembly language Can be written as follows: High level language In C++, can be written as follows: wages = rate * hours; Can be written as follows: LOAD rate MULT STOR hour wages

9 PROGRAMMING LANGUAGES Natural Language Programming Languages (fifth generation (intelligent) languages) Translates natural languages into a structured, machine-readable form Are extremely complex and experimental

10 ELEMENTS OF PROGRAMMING: Each programming statement is made up of following elements Symbols Reserved words Identifiers Symbols include mathematical operates and punctuations. + Plus used for addition - Hyphen for subtraction * Asterisk for multiplication / Forward slash use for division // backward slash use for comments ; Semi-colon used for statement termination inverted commas! Not operator Identifiers Special names created by programmer for. The name of the program Constants used in the program Variables used in the program

11 ELEMENTS OF PROGRAMMING: Reserve words Reserve words are words that have special meaning in the programming language and cannot used as identifier names. the reserved words, must not be used for any other purposes. The reserved words already used are int and void. All reserved words are in lower-case letters. Cout do goto signed unsigned break double if sizeof void Case else int static volatile Char enum long struct while cin extern register switch default float return typedef for short union const

12 ELEMENTS OF PROGRAMMING: Activity: Add two numbers. Find out the identifiers, symbols and reserve words. #include <iostream> using namespace std; int main() { } string Myname='M. ALi Azeem'; cout <<"My name is " << Myname << endl; // your code goes here return 0; Symbols Reserve Words identifiers # Include Main << Using Myname <> Namespace ; Std Return }{ Int () String = Cout // End1

13 ELEMENTS OF PROGRAMMING: Activity2: #include <iostream> Symbols Reserve Words identifier s using namespace std; int main() { int num1, num2, sum; num1=5; num2=7; cout << "Enter two numbers to add\n"; sum = num1 + num2; cout <<"Sum of entered numbers = " << sum <<endl; // your code goes here return 0; }

14 STEP IN PROGRAM DEVELOPMENT Programming can be defined as the development of a solution to an identified problem, and the setting up of a related series of instructions that will produce the desired results. The program development process is a series of activities that are necessary for the successful development of a computer program, however simple or complex. The program development process can be divided into six stages. 1. Define the problem 2. Designing the program 3. Coding the program 4. Testing the program 5. Installing and maintain the program 6. Documentation the program

15 STEP IN PROGRAM DEVELOPMENT Define the Problem To help with initial analysis, the problem should be divided into three separate components: The inputs required by the program. The outputs or end result required. The processing steps to produce the required outputs. IPO Chart: IPO charts use to organize and summarize the results of a problem definition. The output is the first data added to the IPO chart, you can then ask what input the program need to produce the required output. Processing is simply the series of actions you must perform on the input to get the required output.

16 WRITE A PROGRAM CALCULATING THE SUM OF TWO NUMBERS : ADDITION Input Processing Output 5, ) Declare variables num1 num2 sum 2) Assign values num1 = 5 num2 = 10 3) Process sum = num1 + num2 Names for our cells The computer (and so C) provides basic arithmetic operations. If the operation you want to use is not provided, you have to compose it.

17 STEP IN PROGRAM DEVELOPMENT Activity #3: Write a program calculating the sum of two numbers: Addition. Suppose you were asked to add two numbers mentally. The first thing you would do is ask for the two numbers. When you are given the two number. You would add them. You would then communicate the result to the person who asked you for it. IPO Chart Input Process Output Num1 Num2 Input Num1 Input Num2 Sum=num1+num2 print Sum; Sum

18 STEP IN PROGRAM DEVELOPMENT Activity #4: Write a program calculating the average of two numbers: Suppose you were asked to add two numbers mentally. The first thing you would do is ask for the two numbers. When you are given the two number. You would add them, then divide the result by 2 to he get the average.. You would then communicate the result to the person who asked you for it. Input Process Output Ipo Chart Num1 Num2 Input Num1 Input Num2 Sum=num1+num2 Average=sum/2 print average; Average

19 STEP IN PROGRAM DEVELOPMENT Activity #5:Write a program that and prints the tax paid by a worker and net pay received, given the hourly rate and the number of hours worked for the week. Tax is equal to total pay minus tax. For process 1. Compute the total pay. (hourlyrate*hoursworked) 2. Compute the tax paid.(taxrate*totalpay) 3. Compute the net pay.(totalpay-tax)

20 STEP IN PROGRAM DEVELOPMENT (DESIGNING ) Designing the problem Once we have clearly define the problem, several programming tools are now available to assist the programmer is designing a solution for the problem. One should note that for a given problem, several solutions may exist. The programmer must examine the alternative solutions and choose the best one. Pseudo codes Algorithms Flowcharts Decision tables Structure HIPO chart

21 PSEUDOCODE WRITE A PROGRAM CALCULATING THE SUM OF TWO NUMBERS Pseudocode are English-like statements that follow a loosely defined syntax and are used to convey the design of an algorithm. A pseudocode is an informal programming language that s is very similar to the high level programming language but without the strictness of the syntax of a high level language. Version 1: Version 2: PROGRAM Add Two Numbers READ two numbers ADD the numbers WRITE the sum END PROGRAM PROGRAM Add Two Numbers READ First READ Second Sum = First + Second WRITE Sum END PROGRAM

22 WHAT IS AN ALGORITHM? A step-by-step problem solving procedure, especially an establish, recursive computational procedure for solving a problem in a finite number of steps. An algorithm has to be clear have a finite length stop in finite time There are many models supporting the development of the code: Pseudocode Structure Diagram and finally in C++ Flowcharts All the models try to achieve something. What?

23 MODULAR DESIGN WRITE A PROGRAM CALCULATING THE SUM OF TWO NUMBERS Pseudocode are more closely to the programming language and for the advanced programmer. Modular Design Structure Diagrams are helpful to break the algorithm into more manageable pieces. Flowcharts show the workflow of the algorithm and stress on structured programming. We don t break according to the sequence in which the parts are following, but rather in its frequency of use and similarity to other parts. Every model has its advantages and disadvantages. But all try to help you to structure your code in a top-down style and this is the way you should implement your algorithm.

24 STEP IN PROGRAM DEVELOPMENT(DESIGNING ) Flowchart Flowchart is a graphic from of a pseudocode or algorithm. Programming instructions are represented by symbols instead of alphanumeric phrases. Flowchart Symbol Name Description PROCESS An operation or action Terminator Decision A start or end point in a program A question or branch in a program Input/output Indicated data input or output to or form a program Flow line Indicates direction of program flow connector A jump from one point to another

25 FLOWCHARTS SUM OF TWO NUMBERS START Addition of two numbers. READ First READ Second step 1. Start step 2. Read num1, num2 Sum = First + Second WRITE Sum End step 3. Sum=num1+num2 step 4. write sum; step 5. end

26 FLOWCHARTS SUM OF TWO NUMBERS START Addition of two numbers. READ First READ Second Sum = First + Second WRITE Sum step 1. Start step 2. Read num1, num2 step 3. Sum=num1+num2 step 4. write sum; step 5. end End

27 STEP IN PROGRAM DEVELOPMENT 3. Coding the program Code the Algorithm into a Specific Programming Language Only after all design considerations have been met 4. Testing the program Test the Algorithm for Correctness Most importance in the development of a program To identify major logic errors early, so that they may be easily corrected.

28 STEP IN PROGRAM DEVELOPMENT 5. Installing and maintain the program The first version of program is ready and now allow user to use and test it. 6. Documentation the program Document and Maintain the program It is an ongoing task from the initial definition of the problem to the final test result. Documentation involves both external and internal documentation that may have been coded in the program. Maintenance requires using and modifying the program if the problem domain changes.

29 PROGRAMMING WITH THE PROBLEM ANALYSIS CODING EXECUTION CYCLE Problem solving process First step Define the problem. Outline the solution. Design an algorithm. Test the algorithm for correctness. Second step Implement the algorithm in programming language, such as C++. Run the program on the computer Last step Document and maintain the program.

30 PROCEDURAL VS. OBJECT-ORIENTED PROGRAMMING Procedural programming is based on a structured, top-down approach to writing effective programs. concentrates on what a program has to do and involves identifying and organizing the processes in the program solution Decomposed into separate tasks or functions and includes top-down development broken down problem into more detailed steps modular design grouping task together because they all perform the same function; connected to top-down development Object-Oriented Programming OOP is also based on decomposing the problem. The primary focus is on the things that make up the program.

31 TOP-DOWN DEVELOPMENT If we look at a problem as a whole, it may seem impossible to solve because it is so complex. Examples: writing a tax computation program Writing a library system Writing a Bank System Complex problems can be solved using top-down design, also known as stepwise refinement, where We break the problem into parts Then break the parts into smaller parts Soon, each of the parts will be easy to solve

32 ADVANTAGES OF TOP-DOWN DEVELOPMENT Breaking the problem into parts helps us to clarify what needs to be done. At each step of refinement, the new parts become less complicated and, therefore, easier to figure out. Parts of the solution may turn out to be reusable. Breaking the problem into parts allows more than one person to work on the solution. Problem: You own a home improvement company providing painting, roofing, and basement waterproofing service. A section of the town has recently flooded (zip code 43100). You want to send out pamphlets to our customers in that area.

33 THE TOP LEVEL Get the customer list from a file. Sort the list according to zip code. Make a new file of only the customers with the zip code from the sorted customer list. Print an envelope for each of these customers. Main Read Sort Select Print

34 ANOTHER LEVEL? Should any of these steps be broken down further? Possibly! How do I know? Ask yourself whether or not you could easily write the algorithm for the step. If not, break it down again. When you are comfortable with the breakdown, write the pseudocode for each of the steps (modules) in the hierarchy. Typically, each module will be coded as a separate function. Another Example: A Top-down analysis of a simple cooking task Cook Breakfast Bring out cook ware Take out Uncooked food Cook food Serve food Get Coffee Pot Get Frying pan Get fork Get Serving dishes

35 WRITE A PROGRAM CALCULATING THE SUM OF TWO NUMBERS : ADDITION Input Processing Output 5, ) Declare variables input_1 input_2 sum 2) Assign values input_1 = 5 input_2 = 10 3) Process sum = input_1 + input_2 Names for our cells The computer (and so C) provides basic arithmetic operations. If the operation you want to use is not provided, you have to compose it.

36 STRUCTURE DIAGRAM WRITE A PROGRAM CALCULATING THE SUM OF TWO NUMBERS Version 1: Version 2: Add Two Numbers Add Two Numbers READ Two Numbers ADD Two Numbers Write The Sum READ Two Numbers ADD Two Numbers Write The Sum Read Num1 Sum = Input_1 +Input_2 Read Num2 Take note: We develop software iteratively (meaning version by version), but the code itself is broken in top-down manner!!

37 C++ CODING WRITE A PROGRAM CALCULATING THE SUM OF TWO NUMBERS /* Addition of 2 numbers */ #include <iostream> using namespace std; int main() { int first, second, sum; cin>>first; cin>>second; sum = first + second; cout<<sum<<endl; Where do you find now in the code the steps we have developed? 1. Declaration of the structure 2. Reading the input 3. Processing the data 4. Writing the output } return 0;

38 PROGRAMMING GUIDELINE The following rules are intended to avoid some mistakes students normally do. Even, if you have not programmed much until now and some of the given rules may still be a little bit cryptic, you can capture the idea and apply the rules right from the start. Programming can be fun, but also a torture.

39 PROGRAMMING GUIDELINE Rule 1: Think about your strategy twice! Choose a strategy possibly coming out with less program lines. Rule 2: You cannot program, what you cannot do with paper and pencil. It is worth to rethink your strategy. - Do I really have chosen the best? - Can I reformulate my problem to make it more simple? Even after having an algorithm ready in mind. Play with your data. Play to be the computer. You are only allowed to perform actions a computer can. Can you solve your problem this way? No? Then do not touch a computer and think about your problem again.

40 PROGRAMMING GUIDELINE Rule 3: The compiler must be easy and in short time accessible. You can still use old DOSshells, if you want. But open at least two windows, one for editing, one for compiling the code. Prepare your programming environment, save your files, that it is fun to program. Rule 4: (Data) Structure before functionality! First declare all the variables you will need. (Later you will use more advanced structures like objects, trees, graphs,..) But in all cases: The data structure you need has to be ready first.

41 PROGRAMMING GUIDELINE Rule 5: Name your variables appropriate and format your code in a way, that the structure is easily detectable. while (counter < 100) { if (no > 1) {... } } while (counter < 100){ if (no > 1) {... } } Rule 6: Write code using a divide and conquer approach. (Top-down) Express READ Two Numbers Test PROGRAM Add Two Numbers ADD Two Numbers Cycle WRITE The Sum

42 PROGRAMMING GUIDELINE Rule 7: Compile every three lines. Write code in such a way, that it Compiles and executes at every moment of the code development! Rule 8: Do your best in writing the documentation, learn from your code. Make sure you do not do the same mistakes again. Express Test Cycle Whatever we do, our code always compiles and executes!! Compile very often! Detect a mistake as soon as possible! /* Addition of 2 numbers */ #include <iostream> using namespace std; int main() { /* The input numbers */ int first, second;... /* The output number */ int sum; Commen clearly

43 Summary A program (also commonly called an application or software) is a set of instructions that tells the computer what to do. A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Computer programs are created by using programming languages. Foundation for developing applications. Elements of programming are :Symbols,Reserved words and Identifiers. IPO charts use to organize and summarize the results of a problem definition. Pseudocode are English-like statements that follow a loosely defined syntax and are used to convey the design of an algorithm. Flowcharts show the workflow of the algorithm and stress on structured programming.

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program. Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

Sources: On the Web: Slides will be available on:

Sources: On the Web: Slides will be available on: C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

McGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0

McGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0 1.1 McGraw-Hill The McGraw-Hill Companies, Inc., 2000 Objectives: To describe the evolution of programming languages from machine language to high-level languages. To understand how a program in a high-level

More information

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms PROG0101 FUNDAMENTALS OF PROGRAMMING Chapter 3 1 Introduction to A sequence of instructions. A procedure or formula for solving a problem. It was created mathematician, Mohammed ibn-musa al-khwarizmi.

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

COMPUTER SCIENCE (5651) Test at a Glance

COMPUTER SCIENCE (5651) Test at a Glance COMPUTER SCIENCE (5651) Test at a Glance Test Name Computer Science Test Code 5651 Time Number of Questions Test Delivery 3 hours 100 selected-response questions Computer delivered Content Categories Approximate

More information

Algorithms, Flowcharts & Program Design. ComPro

Algorithms, Flowcharts & Program Design. ComPro Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of

More information

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry

More information

Chapter One Introduction to Programming

Chapter One Introduction to Programming Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of

More information

C++ Programming Language

C++ Programming Language C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages 15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning

More information

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify

More information

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement? 1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members

More information

ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6)

ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6) ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6) 1 COMPUTER LANGUAGES In order for a computer to be able to execute a program, the program must first be present

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

More information

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program EKT150 Introduction to Computer Programming Wk1-Introduction to Computer and Computer Program A Brief Look At Computer Computer is a device that receives input, stores and processes data, and provides

More information

How To Understand Programming Languages And Programming Languages

How To Understand Programming Languages And Programming Languages Objectives Differentiate between machine and and assembly languages Describe Describe various various ways ways to to develop develop Web Web pages pages including including HTML, HTML, scripting scripting

More information

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

Computer Programming Tutorial

Computer Programming Tutorial Computer Programming Tutorial COMPUTER PROGRAMMING TUTORIAL by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Computer Prgramming Tutorial Computer programming is the act of writing computer

More information

Chapter 1 An Introduction to Computers and Problem Solving

Chapter 1 An Introduction to Computers and Problem Solving hapter 1 n Introduction to omputers and Problem Solving Section 1.1 n Introduction to omputers 1. Visual Basic is considered to be a () first-generation language. (B) package. () higher-level language.

More information

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

KITES TECHNOLOGY COURSE MODULE (C, C++, DS) KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL

More information

An Incomplete C++ Primer. University of Wyoming MA 5310

An Incomplete C++ Primer. University of Wyoming MA 5310 An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages

More information

Fourth generation techniques (4GT)

Fourth generation techniques (4GT) Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some

More information

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit

More information

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T) Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating

More information

Cobol. By: Steven Conner. COBOL, COmmon Business Oriented Language, one of the. oldest programming languages, was designed in the last six

Cobol. By: Steven Conner. COBOL, COmmon Business Oriented Language, one of the. oldest programming languages, was designed in the last six Cobol By: Steven Conner History: COBOL, COmmon Business Oriented Language, one of the oldest programming languages, was designed in the last six months of 1959 by the CODASYL Committee, COnference on DAta

More information

Describe the process of parallelization as it relates to problem solving.

Describe the process of parallelization as it relates to problem solving. Level 2 (recommended for grades 6 9) Computer Science and Community Middle school/junior high school students begin using computational thinking as a problem-solving tool. They begin to appreciate the

More information

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions CS101 Lecture 26: Low Level Programming John Magee 30 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? How can we control the computer s circuits? How

More information

C++ Language Tutorial

C++ Language Tutorial cplusplus.com C++ Language Tutorial Written by: Juan Soulié Last revision: June, 2007 Available online at: http://www.cplusplus.com/doc/tutorial/ The online version is constantly revised and may contain

More information

Course MS10975A Introduction to Programming. Length: 5 Days

Course MS10975A Introduction to Programming. Length: 5 Days 3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: rwhitney@discoveritt.com Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days

More information

Curriculum Map. Discipline: Computer Science Course: C++

Curriculum Map. Discipline: Computer Science Course: C++ Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code

More information

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1)

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Computer Programming A computer is a programmable machine. This means it

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Chapter 1 Java Program Design and Development

Chapter 1 Java Program Design and Development presentation slides for JAVA, JAVA, JAVA Object-Oriented Problem Solving Third Edition Ralph Morelli Ralph Walde Trinity College Hartford, CT published by Prentice Hall Java, Java, Java Object Oriented

More information

PROGRAMMING IN C PROGRAMMING IN C CONTENT AT A GLANCE

PROGRAMMING IN C PROGRAMMING IN C CONTENT AT A GLANCE PROGRAMMING IN C CONTENT AT A GLANCE 1 MODULE 1 Unit 1 : Basics of Programming Unit 2 : Fundamentals Unit 3 : C Operators MODULE 2 unit 1 : Input Output Statements unit 2 : Control Structures unit 3 :

More information

Overview. Essential Questions. Precalculus, Quarter 4, Unit 4.5 Build Arithmetic and Geometric Sequences and Series

Overview. Essential Questions. Precalculus, Quarter 4, Unit 4.5 Build Arithmetic and Geometric Sequences and Series Sequences and Series Overview Number of instruction days: 4 6 (1 day = 53 minutes) Content to Be Learned Write arithmetic and geometric sequences both recursively and with an explicit formula, use them

More information

JavaScript: Control Statements I

JavaScript: Control Statements I 1 7 JavaScript: Control Statements I 7.1 Introduction 2 The techniques you will learn here are applicable to most high-level languages, including JavaScript 1 7.2 Algorithms 3 Any computable problem can

More information

Introduction to Computers and C++ Programming

Introduction to Computers and C++ Programming 1 Introduction to Computers and C++ Programming 1.1 Computer Systems 2 Hardware 2 Software 7 High-Level Languages 8 Compilers 9 History Note 12 1.2 Programming and Problem-Solving 13 Algorithms 14 Program

More information

Keywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void

Keywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void 1. Explain C tokens Tokens are basic building blocks of a C program. A token is the smallest element of a C program that is meaningful to the compiler. The C compiler recognizes the following kinds of

More information

The programming language C. sws1 1

The programming language C. sws1 1 The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan

More information

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction ATSBA: Advanced Technologies Supporting Business Areas Programming with Java 1 Overview and Introduction 1 1 Overview and Introduction 1 Overview and Introduction 1.1 Programming and Programming Languages

More information

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London

More information

Sequential Program Execution

Sequential Program Execution Sequential Program Execution Quick Start Compile step once always g++ -o Realtor1 Realtor1.cpp mkdir labs cd labs Execute step mkdir 1 Realtor1 cd 1 cp../0/realtor.cpp Realtor1.cpp Submit step cp /samples/csc/155/labs/1/*.

More information

Software Development. Topic 1 The Software Development Process

Software Development. Topic 1 The Software Development Process Software Development Topic 1 The Software Development Process 1 The Software Development Process Analysis Design Implementation Testing Documentation Evaluation Maintenance 2 Analysis Stage An Iterative

More information

C++ INTERVIEW QUESTIONS

C++ INTERVIEW QUESTIONS C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get

More information

1 Abstract Data Types Information Hiding

1 Abstract Data Types Information Hiding 1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content

More information

Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)

Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority) Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the

More information

OKLAHOMA SUBJECT AREA TESTS (OSAT )

OKLAHOMA SUBJECT AREA TESTS (OSAT ) CERTIFICATION EXAMINATIONS FOR OKLAHOMA EDUCATORS (CEOE ) OKLAHOMA SUBJECT AREA TESTS (OSAT ) FIELD 081: COMPUTER SCIENCE September 2008 Subarea Range of Competencies I. Computer Use in Educational Environments

More information

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java

More information

Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design

Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design STANDARD CORRELATING PAGES Standard (1) The student demonstrates knowledge and appropriate

More information

Compiler Construction

Compiler Construction Compiler Construction Lecture 1 - An Overview 2003 Robert M. Siegfried All rights reserved A few basic definitions Translate - v, a.to turn into one s own language or another. b. to transform or turn from

More information

Notes on Algorithms, Pseudocode, and Flowcharts

Notes on Algorithms, Pseudocode, and Flowcharts Notes on Algorithms, Pseudocode, and Flowcharts Introduction Do you like hot sauce? Here is an algorithm for how to make a good one: Volcanic Hot Sauce (from: http://recipeland.com/recipe/v/volcanic-hot-sauce-1125)

More information

Chapter 3 Problem Solving

Chapter 3 Problem Solving Chapter 3 Problem Solving 3-1 Problem Solving The Backbone of Programming Problem solving, or breaking down the solution to a problem into sequential steps is by far the most difficult part of computer

More information

Chapter 8 Selection 8-1

Chapter 8 Selection 8-1 Chapter 8 Selection 8-1 Selection (Decision) The second control logic structure is selection: Selection Choosing between two or more alternative actions. Selection statements alter the sequential flow

More information

Programming Languages

Programming Languages Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately

More information

Flowchart Techniques

Flowchart Techniques C H A P T E R 1 Flowchart Techniques 1.1 Programming Aids Programmers use different kinds of tools or aids which help them in developing programs faster and better. Such aids are studied in the following

More information

Informatica e Sistemi in Tempo Reale

Informatica e Sistemi in Tempo Reale Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)

More information

Chapter 14. Programming and Languages. McGraw-Hill/Irwin. Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 14. Programming and Languages. McGraw-Hill/Irwin. Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Competencies (Page 1 of 2) Describe the six steps of programming Discuss design

More information

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 Computer Science the study of algorithms, including Their formal and mathematical properties Their hardware realizations

More information

Comp151. Definitions & Declarations

Comp151. Definitions & Declarations Comp151 Definitions & Declarations Example: Definition /* reverse_printcpp */ #include #include using namespace std; int global_var = 23; // global variable definition void reverse_print(const

More information

C A R I B B E A N E X A M I N A T I O N S REPORT ON CANDIDATES S WORK IN THE CARIBBEAN SECONDARY EDUCATION CERTIFICATE EXAMINATION MAY/JUNE 2012

C A R I B B E A N E X A M I N A T I O N S REPORT ON CANDIDATES S WORK IN THE CARIBBEAN SECONDARY EDUCATION CERTIFICATE EXAMINATION MAY/JUNE 2012 C A R I B B E A N E X A M I N A T I O N S COUNCIL REPORT ON CANDIDATES S WORK IN THE CARIBBEAN SECONDARY EDUCATION CERTIFICATE EXAMINATION MAY/JUNE 2012 INFORMATION TECHNOLOGY GENERAL PROFICIENCY EXAMINATION

More information

2 SYSTEM DESCRIPTION TECHNIQUES

2 SYSTEM DESCRIPTION TECHNIQUES 2 SYSTEM DESCRIPTION TECHNIQUES 2.1 INTRODUCTION Graphical representation of any process is always better and more meaningful than its representation in words. Moreover, it is very difficult to arrange

More information

Introduction to Data Structures

Introduction to Data Structures Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate

More information

Course Title: Software Development

Course Title: Software Development Course Title: Software Development Unit: Customer Service Content Standard(s) and Depth of 1. Analyze customer software needs and system requirements to design an information technology-based project plan.

More information

CS 40 Computing for the Web

CS 40 Computing for the Web CS 40 Computing for the Web Art Lee January 20, 2015 Announcements Course web on Sakai Homework assignments submit them on Sakai Email me the survey: See the Announcements page on the course web for instructions

More information

Ch 7-1. Object-Oriented Programming and Classes

Ch 7-1. Object-Oriented Programming and Classes 2014-1 Ch 7-1. Object-Oriented Programming and Classes May 10, 2014 Advanced Networking Technology Lab. (YU-ANTL) Dept. of Information & Comm. Eng, Graduate School, Yeungnam University, KOREA (Tel : +82-53-810-2497;

More information

Problem of the Month: Double Down

Problem of the Month: Double Down Problem of the Month: Double Down The Problems of the Month (POM) are used in a variety of ways to promote problem solving and to foster the first standard of mathematical practice from the Common Core

More information

A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts

A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts [Mechanical Translation, vol.5, no.1, July 1958; pp. 25-41] A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts A notational

More information

Domains and Competencies

Domains and Competencies Domains and Competencies DOMAIN I TECHNOLOGY APPLICATIONS CORE Standards Assessed: Computer Science 8 12 I VII Competency 001: The computer science teacher knows technology terminology and concepts; the

More information

Introduction to Computers and C++ Programming

Introduction to Computers and C++ Programming M01_SAVI1346_07_SB_C01.fm Page 1 Friday, January 4, 2008 5:01 PM Introduction to Computers and C++ Programming 1 1.1 COMPUTER SYSTEMS 2 Hardware 2 Software 7 High-Level Languages 8 Compilers 9 History

More information

Licensed to: CengageBrain User

Licensed to: CengageBrain User This is an electronic version of the print textbook. Due to electronic rights restrictions, some third party content may be suppressed. Editorial review has deemed that any suppressed content does not

More information

Chapter 1: Key Concepts of Programming and Software Engineering

Chapter 1: Key Concepts of Programming and Software Engineering Chapter 1: Key Concepts of Programming and Software Engineering Software Engineering Coding without a solution design increases debugging time - known fact! A team of programmers for a large software development

More information

Chapter 5 Names, Bindings, Type Checking, and Scopes

Chapter 5 Names, Bindings, Type Checking, and Scopes Chapter 5 Names, Bindings, Type Checking, and Scopes Chapter 5 Topics Introduction Names Variables The Concept of Binding Type Checking Strong Typing Scope Scope and Lifetime Referencing Environments Named

More information

Grade descriptions Computer Science Stage 1

Grade descriptions Computer Science Stage 1 Stage 1 A B C Accurately uses a wide range of terms and concepts associated with current personal computers, home networking and internet connections. Correctly uses non-technical and a range of technical

More information

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Introduction to Electrical and Computer Engineering II Lecture 1 Course Overview Welcome! What is this class about? Java programming somewhat software somewhat

More information

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer

More information

Simple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. Dev-C++ Dev-C++ Windows Friendly Exit. The C++ Programming Language

Simple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. Dev-C++ Dev-C++ Windows Friendly Exit. The C++ Programming Language Simple C++ Programs Engineering Problem Solving with C++, Etter/Ingber Chapter 2 Simple C++ Programs Program Structure Constants and Variables C++ Operators Standard Input and Output Basic Functions from

More information

2. Capitalize initial keyword In the example above, READ and WRITE are in caps. There are just a few keywords we will use:

2. Capitalize initial keyword In the example above, READ and WRITE are in caps. There are just a few keywords we will use: Pseudocode: An Introduction Flowcharts were the first design tool to be widely used, but unfortunately they do t very well reflect some of the concepts of structured programming. Pseudocode, on the other

More information

Keil C51 Cross Compiler

Keil C51 Cross Compiler Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation

More information

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR) Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011

More information

Lecture 7: Programming for the Arduino

Lecture 7: Programming for the Arduino Lecture 7: Programming for the Arduino - The hardware - The programming environment - Binary world, from Assembler to C - - Programming C for the Arduino: more - Programming style Lect7-Page1 The hardware

More information

Ch. 10 Software Development. (Computer Programming)

Ch. 10 Software Development. (Computer Programming) Ch. 10 Software Development (Computer Programming) 1 Definitions Software or Program Instructions that tell the computer what to do Programmer Someone who writes computer programs 2 Instruction Set A vocabulary

More information

Flowcharting, pseudocoding, and process design

Flowcharting, pseudocoding, and process design Systems Analysis Pseudocoding & Flowcharting 1 Flowcharting, pseudocoding, and process design The purpose of flowcharts is to represent graphically the logical decisions and progression of steps in the

More information

Programming in Java. 2013 Course Technology, a part of Cengage Learning.

Programming in Java. 2013 Course Technology, a part of Cengage Learning. C7934_chapter_java.qxd 12/20/11 12:31 PM Page 1 Programming in Java Online module to accompany Invitation to Computer Science, 6th Edition ISBN-10: 1133190820; ISBN-13: 9781133190820 (Cengage Learning,

More information

1 ST GRADE COMMON CORE STANDARDS FOR SAXON MATH

1 ST GRADE COMMON CORE STANDARDS FOR SAXON MATH 1 ST GRADE COMMON CORE STANDARDS FOR SAXON MATH Calendar The following tables show the CCSS focus of The Meeting activities, which appear at the beginning of each numbered lesson and are taught daily,

More information

ALGORITHMS AND FLOWCHARTS

ALGORITHMS AND FLOWCHARTS ALGORITHMS AND FLOWCHARTS A typical programming task can be divided into two phases: Problem solving phase produce an ordered sequence of steps that describe solution of problem this sequence of steps

More information

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1 UNIT 22: PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1 This work covers part of outcome 3 of the Edexcel standard module: Outcome 3 is the most demanding

More information

Chapter 4: Computer Codes

Chapter 4: Computer Codes Slide 1/30 Learning Objectives In this chapter you will learn about: Computer data Computer codes: representation of data in binary Most commonly used computer codes Collating sequence 36 Slide 2/30 Data

More information

Pemrograman Dasar. Basic Elements Of Java

Pemrograman Dasar. Basic Elements Of Java Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle

More information

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running

More information

3 SOFTWARE AND PROGRAMMING LANGUAGES

3 SOFTWARE AND PROGRAMMING LANGUAGES 3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have

More information

Object Oriented Software Design II

Object Oriented Software Design II Object Oriented Software Design II C++ intro Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 26, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February 26,

More information