- Assignments - Reading - Required: 0.3, 0.4 - Recommended: Rest of 0.1, 0.2 - Surf web site - First CodeLab assignment due 9/8 - exam date/accomodation issues - Complete survey by Monday 9/13 - Introduce self - Introduce course - clarify this type intended for people intersted in major/further coursework - 367 for experienced - Difficulty warning + encouragement - time consuming - possible for everyone to succeed: that is my goal! - What like to learn programming - How many hours need to study - Survey about office hours - CodeLab - Assignments and collaboration policy - Clarify exam date conflict policy - Clarify grading criteria - McBrnie students must talk to me by end of next week - Clarify attendance policy - if no attendance, same as grade - attendance adds by that percentage to grade - What is a computer program - takes input, does something with it, generates output - What is programming/a computer programmer - puzzles - History of computers: read about in book - Computer technology - 1st gen: vacuum tube - 2nd gen: transistor - 3rd gen: integrated circuit - Networking - definition - purpose - Binary numbers - definition of base/radix - Why not base 10? (transistors) - bits - binary to decimal: mult by base & add - decimal to binary: keep on div quotient by 2, note remainders - How a computer works (components) - CPU, RAM, storage, i/o, communication device - CPU - registers - ALU - clock speed - Memory - Main - prefixes are binary - k = 2^10 = 1,024 - M = 2^20 = 1,048,576 - G = 2^30 = 1,073,741,824 - Stack, heap - static, constant - Storage device - secondary - nonvolatile - relative speed to main memory - Communication device - modem, cable, DSL - Programming Lang - history - machine - assembly (assembler) - high-level - OO - 1960s Simula - Smalltalk - compilers (Code Warrior/Lab) - Java bytecode, VM and interpreter - errors - compile-time - run-time - logical - Why not Engligh - Java - James Gosling, Sun - C based - web programming: applets (mini-app for browser) - applications - clean design - Demo program /* * Demo of a program. * No one should be deprived of a "Hello world" program! */ public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }