260 likes | 413 Views
CSCI 1200 / ASSC 1000. Jbenoit@cs.dal.ca. Software. program : instructions for hardware. makes computers useful. early computers : re-wiring. today : programming languages. Fast & Stupid. very basic instructions : math, logic, move & copy values, etc… results achieved through speed.
E N D
CSCI 1200 / ASSC 1000 Jbenoit@cs.dal.ca
Software • program : instructions for hardware. • makes computers useful. • early computers : re-wiring. • today : programming languages.
Fast & Stupid • very basic instructions : • math, logic, move & copy values, etc… • results achieved through speed. • computers are unforgiving, instructions must be precise.
Programming • algorithm – general procedure • programming – handle the specifics • debugging – finding and fixes errors.
Languages • Machine Language • Assembly Language • High Level Programming Language • Natural Language
Machine Language • understood by the hardware. • executed by the CPU. • binary strings. • instruction set.
Assembly Language • mnemonics mapped to bit strings. • slow & error-prone for people. • better hardware performance.
0000010010000000 0000000010000001 0000010110000000 0000111100000000 LOAD128 ADD129 STORE128 HALT
High Level Language • more familiar for people. • english-like structure. • examples : C, C++, Java, FORTRAN, and Visual Basic.
High Level Language var x; var y; if (x == 2) then x = y + 1; else x = 0; print(“the value of x is ”, x);
Translation • Compiler / Interpreter • source code to machine code. • high level language is hardware independent, but translated to hardware dependant machine code.
Kinds of Software • Translation Software • System Software : • Operating systems (Wiindows, UNIX,etc) • “talk” to the hardware • Application Software : • use operating system and hardware to do something, MS Word, netscape etc.
System Software Operating System : • communication with peripherals • coordination • storing and retrieving data • running programs • managing memory • network communications • resource monitoring, account, security
System Software Operating System Details : • Windows XP, Mac OS X, UNIX, Linux, Window CE • platform : OS and hardware (Wintel). • emulation : like something else.
System Software Utility Programs : • repairing damaged files. • copy files from one storage device to another. • guarding against viruses. • may look like are of the OS.
System Software Device Drivers : • control and interface a hardware component or peripheral. • may come with the operating system, or with the component.
Input Devices Keyboards : • Qwerty / Dvorak / Alphabetic • ergonomic • compact • membrane • one handed • folding
Input Devices `~ 1! 2@ 3# 4% 5^ 6^ 7& 8* 9( 0) [\{ ]} \\| '" ,< .> p y f g c r l /? += a o e u i d h t n s -_ ;: q j k x b m w v z
Input Devices Pointing Device : • selecting from options / menus. • spatial tasks / graphics applications. • efficiency
Input Devices : Pointing • Mouse : mechanical, light • Touch Pad : finger pressure • Track Ball : upside down mouse • Pointing Stick : TrackPoint, Isopoint • Joystick : and other gaming devices • Tablet & Stylus • Touch Screen
Input Devices : Reading • Optical Mark Readers • Bar Code Readers • Magnetic Ink Character Readers • RFID Tags & Readers
Input Devices : Reading • Optical Character Recognition • Handwriting recognition • Smart Whiteboard
Input Devices : Digitizing • Scanner • Digital Camera • Video Digitizer • Digital Video Camera
Output : Monitor • most familiar (VDT) • diagonally in inches • pixels, dpi, resolution • colour depth : number of colours that can be displayed at one time • video adaptor / video card • VRAM
Output : Monitor • Liquid Crystal Display • Cathode Ray Tube
Output : Printers • impact & non-impact • dot matrix printers & line printers • laser & ink jet • resolution • plotter • multi-function devices..