CSCI 1200 / ASSC 1000
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.
LOAD 128 ADD 129 STORE 128 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! 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..