Lecture Set 1 Introduction Today s topics 1 Course information 2 Tools needed for this course 3 Computer terminology basics CMSC 131 Spring 2007 Bonnie Dorr adapted from Rance Cleaveland CMSC 131 Name Object Oriented Programming I Instructor Jan Plane Class meetings Lecture 03xx Lecture MWF 2 2 50 in CSIC 2117 04xx Lecture MWF 3 3 50 in CSIC 2117 Lab sections CSIC 2118 0301 0302 0401 0402 MW MW MW MW 10 00 10 50 in CSIC 2120 11 00 11 50 in CSIC 2120 11 00 11 50 in CSIC 2107 12 00 12 50 in CSIC 2107 CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 1 Coordination of Sections Five sections total of CMSC 131 All sections will be closely coordinated two lectures taught by me three lectures taught by Fawzi Emad Ten TAs in total for the 5 sections Same lecture material on same day Same projects Same labs Coordinated exams Lab Discussion Recitation Sections exercises laptops quizzes new material occasionally CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 2 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 help early if you are having trouble 2 instructors 10 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 day CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 3 Book Java Software Solutions Foundations of Program Design 5th edition by Lewis Loftus Lectures do not follow book closely Book is very useful as a reference CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 4 Course Web Page www cs umd edu class fall2007 cmsc131 Check daily Review Announcements Syllabus Contact Schedule Lecture slides outlines CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 5 2 Study Questions Available on web page Login study Password daily Look at them on evenings before class they will help you keep up CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 6 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 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 2007 Jan Plane adapted from Bonnie Dorr 7 Tools for Writing Programs The bad old days Text editor used to create files of source code Compiler generate executables from source Debugger trace programs to locate errors Today IDEs integrated development environment Text editor compiler debugger rolled in one Examples Eclipse Visual Studio etc CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 8 3 Basics of Eclipse www cs umd edu eclipse EclipseTutorial Eclipse is used to Create Edit Compile Run Debug programs for this class Java programs CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 9 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 CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 10 Eclipse Demo CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 11 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 class projects CVS Concurrent Versions System Tool for project file management Maintains versions etc Allows different sites to work on same project CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 12 CVS Worldview commit checkout Files local copies Files repository checkout Client 1 Server Files local copies commit CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr Client 2 13 CVS 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 CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 14 5 What s Needed for CVS Server machine For CMSC 131 CS linuxlab machines User authentication For CMSC 131 student linuxlab accounts CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 15 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 CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 16 To Checkout a Project Set repository location 1 Change to CVS Repository Exploring perspective in Eclipse Window Open Perspective Right click in CVS Repositories panel and select New Repository Location CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 17 6 Adding a CVS Repository Common to everyone Your linuxlab username Your linuxlab password Don t forget to set this CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 18 To Checkout a Project cont 1 2 Open repository name then Head Right click on project name to save CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 19 CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 20 7 Working on Project When you switch back to Java perspective your project is now there When you save in Java perspective changes are automatically committed to CVS repository CMSC 131 Fall 2007 Jan Plane adapted from Bonnie Dorr 21 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 Release tests give limited feedback first two failed tests give more costs you tokens usually 3 to start
View Full Document