CSS 161 Fundamentals of Computing Introduction to Computers & Java September 26, 2012 CSS 161: Fundamentals of Computing Instructor: Uma Murthy CSS SKL 161 A Instructor: Joe McCarthy
Outline Update / reminder Introduction to Computers Introduction to Java CSS 161: Fundamentals of Computing
Updates Assigned readings – Any material in assigned readings is potential fodder for exams, regardless of whether we cover it in a lecture, lab or assignment Slides will always be posted on web site – Typically, shortly after each class Please complete survey by Friday, Sep 28 CSS 161: Fundamentals of Computing
Required Textbook Absolute Java, 5 th Edition Walter Savitch & Kenrick Mock Addison-Wesley, 2013 CSS 161: Fundamentals of Computing 4 th Edition OK, too
Supplemental Material (1/2) CSS 161: Fundamentals of Computing Java: An Introduction to Problem Solving & Programming, 6 th Edition Walter Savitch Addison-Wesley, h01.pdf h01.pdf (access via “Notes” link on course homepage)
Supplemental material (2/2) Practice It! Instructions to be provided in the coming weeks CSS 161: Fundamentals of Computing
Experimentation via programming “Do not be too timid and squeamish about your actions. All life is an experiment. The more experiments you make the better.” - Ralph Waldo Emerson CSS 161: Fundamentals of Computing Corollary: All programs are experiments. The more programs you make the better.
Other introductory CS courses CSS 161: Fundamentals of Computing
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 Computing
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 Java, so we want JDK – Which includes JRE CSS 161: Fundamentals of Computing
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
Downloading BlueJ [optional] CSS 161: Fundamentals of Computing
Computers CSS 161: Fundamentals of Computing
Computer Hardware CSS 161: Fundamentals of Computing
Computer Hardware CSS 161: Fundamentals of Computing
Computer Software CSS 161: Fundamentals of Computing
Computer Software CSS 161: Fundamentals of Computing
Note: program must be loaded into memory in order to execute
Computer Memory CSS 161: Fundamentals of Computing
Computer Memory CSS 161: Fundamentals of Computing Alternate perspectives: Key attributes: addressable / labeled locations that can store things
Computer Disk(s) CSS 161: Fundamentals of Computing
Computer Disk(s) CSS 161: Fundamentals of Computing Alternate perspectives:
Hierarchy of Memory CSS 161: Fundamentals of Computing Variables? [CSS 422 and CSS 430 go into much further depth]
Hierarchy of Memory CSS 161: Fundamentals of Computing Variables: Speed Cost Size Volatility [CSS 422 and CSS 430 go into much further depth]
CSS 161: Fundamentals of Computing
[In Mac OS X Terminal window] CSS 161: Fundamentals of Computing localhost:code umurthy$ ls FirstProgram* FirstProgram.java localhost:code umurthy$ javac FirstProgram.java Localhost:code umurthy$ ls FirstProgram* FirstProgram.classFirstProgram.java Localhost:code umurthy$ java FirstProgram Hello reader. Welcome to Java. Let's demonstrate a simple calculation. 2 plus 2 is 4 Localhost:code umurthy$
CSS 161: Fundamentals of Computing
Next time LAB 1 on Friday Homework 1 handed out on Monday Console input and output CSS 161: Fundamentals of Computing