Programming
Definition What Where How FIRST
The Rise of the Machines Mechanical & Electro-mechanical calculatorsPersonal Computers Commercial Mainframe ComputersMinicomputers SupercomputersServer Portable Devices From November 2011 issue of Popular Science
Last 40 Years IBM PC $7586 CRAY I $25,501, Dell Latitude (Intel Core i7 2.67GHz) $2049 CRAY CS6400 $567,879 Sony PlayStation 3 $553 iPad2 $499
PlayStation 3 Supercomputer (‘Only’ $35,000!)
Data Ocean Video helps understand data size o If we think of 1 byte as 1 drop of water: o DVD: 4.7GB = 62,700gal; 10 would fill Olympic-size swimming pool o Hard Drive: 4TB = 53Million gal o Human Brain: 2.5Petabytes = 33Billion gal, or 103,000 acre-feet; French Meadows Reservoir o Websites indexed by Google: 98Petabytes = 4Million acre-feet; Lake Shasta o Digital data created in 2008: 422Exabytes = 17Billion acre-feet, or 5,100 cubic miles; Lake Baikal in Russia (largest freshwater lake in the world) o Digital data created in 2011: 1.8Zettabytes (!) = 21,740 cubic miles; nearly half of all fresh water on earth. o Storage capacity: 1Zettabyte
Definition Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a certain desired behavior. The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic. - WikipediaWikipedia
What? Operating Systems Applications Web Sites
Games
Where? Computers Handhelds Others
Where? (2) Mercedes S Class o 20 million lines of code o Electronic Control Units (ECUs) as an Airbus A380 Fighters o 1.7 million lines in the F22 Raptor o B-2 Bomber fly by wire controls and flight data recording Aircraft o 6.5 miillion line in the 787 Dreamliner - ieee spectrumieee spectrum
How? o Process Requirements gathering Designing Coding Testing/Debugging Documenting Maintaining o Development methodology Waterfall Agile
Languages o C++ o Scala o PHP o HTML o Javascript o Assembly o Java
Language Popularity
First o Projects Robot controller o Joystick o Motor controllers o Solenoids o Pneumatics Website o Current content o Chronical build season …