1CMSC131 Lecture Set 1: IntroductionTopics in this set:1. Course information2. Tools needed for this course3. Computer terminology basics0CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)CMSC 131 Name: “Object-Oriented Programming I” Instructors: Jan Plane & Ben Bederson TAs: see Contact web page Class meetings Lab and Lecture Office Hours Posted on Web Page Start Wednesday All in AVW building1CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)2What Is This Course? A fast-paced introduction to techniques for writing computer programs! Skill Development in Programming Conceptual Understanding of Programming Beginning of “computer science” There will be quite a bit of work but assumes you are starting at level 0. Keys to success Attend all classes and lab sections Start assignments early – and continue until you truly understand Get help early if you are having trouble – instructor & TAs Study every day it doesn‟t work to cram for these exams ask questions as soon as you realize you are confused Check announcements on course web-page every day2CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)Textbooks & Course Web-Page Textbook is only “recommended” not “required” http://www.cs.umd.edu/class/spring2010/cmsc131/ Check daily! Review: Announcements Syllabus Contact Schedule Lecture slides – outlines Study questions – login: study password: daily3CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)3Course Software Eclipse An IDE (integrated 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 some 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 later4CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)Tools for Writing Programs The old days Text editor: used to create files of source code Compiler: generate executables from source Debugger: trace programs to locate errors Today: IDE = “integrated development environment” Text editor / compiler / debugger rolled in one Examples: Eclipse, Visual Studio, NetBeans, etc.5CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)4Basics of Eclipse http://www.cs.umd.edu/eclipse/EclipseTutorial/ Eclipse is used to: Create Edit Compile Run Debugprograms (for this class, Java programs).6CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)Basics of Eclipse-speak Project: collection of related source files To create a program in Eclipse: Create a new project Create files in the project Perspective: framework for viewing and/or manipulating programs Important perspectives in this class: Java: for creating, running programs Debug: for tracing, removing errors in programs CVS repository: for interacting with assignment-submission system Workspace: Where your files are stored locally Buffer: Window where editing takes place Demo7CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)5Class Projects with CVS You will use Eclipse for Java programming in this course How will you: obtain (check-out) files that are supplied to you save (commit) the files for later work turn in (submit) when you are finished CVS (= Concurrent Versions System) Tool for project-file management Maintains versions, etc. Allows different sites to work on same project8CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)CVS Worldview9Files in“repository”ServerFiles(local copies)Client 1Files(local copies)Client 2“checkout”“checkout”“commit”“commit”CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)6CVS in More Detail CVS server maintains current versions of files in project (= “repository”) To access files from another machine (“client”), repository files must be “checked out” Changes to files on client may be “committed” to server, with changed files becoming new version (Once a repository is checked out by a client, subsequent versions may be accessed via “update”)10CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)How CMSC Project Submission Works Repository created for each student linuxlab account You check out repository to start work on project When you “save” changes in Eclipse, “commit” automatically invoked by plug-ins You “submit” when finished using Eclipse (UMD plug-in handles relevant CVS commands)11CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)7Adding a CVS Repository13Common to everyoneYour linuxlab usernameYour linuxlab passwordDon‟t forget to set this!CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)Working on Project You do not have this project showing in the Java perspective. You go to the CVS perspective and check it out. When you switch back to “Java” perspective, your project is now there! Make sure you are in the Java perspective to edit When you save in “Java” perspective, changes are automatically committed to CVS repository.14CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)8Submitting the Project Edit the file Make sure it runs correctly Submit the project for grading Go to submit.cs.umd.edu to see test results Public tests Private tests Release tests give limited feedback (first two failed tests give more) costs you “tokens” – usually 3 to start with spent tokens regenerate in 24 hours15CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)Computer 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 perform16CMSC 131 Spring 2010Jan Plane and Ben Bederson(adapted from Bonnie Dorr)9Hardware Overview CPU = central processing unit Executes the "instructions“ in
View Full Document