PROGRAMMING FOR PROBLEM SOLVING (KCS101/201) Unit-1 Lecture#1 By Sukhendra Singh Assistant Professor JSS Academy of Technical Education Noida sukhendrasingh@jssaten.ac.in
Topics Covered • Introduction to Programming: Introduction to components of a computer system: Memory, processor, I/O Devices, storage, operating system, Concept of assembler, compiler, interpreter, loader, and linker.
Let us get into three syllables of title of the Course Programming: Providing correct, unambiguous, easily understandable instructions to perform a task. Problem: Any computational Problem e.g. Searching, Sorting, Finding maximum and minimum in a list, etc. Solution: To find out correct, time efficient, memory efficient solution to a given problem. Even ,like a computer system, every human is also programmed since childhood to perform common daily life’s tasks e.g. walking, running talking etc.
Computer System • A computer is a programmable electronic device designed to provide various services. It stores retrieves and processes data efficiently. A computer receives data and instructions through “Input Devices'' that get processed in the Central Processing Unit (CPU) and the result is displayed to “Output Devices.” • The computer is a combination of Hardware and Software. Both Hardware and Software are equally important for the functioning of Computers.
Computer System: Desktop, Laptop, Tablet, Smart Phone, Embedded System
Hardware • Hardware is a physical component of a computer like Processor, Memory, Mouse, Keyboard, Printer, Monitor etc. Components of Computer are: • Input Devices • Output Devices • Processor / CPU (Central Processing Unit) • Memory / RAM (Random Access Memory, Non-persistent storage) • Storage or Auxiliary Memory (Persistent storage)
Introduction to components of a computer system
• Input Devices: These devices are used to input data and instructions into the computer. E.g. Keyboard, Mouse etc. • CPU (Central Processing Unit): It is responsible for processing data and instructions. It receives data from input devices. It processes the data and stores the output or display to the output devices. The Central Processing Unit is divided into three sections: • ALU: It is responsible for performing various arithmetic operations like addition, subtraction, division, multiplication etc. • Control Unit : It is responsible for coordinating and controlling data in and out of the CPU. It controls the ALU, Memory Registers and also Input / Output Devices. • Memory Registers: It is Non-persistent / temporary storage in the CPU. These are used to store data that is directly used by the CPU.
• Output Devices: It is used to display the result to the user. The common output devices are Monitor, Printer, etc. • Memory / RAM: It is the memory attached to the CPU and is used to store data and instructions. When a program is executed its data is loaded into the internal memory and remains in the memory till the end. Memory is also referred to as Main Memory, Primary Memory or RAM (Random access memory). Storage or Auxiliary Memory: It is the persistent storage of data in which the data resides even if we switch off the computer. For example: Hard- drives, CD, DVD etc.
Generation of Programming Language • A First-generation (programming) language (1GL) is a machine-level programming language that is used to program first-generation computers. • A Second-generation programming language (2GL) is Assembly languages. A Third-generation programming language (3GL) is much more machine- independent and more programmer-friendly. The most popular general- purpose languages today are 3GL, such as C, C++, C#, Java, BASIC, etc. • A Fourth-generation programming language (4GL) is such a language whose statements are similar to the statements of the English language. 4GL languages are used to solve very specific problems. 4GL languages may include support for Database management, report generation, mathematical optimization, GUI development, or web development. E.g. SQL, R, etc.
• A Fifth-generation programming language (5GL) is any programming language to solve the problem based on constraints and logic, rather than using an algorithm written by a programmer. 5GL is designed to make the computer solve a given problem without the programmer. E.g. OPS5, Mercury, etc.
Software • The software consists of various types of programs that control the operation of computers. The software is further divided into System Software, Utility Software, and Application Software. System Software • System Software is the software that directly controls and utilizes computer hardware. These programs help in running application programs. System software directs the computer what to do, when to do and how to do. System software can be further categorized into: • Operating System • Device Driver • Language Processors
Operating System • An Operating system is a software that provides an interface to the user to use computer hardware. It is a set of programs that control and supervise the computer hardware, software resources and also provide services to application software and the users. Process Management, Memory Management, Device Management, and File management are key functions of the Operating System. A computer system is of no use without an Operating System. When a computer is switched on the Operating System is the first program that is loaded to its memory. • Examples of Operating Systems used are Linux, Windows, Unix, etc.
•
Functions of Operating System: • Processor Management: It deals with the management of the Central Processing Unit or CPU. The operating system performs the allotment of CPU time to various processes. • Memory Management: The operating system loads a program into memory when it needs to be executed and removes the program from memory when it is no longer needed. • Device Management: The operating system helps in communication between various types of hardware. • File Management: The operating system manages the files, folders, and directory structures of the computer. The operating system file manager is used to create, edit, copy, move, and delete files.
Device Driver A device driver is a program that controls a particular device. Each device like a keyboard, mouse, printer, etc. need their driver to work. The device driver acts as a translator between the operating system and the device connected to the computer. Language Processors The computer can understand only instructions in machine code, i.e. in the form of 0s and 1s. It is very difficult to write computer programs directly in machine code. The programs are written mostly in high-level languages, i.e. C, C++, Python, etc. A program written in any high-level programming language is called the Source Program or Source Code. The source code cannot be executed directly by the computer. The source code must be converted into machine language to be executed. Language Processors are translator software that is used to translate the program written in a high-level language (or Assembly language) into machine level language. The language processors are of three types- Assembler, Compiler, and Interpreter.
• Assembler The Assembler is used to translate the program written in Assembly language into machine level language or machine code. The input of Assembler is a source program that contains assembly language instructions. The output generated by the assembler is the machine code that can be executed by the computer. Compiler The compiler is used to translate the high-level languages source program as a whole into machine level language. Some of the examples are C and C++ compilers. The source code is translated to object code successfully if it is free of errors. If there are any errors in the source code, the compiler specifies the errors at the end of compilation with line numbers. The errors must be removed before the compiler can successfully recompile the source code. •
Difference between Assembler and Compiler. Assembler Compiler Assembler converts, assembly language code into machine code. The compiler converts source code written in higher-level language into machine level language. Input is Assembly code Input is Source code in some higher language. GAS, GNU is an example of Assembler C, C++, Java compilers are examples of compilers.
Linker • A linker combines one or more object files and possibly some library to create an executable. Loader • A loader reads the executable code into memory and tries to run the program.
Difference between Linker and Loader Linker Loader It generates executable files. It loads the executable file into the main memory. It takes input as object code and generates executables. It takes executable code generated by linker as input. It combines various object code into one single executable. It allocates the address to an executable into the main memory.
• Stages of Compilation and Execution  Preprocessor: C programs are passed to preprocessor to resolve preprocessor directives and include files in the program.  Compiler: Compiler converts C program into machine language. In this step, an object file is created.  Linker: Linker combines various object files and libraries to form an executable.  Loader: Loader loads the executable file into the main memory.
• Utility Software Utility software provides certain tasks that help to manage, maintain, and control computer resources. The utility software is used to keep the computer system running smoothly. Examples of utility programs are antivirus software, backup software, etc. Antivirus software helps to protect computers from viruses and other harmful programs. Backup software helps in the creation of backup of the files on your computer. Hard-drives are used for storage; they are robust but can fail or crash. So backup software is used to create copies of the most important files in some external drive.
Application Software • Application software is used to solve a particular problem or perform some specific task. Few examples of application software: • Microsoft Office • Photoshop • Music Players • Games
• Thank You

Programming for Problem Solving

  • 1.
    PROGRAMMING FOR PROBLEM SOLVING(KCS101/201) Unit-1 Lecture#1 By Sukhendra Singh Assistant Professor JSS Academy of Technical Education Noida sukhendrasingh@jssaten.ac.in
  • 2.
    Topics Covered • Introductionto Programming: Introduction to components of a computer system: Memory, processor, I/O Devices, storage, operating system, Concept of assembler, compiler, interpreter, loader, and linker.
  • 3.
    Let us getinto three syllables of title of the Course Programming: Providing correct, unambiguous, easily understandable instructions to perform a task. Problem: Any computational Problem e.g. Searching, Sorting, Finding maximum and minimum in a list, etc. Solution: To find out correct, time efficient, memory efficient solution to a given problem. Even ,like a computer system, every human is also programmed since childhood to perform common daily life’s tasks e.g. walking, running talking etc.
  • 4.
    Computer System • Acomputer is a programmable electronic device designed to provide various services. It stores retrieves and processes data efficiently. A computer receives data and instructions through “Input Devices'' that get processed in the Central Processing Unit (CPU) and the result is displayed to “Output Devices.” • The computer is a combination of Hardware and Software. Both Hardware and Software are equally important for the functioning of Computers.
  • 5.
    Computer System: Desktop, Laptop,Tablet, Smart Phone, Embedded System
  • 6.
    Hardware • Hardware isa physical component of a computer like Processor, Memory, Mouse, Keyboard, Printer, Monitor etc. Components of Computer are: • Input Devices • Output Devices • Processor / CPU (Central Processing Unit) • Memory / RAM (Random Access Memory, Non-persistent storage) • Storage or Auxiliary Memory (Persistent storage)
  • 7.
    Introduction to componentsof a computer system
  • 8.
    • Input Devices:These devices are used to input data and instructions into the computer. E.g. Keyboard, Mouse etc. • CPU (Central Processing Unit): It is responsible for processing data and instructions. It receives data from input devices. It processes the data and stores the output or display to the output devices. The Central Processing Unit is divided into three sections: • ALU: It is responsible for performing various arithmetic operations like addition, subtraction, division, multiplication etc. • Control Unit : It is responsible for coordinating and controlling data in and out of the CPU. It controls the ALU, Memory Registers and also Input / Output Devices. • Memory Registers: It is Non-persistent / temporary storage in the CPU. These are used to store data that is directly used by the CPU.
  • 9.
    • Output Devices:It is used to display the result to the user. The common output devices are Monitor, Printer, etc. • Memory / RAM: It is the memory attached to the CPU and is used to store data and instructions. When a program is executed its data is loaded into the internal memory and remains in the memory till the end. Memory is also referred to as Main Memory, Primary Memory or RAM (Random access memory). Storage or Auxiliary Memory: It is the persistent storage of data in which the data resides even if we switch off the computer. For example: Hard- drives, CD, DVD etc.
  • 10.
    Generation of ProgrammingLanguage • A First-generation (programming) language (1GL) is a machine-level programming language that is used to program first-generation computers. • A Second-generation programming language (2GL) is Assembly languages. A Third-generation programming language (3GL) is much more machine- independent and more programmer-friendly. The most popular general- purpose languages today are 3GL, such as C, C++, C#, Java, BASIC, etc. • A Fourth-generation programming language (4GL) is such a language whose statements are similar to the statements of the English language. 4GL languages are used to solve very specific problems. 4GL languages may include support for Database management, report generation, mathematical optimization, GUI development, or web development. E.g. SQL, R, etc.
  • 11.
    • A Fifth-generationprogramming language (5GL) is any programming language to solve the problem based on constraints and logic, rather than using an algorithm written by a programmer. 5GL is designed to make the computer solve a given problem without the programmer. E.g. OPS5, Mercury, etc.
  • 12.
    Software • The softwareconsists of various types of programs that control the operation of computers. The software is further divided into System Software, Utility Software, and Application Software. System Software • System Software is the software that directly controls and utilizes computer hardware. These programs help in running application programs. System software directs the computer what to do, when to do and how to do. System software can be further categorized into: • Operating System • Device Driver • Language Processors
  • 13.
    Operating System • AnOperating system is a software that provides an interface to the user to use computer hardware. It is a set of programs that control and supervise the computer hardware, software resources and also provide services to application software and the users. Process Management, Memory Management, Device Management, and File management are key functions of the Operating System. A computer system is of no use without an Operating System. When a computer is switched on the Operating System is the first program that is loaded to its memory. • Examples of Operating Systems used are Linux, Windows, Unix, etc.
  • 14.
  • 15.
    Functions of OperatingSystem: • Processor Management: It deals with the management of the Central Processing Unit or CPU. The operating system performs the allotment of CPU time to various processes. • Memory Management: The operating system loads a program into memory when it needs to be executed and removes the program from memory when it is no longer needed. • Device Management: The operating system helps in communication between various types of hardware. • File Management: The operating system manages the files, folders, and directory structures of the computer. The operating system file manager is used to create, edit, copy, move, and delete files.
  • 16.
    Device Driver A devicedriver is a program that controls a particular device. Each device like a keyboard, mouse, printer, etc. need their driver to work. The device driver acts as a translator between the operating system and the device connected to the computer. Language Processors The computer can understand only instructions in machine code, i.e. in the form of 0s and 1s. It is very difficult to write computer programs directly in machine code. The programs are written mostly in high-level languages, i.e. C, C++, Python, etc. A program written in any high-level programming language is called the Source Program or Source Code. The source code cannot be executed directly by the computer. The source code must be converted into machine language to be executed. Language Processors are translator software that is used to translate the program written in a high-level language (or Assembly language) into machine level language. The language processors are of three types- Assembler, Compiler, and Interpreter.
  • 17.
    • Assembler The Assembleris used to translate the program written in Assembly language into machine level language or machine code. The input of Assembler is a source program that contains assembly language instructions. The output generated by the assembler is the machine code that can be executed by the computer. Compiler The compiler is used to translate the high-level languages source program as a whole into machine level language. Some of the examples are C and C++ compilers. The source code is translated to object code successfully if it is free of errors. If there are any errors in the source code, the compiler specifies the errors at the end of compilation with line numbers. The errors must be removed before the compiler can successfully recompile the source code. •
  • 18.
    Difference between Assemblerand Compiler. Assembler Compiler Assembler converts, assembly language code into machine code. The compiler converts source code written in higher-level language into machine level language. Input is Assembly code Input is Source code in some higher language. GAS, GNU is an example of Assembler C, C++, Java compilers are examples of compilers.
  • 19.
    Linker • A linkercombines one or more object files and possibly some library to create an executable. Loader • A loader reads the executable code into memory and tries to run the program.
  • 21.
    Difference between Linkerand Loader Linker Loader It generates executable files. It loads the executable file into the main memory. It takes input as object code and generates executables. It takes executable code generated by linker as input. It combines various object code into one single executable. It allocates the address to an executable into the main memory.
  • 22.
    • Stages ofCompilation and Execution  Preprocessor: C programs are passed to preprocessor to resolve preprocessor directives and include files in the program.  Compiler: Compiler converts C program into machine language. In this step, an object file is created.  Linker: Linker combines various object files and libraries to form an executable.  Loader: Loader loads the executable file into the main memory.
  • 23.
    • Utility Software Utilitysoftware provides certain tasks that help to manage, maintain, and control computer resources. The utility software is used to keep the computer system running smoothly. Examples of utility programs are antivirus software, backup software, etc. Antivirus software helps to protect computers from viruses and other harmful programs. Backup software helps in the creation of backup of the files on your computer. Hard-drives are used for storage; they are robust but can fail or crash. So backup software is used to create copies of the most important files in some external drive.
  • 24.
    Application Software • Applicationsoftware is used to solve a particular problem or perform some specific task. Few examples of application software: • Microsoft Office • Photoshop • Music Players • Games
  • 25.