CMSC131 Lecture Set 1 Introduction Topics in this set 1 Course information 2 2 Tools needed for this course 3 Computer terminology basics CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr CMSC 131 Name Object Oriented Programming I Instructors Jan Plane Fawzi Emad TAs Christopher Arijit Ke Tak Shiv Chan Praveen Qiang Yuening Eylul Nir and Ben Class meetings Lab and Lecture Office Hours Posted on Web Page Mine start today and TAs start Wednesday All in AVW building 1112 1113 and 1127 CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 1 1 What Is This Course A fast paced introduction to techniques for writing computer programs Skill Development in Programming Conceptual Understanding of Programming Not really 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 G t help h l early l if you are having h i ttrouble bl instructor i t t TAs TA 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 day CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 2 Textbooks Course Web Page http www cs umd edu class fall2009 cmsc131 http www cs umd edu class fall2009 cmsc131 Check daily Review Announcements Syllabus Contact Schedule Lecture slides outlines Study questions login study password daily CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 3 2 Course 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 later CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 4 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 integrated development environment environment Text editor compiler debugger rolled in one Examples Eclipse Visual Studio NetBeans etc CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 5 3 Basics of Eclipse http www cs umd edu eclipse EclipseTutorial Eclipse is used to Create Edit Compile Run Debug programs for this class Java programs CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 6 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 Demo CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 7 4 Class 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 Tooll ffor project file T j t fil managementt Maintains versions etc Allows different sites to work on same project CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 8 CVS Worldview commit checkout checkout Files locall copies l i Files in repository checkout Client 1 Server Fil Files local copies commit CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr Client 2 9 5 CVS in More Detail CVS server maintains current versions of files in project j t repository it 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 CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 10 How CMSC Project Submission Works Repository created for each student linuxlab accountt You check out repository to start work on project When you save changes in Eclipse commit automatically invoked by plug ins You submit submit when finished using Eclipse UMD plug in handles relevant CVS commands CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 11 6 Demo 1 2 3 4 5 6 7 Making a new Repository Location Checking Out a project Making changes to that project Committing the project Program execution Submitting the project Looking at the runtime results CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 12 Adding a CVS Repository Common to everyone Your linuxlab username Your linuxlab password Don t forget to set this CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 13 7 Working on Project You do not have this project showing in the Java perspective i You go to the CVS perspective and check it out When you switch back to Java perspective your project is now there Make sure y you are in the Java perspective to edit When you save in Java perspective changes are automatically committed to CVS repository CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 14 Submitting 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 R l Release ttests t give limited feedback first two failed tests give more costs you tokens usually 3 to start with spent tokens regenerate in 24 hours CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 15 8 Computer Organization Hardware physical parts of computer Monitor mouse keyboard Chips boards Cables cards etc Software non physical non physical logical logical parts of computer Programs instructions for computer to perform CMSC 131 Fall 2009 Jan Plane adapted from Bonnie Dorr 16 Hardware Overview CPU central processing unit Main memory random access memory RAM Stores data that can be loaded into main memory SLOWER but permanent I O devices 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 Executes the instructions in programs How you communicate with your machine Keyboard monitor mouse speakers etc Networking equipment How
View Full Document