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 • Written assignments to turn in during class • News articles on class material: turn in hard copy of article, and be prepared to summarize it in class on due date • Electronically submitted assignments • via Dropbox • via Blackboard • Python Programs • We will use Python 3 • Optional reference: Python Programming for the Absolute Beginner (3rd edition) by Dawson • Webpages (using HTML and CSS) Class Documents • Course Description Here: http://faculty.stedwards.edu/jbryan2/cosc1301/cosc1301courseInfo.html • Course Schedule Here: http://faculty.stedwards.edu/jbryan2/cosc1301/cosc1301schedule.html • Office Hours Here: http://faculty.stedwards.edu/jbryan2/officeHours.html • Class Notes and Slides: NOT posted and not given out. You must come to class or get with another student to copy notes. Exams • Three in-class midterm exams • Cover material from lecture, textbook, homework and projects • Final exam • During final exam period – date and time assigned by university • All exams are equally weighted • I typically allow the use of one 3X5 card with notes for exams Communication • Email: jbryan2@stedwards.edu (Best way to contact me; fastest response) • Office hours: http://myweb.stedwards.edu/jbryan2/officeHours.html • JBWS 280 • Phone: 512-464-8834 Electronic Devices In Class • No electronic devices in class, including laptops, cell phones, Ipads or any other device • We will have exercises in class on the computers around the edge of the classroom What Will You Learn? • Create web pages • The parts of a computer (hardware and software) • Basics of networking • Basics of security • Discussions on privacy • Basics of programming (using Python) • Primary Goal: Reveal the mysteries of how computers work This Class Ancient History: Computers: Then… The IBM 360: 1960s and 1970s Approximately 2 MB (1/500 GB) of memory Computers: Then and Now Circa 1970: 1/500 GB 2013: 16 GB Moore’s Law • Not actually a law • Observation by George 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 http://en.wikipedia.org/wiki/Moores_law Computing Power: Now 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: PC with 8088 Processor • • • • • No hard drive Two 5.25 inch floppy disks 8 bit data bus Could only address 1mb of memory Cost: $2200 • What “computers” do you use regularly now? Computer Programming: Then… Through 1970s: Programs on Punch Cards 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 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 … What’s Next? Car That Can Gossip? http://www.ted.com/talks/jennifer_healey_if_cars_could_talk_accidents_might_be_avoidable