COSC 1301 Introduction Plan for Today: Review course policies and coverage Homework, Projects and Exams Class Communication Computers and the Internet: In Our Lives Brief Introduction to Chapter 1: Computers then and now
Homework and Projects Electronically submitted assignments – text file, word document via Canvas Python Programs We will use Python 3.4 Optional reference: Python Programming for the Absolute Beginner (3rd edition) by Dawson Webpages (using HTML and CSS)
Exams Three in-class midterm exams Final exam Cover material from lecture, homework and projects Final exam During final exam period – date and time assigned by university
Communication Email: spalanis@stedwards.edu Office hours: Thursday after class 11:00am to 12:00pm JBWS 290
Ancient History: Computers: Then… The IBM 360: 1960s and 1970s http://plyojump.com/classes/mainframe_era.php Photograph from Computer History Museum Approximately 2 MB (1/500 GB) of memory
Computers: Then and Now Circa 1970: 1/500 GB What’s next? 2050? 2017: 64 GB
Moore’s Law Not actually a law Observation by Gordon E. Moore, Intel co-founder, that: # of transistors on integrated circuit seems to double every two years Corresponding exponential increase in processing speed and memory capacity
Moore’s Law
Computing Power: Now http://commons.wikimedia.org/wiki/File:Rice_p1160004.jpg Computing power and connections between computers growing very fast. Cost: 1 grain of rice == 200k transistors Transistor: electronic switch that’s either on or off Many times more transistors produced each year than number of grains of rice consumed. Plus: A transistor is cheaper than a grain of rice!
Your “Computers” What was your first computer? Mine: Windows 95 What “computers” do you use regularly now? http://en.wikipedia.org/wiki/Windows_95, via Digital camera, DVD player, tablet, laptop, smart phone, GPS navigator, ATM, google glass, cars
Computer Programming: Then… Through 1970s: Programs on Punch Cards http://en.wikipedia.org/wiki/Computer_programming_in_the_punched_card_era One card per program instruction. Each character in the program statement encoded per column – the first character, Z, is encoded as 001000000001
Computer Programming: Then… Assembly Language Program: Prints the message “HELLO WORLD” to the console HELLO CSECT The name of this program is 'HELLO' * Register 15 points here on entry from OPSYS or caller. USING *,12 Tell assembler which register we are using for pgm. base STM 14,12,12(13) Save registers 14,15, and 0 thru 12 in caller's Save area LR 12,15 Set up base register with program's entry point address LA 15,SAVE Now Point at our own save area ST 15,8(13) Set forward chain ST 13,4(15) Set back chain LR 13,15 Set R13 to address of new save area * -end of housekeeping (similar for most programs) - WTO 'Hello World' Write To Operator (Operating System macro) * L 13,4(13) restore address to caller-provided save area LM 14,12,12(13) Restore registers as on entry SR 15,15 Set register 15 to 0 so that the return code (R15) is Zero BR 14 Return to caller SAVE DS 18F Define 18 fullwords to save calling program registers END HELLO This is the end of the program http://en.wikipedia.org/wiki/IBM_Basic_assembly_language_and_successors
Computer Programming: Now We’ll write the “Hello World” program in Python: def main(): print(“Hello World”) main()
Why Not English? Why can’t we just write our programs in English? English is ambiguous What does “Feed the cat John” mean? And: “We saw her duck” Google “English structure”: hierarchical structure of the government in Great Britain structure of sentences in the English language etc.
Where are the Computers? 1960s/ 1970s Today iphone photo courtesy of Brett Jordan: http://www.flickr.com/photos/55497864@N00/6253647584 IntelliSeat photo courtesy of Elaine Rich (programmable toilet) …
This Class How do we store data (pictures, videos, text, etc) in a computer, what are the physical/electronic parts of a computer, how do we give instructions to a computer, etc. Image from textbook slides
What can Computers do? Beat former champs at Jeopardy! Watson: 2011 Next for Watson: Helping make health care decisions for lung cancer patients Image: http://en.wikipedia.org/wiki/File:Watson_Jeopardy.jpg
Dr. Watson 'A machine like that is like 500,000 of me sitting at Google and Pubmed.‘ -- Herbert Chase, M.D., Columbia University Wired magazine: https://www.fool.com/investing/2017/03/21/ibms-watson-is-tackling- medicines-most-complex-pro.aspx
What’s Next? Autonomous traffic management Photo courtesy of Peter Stone: http://www.cs.utexas.edu/~AIM Autonomous traffic management