Introduction to Computers & Java CSS 161: Fundamentals of Computing Joe McCarthy 1
Outline Introduction to Computers Introduction to Computer Programming Introduction to Java CSS 161: Fundamentals of Computing2
Computers CSS 161: Fundamentals of Computing3
Computer Hardware CSS 161: Fundamentals of Computing4
Computer Hardware CSS 161: Fundamentals of Computing5
Computer Software CSS 161: Fundamentals of Computing6
Computer Software CSS 161: Fundamentals of Computing7
Note: program must be loaded into memory in order to execute 8
Computer Memory CSS 161: Fundamentals of Computing9
Computer Memory CSS 161: Fundamentals of Computing Alternate perspectives: Key attributes: addressable / labeled locations that can store things 10
Computer Disk(s) CSS 161: Fundamentals of Computing11
Computer Disk(s) CSS 161: Fundamentals of Computing Alternate perspectives: 12
Hierarchy of Memory CSS 161: Fundamentals of Computing Variables? [CSS 422 and CSS 430 go into much further depth] 13
Hierarchy of Memory CSS 161: Fundamentals of Computing Variables: Speed Cost Size Volatility [CSS 422 and CSS 430 go into much further depth] 14
CSS 161: Fundamentals of Computing15
Fundamentals of Computing CSS 161: Fundamentals of Computing16
Fundamentals of Computer Programming CSS 161: Fundamentals of Computing17
Fundamentals of Computer Programming What is a program? CSS 161: Fundamentals of Computing18
Fundamentals of Computer Programming What is a program? What is programming? CSS 161: Fundamentals of Computing19
Fundamentals of Computer Programming What is a program? What is programming? What is a computer program? CSS 161: Fundamentals of Computing20
Fundamentals of Computer Programming What is a program? What is programming? What is a computer program? What is computer programming? CSS 161: Fundamentals of Computing21
CSS 161: Fundamentals of Computing22
CSS 161: Fundamentals of Computing FirstProgram.java FirstProgram.class javac java 23
CSS 161: Fundamentals of Computing24
[In Mac OS X Terminal window] CSS 161: Fundamentals of Computing25 d :Code joe$ ls FirstProgram* FirstProgram.java d :Code joe$ javac FirstProgram.java d :Code joe$ ls FirstProgram* FirstProgram.classFirstProgram.java d :Code joe$ java FirstProgram Hello reader. Welcome to Java. Let's demonstrate a simple calculation. 2 plus 2 is 4 d :Code joe$
[In Mac OS X Terminal window] CSS 161: Fundamentals of Computing26 d :Code joe$ ls FirstProgram* FirstProgram.java d :Code joe$ javac FirstProgram.java d :Code joe$ ls FirstProgram* FirstProgram.classFirstProgram.java d :Code joe$ java FirstProgram Hello reader. Welcome to Java. Let's demonstrate a simple calculation. 2 plus 2 is 4 d :Code joe$ Program [only] computes = 4. How can we make this more general?
CSS 161: Fundamentals of Computing27
Java Programs CSS 161: Fundamentals of Computing28
CSS 161: Fundamentals of Computing29
Java Goal: – Write once, run anywhere – JDK: Java Developers Kit – JRE: Java Runtime Environment Editions – SE: Standard Edition – EE: Enterprise Edition – ME: Micro Edition (mobile, embedded) – Embedded: flash memory, closed systems Versions – 1.0 (1992), (2006), 1.7 (2011) CSS 161: Fundamentals of Computing30
Downloading Java [optional] – Current: Version 7 update 7 (1.7u7) On Mac, requires Mac OS X or higher – Can also use Version 6 update 35 (1.6u35) Supported thru February 2013 We will be writing (developing) Java code, so we want JDK – Which includes JRE CSS 161: Fundamentals of Computing31
CSS 161: Fundamentals of Computing32
Integrated Development Environments (IDEs) Programming tools – Edit text (code) + compile + run – Graphical representations of components We’ll be using BlueJ, but you can use others CSS 161: Fundamentals of Computing netbeans.orgeclipse.orgbluej.org 33
Downloading BlueJ [optional] CSS 161: Fundamentals of Computing 34
UWB CSS Labs CSS 161: Fundamentals of Computing35
Next time (Wednesday) Get textbook Read: – Absolute Java, Section – Java: An Introduction…, Sections Recommended: Section 1.4 CSS 161: Fundamentals of Computing36