COSC 1301 Introduction

advertisement
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
Download