Download presentation
Presentation is loading. Please wait.
Published byAda Gibbs Modified over 8 years ago
1
CS 161 INTRO TO PROGRAMMING I Dr. Blaise W. Liffick Fall 2014 1
2
2 Programming Techniques Languages Programming Environments Java C++ Problem Analysis Program Design Algorithms & Design Patterns Data Structures Paradigms Hardware Network Linux Eclipse
3
3 Early Computers Late 1930’s, John Atanasoff, Clifford Berry ENIAC –1946 –University of Pennsylvania –J. Presper Eckert and John Mauchley –John von Neumann, stored-program concept and use of binary
4
4 Categories of Computers Supercomputers Mainframe Minicomputers Microcomputers Mobile devices Power Size Cost
5
5 Computer Hardware CPU - central processing unit –Where decisions are made, computations are performed, and input/output requests are delegated Main Memory –Stores information being processed by the CPU Secondary Memory (Mass Storage) –Stores data and programs
6
6 Computer Hardware Input devices –Allow people to supply information to computers Output devices –Allow people to receive information from computers Peripheral Devices –Generally I/O, mass storage Network connection –Modems –Ethernet interface
7
7 Figure 1.2 Computer components Mass storage
8
8 CPU “Brains” of the computer –Arithmetic calculations are performed using the Arithmetic/Logical Unit or ALU –Control unit decodes and executes instructions –Registers hold information and instructions for CPU to process Arithmetic operations are performed using binary number system
9
9 Memory Stores –programs operating system applications –data Types –RAM - volatile –ROM Composed of bits, which are combined into bytes
10
10 Memory Cells AddressContents -27.2 354 0.005 -26 H X 75.62 RTV 001... 0 1 2 3 4 5 6... 999
11
11 Input / Output Devices Accessories that allow computer to perform specific tasks –Receiving information for processing –Return the results of processing Common input and output devices –Keyboard JoystickScanner –Printer MonitorSpeaker
12
12 Computer Networks Allows multiple computers to connect together to share resources and/or data LAN - Local area network –Organizational WAN - Wide area network –Internet Requires additional hardware –modem –network interface –servers
13
The “Cloud” Wireless access –WiFi –Cell Servers –Storage –Applications 13
14
14 World Wide Web Introduced 1989 Developed by CERN –European Laboratory for Particle Physics Web browser - GUI –Netscape –IE –Firefox
15
15 1.3 Computer Software Operating system Other system software –utilities –programming language systems Applications
16
16 Operating System E.g. Windows ®, Linux, Mac OS X, Unix ® Controls –the interaction of system with the user –hardware interactions Part is usually stored on ROM, rest on hard drive –This arrangement requires booting the system
17
17 Some OS Responsibilities Communicating with the user; receiving user commands Managing allocation of memory, processor time, file system, and other resources Collecting input from keyboard, mouse, etc. Conveying output to screen, printer, etc. Writing data to secondary storage devices
18
18 Application Software Does the “real” work Common application software –Word processors –Desktop publishing programs –Spreadsheets –Presentation managers –Drawing programs
19
19 Programming Languages Machine Language –Most fundamental language of the computer –Unique for each processor type –Binary 0s and 1s that specify what to do 0010 0000 0000 0100 1000 0000 0000 0101 0011 0000 0000 0110
20
20 Table 1.2 A Program in Machine and Assembly Language
21
21 High - Level Languages Resemble human language –Java, C++, C, Pascal, FORTRAN, Ada a = a + b; More compact and human understandable than machine language Must be translated into machine language
22
22 1.4 Processing a High-Level Language Program Set of programs used to develop software A key component is a translator –Compiler Examples –Java, g++, Microsoft Visual C++ ® Other programs needed –Editor –Linker –Loader IDE (e.g. Eclipse)
23
23 Processing a Program Editor used to enter the program –Like minimal word processor –Creates source program file Compiler translates the source program –Displays syntax errors –Creates (usually) temporary object code file Linker/Loader to combine object file with other object files and execute program –Creates final executable program
24
24 Executing a Program CPU –examines each program instruction in memory –sends out command signals required to carry out the instruction Special instructions used to –input data into memory for the program to use –output data to display or printer (or other device)
25
25 Editor used to create program Source File Compiler translates program into machine language Error Messages unsuccessful Linker connects object files Object File Other Object Files Executable File successful Loader prepares for execution Compilers
26
26 Editor used to create program Source File Compiler translates program into machine language Error Messages unsuccessful Java Runtime Environment Byte Codes Other Object Files successful.java.class Java
27
27 1.5 Software Development Method 1.Problem Analysis –Identify data objects –Determine Input / Output data –Constraints on the problem 2.Design –Decompose into smaller problems –Top-down design (divide and conquer) –Develop Algorithm (Desk check) Algorithm refinement
28
28 Software Development Method 3.Implementation Converting the algorithm into programming language 4.Testing –Verify the program meets requirements –System and Unit test 5.Maintenance –All programs undergo change over time
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.