8/30/2006 CMSC 131 Fall 2006Rance Cleaveland©2006 Univeristy of MarylandLecture 1: IntroductionToday’s topics:1. Course information2. Computer basicsCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland1CMSC 131 Section 03* Name: “Object-Oriented Programming I” Instructor: Rance Cleaveland Lab leader: Matt Mah Class meetings Lecture: MWF 3-3:50 CSIC 3117 Lab sections (CSIC 2107) 0301: MW 1-1:50 0302: MW 2-2:50CMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland2Coordination with Other SectionsTwo other sections of CMSC 131, both taught by Fawzi Emad All sections will be closely coordinated: Same lecture material on same day Same projects Same labs Coordinated examsCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland3What Is This Course? A fast-paced introduction to techniques for writing computer programs! There will be a lot of work! Keys to success Attend all classes and lab sections Ask questions Start assignments early Get help early if you are having trouble Study every day Check announcements on course web-page every dayCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland4Course Web-Page www.cs.umd.edu/class/fall2006/cmsc131/ Check daily! Review: Announcements Syllabus Contact Schedule Lecture slidesCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland5BookJava™ Software Solutions: Foundations of Program Design (5thedition), by Lewis & Loftus Lectures do not follow book closely Book is very useful referenceCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland6Course Software Eclipse An IDE (interactive development environment) You will use it for writing Java™ programs Access to Eclipse (it’s free!) You can install it on your own machine: http://www.cs.umd.edu/eclipse Also accessible in Workstations at Maryland (WAM) labs around campus: http://www.wam.umd.edu/ CVS (Concurrent Versions System) A version-management system You will use it for submitting your projects We will talk more about this laterCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland7Study Questions Available on web-page Login: study Password: daily Look at them on evenings before class; they will help you keep upCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland8Computer Organization Hardware: physical parts of computer Monitor, mouse, keyboard Chips, boards Cables, cards etc. Software: non-physical (“logical”) parts of computer Programs = instructions for computer to performCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland9Hardware Overview CPU = central processing unit Executes the "instructions“ in programs Main memory = random-access memory = “RAM” Stores data that CPU accesses, including instructions FAST, but temporary; wiped out when computer is shut off! Secondary memory: Hard disks, CDs, DVDs, flash memory, etc. Stores data that can be loaded into main memory SLOWER, but permanent I/O devices How you communicate with your machine Keyboard, monitor, mouse, speakers, etc. Networking equipment How others communicate with your machine Networking “cards”, cables, etc.CMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland10Main Memory Computer data consists of 0’s and 1’s (really!) A cell in main memory that can hold either a 0 or 1: bit A sequence of 8 bits: byte A sequence of 4 bytes: word Main memory: table of bytes indexed by “addresses”4321Byte valueAddress10111001100110001011111100100011CMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland11How Many Different Values in a…Bit?2 Two bits?4 = 2 x 2 Byte?256 = 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 28 Word?4,294,967,296 = 232CMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland12How Are Characters, Etc., Represented?Via encoding schemesExample: ASCII (American Standard Code for Information Interchange) Standard for encoding character values as bytes In ASCII: ‘A’ 01000001 ‘a’ 01100001 ‘,’ 00101100 etc.There are other character encoding schemes also: Shift-J, Unicode, etc.CMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland13Other Standard Terminology 1 KB = 1 “kilobyte” = 210bytes = 1,024 bytes 1 MB = 1 “megabyte” = 210KB = 1,024 KB 1 GB = 1 “gigabyte” = 210MB = 1,024 MBCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland14Software Overview1. Operating system: manages computer's resources; typically runs as soon as computer is turned on. Typical responsibilities: Process managementDetermines when, how programs will run on CPU time Memory managementControls access to main I/O, window system, network controlPerforms low-level drawing, communication operations SecurityManages user IDs, passwords, file protections, etc.2. Applications: programs users interact directly with; usually are explicitly run. Examples: Word processors Games Spreadsheets Music software, EtcCMSC 131 Fall 2006Rance Cleaveland©2006 University of Maryland15How Programs Are Executedfoo.exeProgram “foo” initiallystored in secondarystorageCOPYProgram copied into main memoryCPUCPU executesprogram
View Full Document