533557214 Page 1 COS120 Software Development Using C++ – Lecture 1 AUBG, COS dept Lecture 1 Introduction to Computers, Problem Solving and Programming. Computer hardware. Computer software. Software development method. Algorithms – definition and classification. Flowcharts as a tool for algorithm description. F&K, Sec 1.1-1.2, 1.5 Computers = Hardware + Software Computer Hardware: Computer Software: Central Processing Unit (CPU); Operating Systems; Memory; Programming Languages; Secondary Storage (HD, FDD, CD); Software Applications; Input/Output (I/O) devices; Executing a Program. Computer Networks. Program – a list of instructions that enables a computer to perform a specific task. Numeric systems. Binary number – a number whose digits are 0s and/or 1s only. Bit (BInary digiT) – has two only values: 0 or 1 1 Byte = 8 Bits – amount of storage required to store a single character KB – KiloByte MB – MegaByte GB – GigaByte TB – TeraByte 1KB 1MB 1GB 1TB = 1024 bytes = 1024 KB = 1024 x 1024 bytes = 1024 MB = 1024 x 1024 KB = 1024 x 1024 x 1024 bytes = 1024 GB = 1024 x 1024 MB = 1024 x 1024 x 1024 KB = 1024 x 1024 x 1024 x 1024 bytes Software Development Method Specify the problem requirements; Analyze the problem; Design the algorithm to solve the problem; Implement the algorithm; Test and verify the completed program; Maintain and update the program. Software Life Cycle Program Development Cycle Systems Analysis; Systems Design; Systems Implementation; Systems Support. Analyze; Design; Choose interface; Code; Test & debug; Complete documentation. More on back page >> 533557214 Page 2 Algorithms. Origin of term. Basic idea: the solution to any computing problem involves executing a series of actions in a specific order. Algorithm definitions: Definition1: A procedure for solving a problem in terms of 1. the actions to be executed, and 2. the order in which these actions are to be executed is called an algorithm. Definition2: An algorithm is a list of steps for solving a problem. Classification of algorithms: linear algorithm branch algorithm loop algorithm One way to document algorithms is by using flowcharts (control flow diagrams). Typical components to build a flowchart (control flow diagram): Begin; End; Activity (action, processing); Selection – binary condition (two versions); Input – to read data from keyboard or from a file (specific activity); Output – to display data or save data to a file (specific activity).