CSCI 4152/6509 Natural Language Processing. Lab 1: FCS Computing Environment

Size: px
Start display at page:

Download "CSCI 4152/6509 Natural Language Processing. Lab 1: FCS Computing Environment"

Transcription

1 CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment vlado/csci6509 Lab Instructor: Dijana Kosmajac, Dhivya Jayaraman Slides copyright: Mike McAllister, Vlado Keselj, Magdalena Jankowska Faculty of Computer Science Dalhousie University 12-Jan-2018 (1) CSCI 4152/6509 1

2 Lab Overview An objective: Make sure that all students are familiar with their CSID and how to login to the bluenose server Refresh your memory about Linux Command-Line Interface Introduction to Perl (just hello world for now) Introduction to your SVN repository for the course Note 1: Replace csuserid with your FCS CS user id (a.k.a., CSID) Note 2: If you do not know your CSID, lookup at: 12-Jan-2018 (1) CSCI 4152/6509 2

3 Step 1: Logging in to server bluenose You can choose Windows, Mac or Linux environment in some labs Windows: you will use PuTTY program On Mac: open a Terminal and type: ssh csuserid@bluenose.cs.dal.ca (instead of csuserid use your CS userid ) On Linux: similarly to Mac, you open the terminal and type the same command: ssh csuserid@bluenose.cs.dal.ca 12-Jan-2018 (1) CSCI 4152/6509 3

4 Running PuTTY If you use Windows, then one option is to use PuTTY to login to the bluenose server Double-click the PuTTY icon, and the following window should appear: 12-Jan-2018 (1) CSCI 4152/6509 4

5 12-Jan-2018 (1) CSCI 4152/6509 5

6 Review of Some Linux Commands Step 2: pwd Step 3: mkdir csci4152 or mkdir csci6509 ls chmod go-rx csci6509 or chmod go-rx csci4152 Step 4: cd csci6509 or cd csci4152 Make directory lab1 and change your current directory to it. 12-Jan-2018 (1) CSCI 4152/6509 6

7 Step 5: Using emacs prepare hello.pl Use an editor: emacs or some other (e.g., vi, pico... ) #!/usr/bin/perl print "Hello world!\n"; Step 6: Running a Perl program perl hello.pl Another way to run the program: chmod u+x hello.pl./hello.pl 12-Jan-2018 (1) CSCI 4152/6509 7

8 Source Control with SVN In this tutorial, you will learn or refresh your knowledge about SVN. Performing these steps will be graded as a part of an assignment SVN will be used for assignment submission It is possible that not all students have the course SVN repository. In that case, let the instructor know. You will be able to finish the tutorial next week. This tutorial is slightly modified version of the SVN tutorial Source Control with SVN prepared by Michael McAllister for CSCI Jan-2018 (1) CSCI 4152/6509 8

9 Source Control with SVN Subversion (or SVN) source control system SVN can be accessed using command line interface on bluenose (Linux system); similarly on Mac GUI interfaces exist (including Windows) Development companies use some form of source control SVN is relatively popular, open-source system git is another newer open-source system (e.g., used for Linux kernel) Some commercial software: Perforce and ClearCase Predecessors: SCCS, RCS, CVS 12-Jan-2018 (1) CSCI 4152/6509 9

10 1. checkout projects in SVN Objectives 2. add a subproject (subdirectory) to SVN 3. add, delete files in SVN; and commit your changes 4. change files in SVN, and merge changes from different copies 5. resolve conflicts that may result from parallel changes 6. revert changes and retrieve older versions of the files 12-Jan-2018 (1) CSCI 4152/

11 Repository and Working Copy SVN uses remote directory system called repository to store files and history of their changes You can review changes and retrieve older versions Files can be shared among users and SVN can be used for collaborative work SVN uses notion of working copy of the files We send (or commit) files to the repository when we are happy with their state For example, we generally do not commit program unless they can be compiled 12-Jan-2018 (1) CSCI 4152/

12 A Couple Notes Replace csuserid with your CS user id (a.k.a., CSID) Important Security Note: Each time that you enter an SVN command in this lab, you will be asked for your bluenose password. Enter it. When asked if you want to store the password, answer no each time, since the password is not stored safely currently. If you are sure that you know what you are doing, you may temporarily say yes to make SVN use easier, but then make sure that only you have access permissions to the the directory./subversion, and it is a good idea to delete the whole directory after each session. 12-Jan-2018 (1) CSCI 4152/

13 Step 1: Set-up Before SVN Tutorial Log into bluenose in two different windows (use putty twice (windows) or ssh from two terminals (mac os)). Call one window your primary window and the other window your secondary window. In your course directory in subdirectory lab1, create two subdirectories, one called primary and another called secondary. In your primary window, make primary the working directory. In your secondary window, make secondary the working directory. 12-Jan-2018 (1) CSCI 4152/

14 Step 2: Checkout and Adding a Directory We use checkout command to retrieve a working copy In your primary window run (in one line): svn checkout You will be asked to enter the password Change directory using: cd csuserid List directory using: ls -a Notice.svn directory Create directory: mkdir svnlab Add it to the repository: svn add svnlab You should see output: A svnlab 12-Jan-2018 (1) CSCI 4152/

15 Step 3: Commit Command The svnlab directory is not in the repository yet We must execute commit to send it to the repository (all in one line): svn commit -m "Creating a project for my SVN lab" You should see the output: Adding svnlab Committed revision 2. Check the following URL using your browser: 12-Jan-2018 (1) CSCI 4152/

16 SVN Log Messages -m "xx" part adds a message to the repository All commit commands require a log message 12-Jan-2018 (1) CSCI 4152/

17 Step 4.a: Adding Files: Preparing Files Create a file name hello.pl with the following content: #!/usr/bin/perl print "Hello world!\n"; Create two copies of this file: cp hello.pl hello2.pl cp hello.pl tmp.pl 12-Jan-2018 (1) CSCI 4152/

18 Step 4.b: Adding Files Add two files: svn add hello.pl hello2.pl We see the output: A A hello.pl hello2.pl Run command: svn status Output: A hello.pl A hello2.pl? tmp.pl 12-Jan-2018 (1) CSCI 4152/

19 Step 4.c: Adding Files: Commit Commit files (one line): svn commit -m "Adding the first version of my sample files." Enter: svn status Output:? tmp.pl 12-Jan-2018 (1) CSCI 4152/

20 Step 5: Deleting Files (5.a) Delete a file: svn delete hello2.pl Output: D hello2.pl Enter: svn status Output:? tmp.pl D hello2.pl 12-Jan-2018 (1) CSCI 4152/

21 Step 5.b: Deleting a File (2) Enter in one line: svn commit -m "File hello2.pl was added by mistake earlier. It was just a backup copy of hello.pl" The file is deleted, but it can be retrieved from the repository 12-Jan-2018 (1) CSCI 4152/

22 Step 6: Checking out Second Copy Go the secondary window and make sure you are in the directory:... /lab1/secondary/ You can check this using command: pwd In secondary window get the second working copy: svn checkout nlp-course/csuserid/svnlab Change directory: cd svnlab List the contents: ls -la 12-Jan-2018 (1) CSCI 4152/

23 Step 7: Changing Files (7.a) In your primary window edit hello.pl to become the following file: #!/usr/bin/perl for my $i (1..10) { print "Hello world!\n"; } Run: svn commit In the secondary window run: svn update Verify that the file has been updated 12-Jan-2018 (1) CSCI 4152/

24 7.b: Modifying a File In your primary window: edit your copy of hello.pl and change the for loop to iterate 15 times rather than 10 tiems, and save the file. Run: svn status You should get the following output: M hello.pl? tmp.pl M indicates that the file has some modifications which are not in the repository 12-Jan-2018 (1) CSCI 4152/

25 Step 7.c: svn diff command Run: svn diff hello.pl Output will show differences between working version and repository version Commit the change: svn commit -m "Use a longer loop iteration" Try again svn diff hello.pl No output. Why? In the secondary window look at hello.pl 12-Jan-2018 (1) CSCI 4152/

26 Step 7.d: Update In the secondary window run: svn update Output: Updating. : U hello.pl Updated to revision 36. U means that there is a more recent copy in the repository Check again file hello.pl 12-Jan-2018 (1) CSCI 4152/

27 Step 7.e: Delete Let us remove a file: rm hello.pl Check that it does not exist: ls (Still in secondary window) Run: svn status Output:! hello.pl! is an indicator that the file is missing Run: svn update The file hello.pl is restored 12-Jan-2018 (1) CSCI 4152/

28 Step 7.f: Parallel Changes Let us change hello.pl in both windows: In primary window add a print statement before the loop: print "I am about to start the loop\n"; In secondary window add a print statement after the loop: print "I have finished the loop\n"; In each windows use svn status to verify that the working file is different from the repository copy (indicator M) 12-Jan-2018 (1) CSCI 4152/

29 Step 7.g: Merging Changes In primary window commit changes, e.g.: svn commit -mprimary Try to commit changes in secondary window, e.g.: svn commit -msecondary Commit fails since the repository copy changed since our last update Run: svn update Output: G hello.pl Updated to revision 37. G indicates that changes have been merged 12-Jan-2018 (1) CSCI 4152/

30 Step 7.g (cont): Merging Changes (Still in secondary window) Edit file hello.pl to make sure you are happy with merged changes Run: svn commit -m"merged changes" This will submit merged changes to repository In both windows run: svn update Now both windows contain the latest copy in repository 12-Jan-2018 (1) CSCI 4152/

31 Step 7.h: Conflicting Changes In primary window change hello.pl so that the loop iterates 30 times Commit the change In secondary window change hello.pl so that the loop iterates 5 times Try to commit the change Similarly as before commit fails, so we need to do update first Run svn update However, changes are not merged this time 12-Jan-2018 (1) CSCI 4152/

32 We get the following message Conflict discovered in hello.pl. Select: (p) postpone, (df) diff-full, (e) edit, (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: df see differences, or different options of editing or fixing the file Let us choose to postpone, enter: p We can see now several files in secondary window by running: ls The files are (likely with different version numbers): hello.pl the hello.pl file with the diff information embedded hello.pl.mine your modified code hello.pl.r38 the original copy of the code that you modified in this working directory (revision 38) hello.pl.r39 the most recent version of the code in the repository (revision 39) 12-Jan-2018 (1) CSCI 4152/

33 Step 7.i: Examining Conflict (Still in secondary window) Run status command Output will include line: C hello.pl C indicates conflict that needs to be resolved Examine the log using log command: svn log hello.pl The output shows log messages (which demonstrate why it is useful to write descriptive log messages) Additional information can be obtained using diff command: svn diff hello.pl A part of the output is: +<<<<<<<.mine +for my $i (1..5) { +======= for my $i (1..30) { +>>>>>>>.r39 12-Jan-2018 (1) CSCI 4152/

34 Step 7.j: Resolving Conflict Fix hello.pl file. Usually, you can either: Edit hello.pl directly (delete extra lines, etc.) Choose our version: cp hello.pl.mine hello.pl Choose repository version: cp hello.pl.r39 hello.pl Choose original last updated version: cp hello.pl.r38 hello.pl We can simply choose: cp hello.pl.mine hello.pl To indicate that the conflict has been resolved, and hello.pl is the version that we want submitted to the repository, we issue svn resolved command: svn resolved hello.pl Other files (hello.pl.mine and hello.pl.rx) are removed Finally, we commit the change: svn commit -m"conflict resolved" 12-Jan-2018 (1) CSCI 4152/

35 Step 8: Retrieving copies of previous work 8.a: Sometimes we make changes to a program and want to undo them It is useful to make commit each time we reach a stable point Aside: If collaborating with someone, it is useful to do frequent updates and commits In secondary window: Introduce error in file hello.pl; e.g., change word print to pprint Save the file but do not commit Suppose that we want to undo the change to the last saved copy in the repository. We already know three options: make checkout elsewhere and get the fresh copy from there delete hello.pl and run update use diff to identify changes and manually reverse them All these involve unnecessary work; much easier: svn revert hello.pl 12-Jan-2018 (1) CSCI 4152/

36 Step 8.b: Retrieving Older Versions How to retrieve older versions of a file? We can use -r option with the update command: svn update -r 34 hello.pl We can use log command (svn log hello.pl) to find interesting revision numbers Check the contents of hello.pl If you change this file and try to commit, it will not work as a newer version is in the repository. You would need to make an update, and likely resolve any conflicts. Instead, simply run: svn update This will get the latest version from the repository 12-Jan-2018 (1) CSCI 4152/

37 Step 8.c: Retrieving by Timestamps Sometimes we do not know exact revision number, but we know time when the directory was last stable. We can specify time to retrieve the latest version that existed at this time For example: svn update -r "{ :00:00}" 12-Jan-2018 (1) CSCI 4152/

38 Step 9: End of the Lab After finishing with commits, you can even delete primary and the secondary directory, since all required updates are submitted to the SVN. If you want, you can still keep them until Assignment 1 is marked, just to be sure. To delete the directories, you will need to be in their parent directory, and use the command rm -r primary secondary End of the lab. 12-Jan-2018 (1) CSCI 4152/

9 and 11-Jan CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment, SVN Tutorial. FCS Computing Environment, SVN Tutorial

9 and 11-Jan CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment, SVN Tutorial. FCS Computing Environment, SVN Tutorial Lecture 1 p.1 Faculty of Computer Science, Dalhousie University CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment, SVN Tutorial 9 and 11-Jan-2019 Lab Instructor: Dijana Kosmajac,

More information

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019 CSCI 2132: Software Development Subversion (and Git) Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Version Control Systems A version control system allows us to Record the history

More information

CSCI 2132 Software Development. Lecture 5: File Permissions

CSCI 2132 Software Development. Lecture 5: File Permissions CSCI 2132 Software Development Lecture 5: File Permissions Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 14-Sep-2018 (5) CSCI 2132 1 Files and Directories Pathnames Previous

More information

Department of Computer Science College of Engineering Boise State University

Department of Computer Science College of Engineering Boise State University Department of Computer Science College of Engineering Boise State University 1/18 Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control

More information

Computer Labs: Version Control with Subversion

Computer Labs: Version Control with Subversion Computer Labs: Version Control with Subversion 2 o MIEIC Pedro F. Souto (pfs@fe.up.pt) September 24, 2012 The Problem $edit foo.c, make, run, edit, make, run,... OK! Now that it enters in graphics mode,

More information

27-Sep CSCI 2132 Software Development Lab 4: Exploring bash and C Compilation. Faculty of Computer Science, Dalhousie University

27-Sep CSCI 2132 Software Development Lab 4: Exploring bash and C Compilation. Faculty of Computer Science, Dalhousie University Lecture 4 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lab 4: Exploring bash and C Compilation 27-Sep-2017 Location: Goldberg CS Building Time: Wednesday, 16:05

More information

CS2720 Practical Software Development

CS2720 Practical Software Development Page 1 Rex Forsyth CS2720 Practical Software Development CS2720 Practical Software Development Subversion Tutorial Spring 2011 Instructor: Rex Forsyth Office: C-558 E-mail: forsyth@cs.uleth.ca Tel: 329-2496

More information

30-Jan CSCI 4152/6509 Natural Language Processing Lab 4: Perl Tutorial 3. Perl Tutorial 3. Faculty of Computer Science, Dalhousie University

30-Jan CSCI 4152/6509 Natural Language Processing Lab 4: Perl Tutorial 3. Perl Tutorial 3. Faculty of Computer Science, Dalhousie University Lecture 4 p.1 Faculty of Computer Science, Dalhousie University CSCI 4152/6509 Natural Language Processing Lab 4: Perl Tutorial 3 30-Jan-2019 Lab Instructor: Dijana Kosmajac, Afsan Gujarati, and Yuhan

More information

CSCI 2132 Software Development. Lecture 3: Unix Shells and Other Basic Concepts

CSCI 2132 Software Development. Lecture 3: Unix Shells and Other Basic Concepts CSCI 2132 Software Development Lecture 3: Unix Shells and Other Basic Concepts Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 10-Sep-2018 (3) CSCI 2132 1 Introduction to UNIX

More information

Using Subversion with LeMANS and MONACO

Using Subversion with LeMANS and MONACO Using with LeMANS and MONACO Timothy R. Deschenes and Alexandre Martin Department of Aerospace Engineering, University of Michigan September 15, 2008 Outline 1 Why Use Version Control Provides one method

More information

Lecture 01 - Working with Linux Servers and Git

Lecture 01 - Working with Linux Servers and Git Jan. 9, 2018 Working with Linux Servers: SSH SSH (named for Secure SHell) is a protocol commonly used for remote login. You can use it from a command line interface with the following syntax ssh username@server_url

More information

Computer Labs: Version Control with Subversion

Computer Labs: Version Control with Subversion Computer Labs: Version Control with Subversion 2 o MIEIC Pedro F. Souto (pfs@fe.up.pt) November 21, 2010 The Problem $edit foo.c, make, run, edit, make, run,... OK! Now that it enters in graphic mode,

More information

Warmup. A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.

Warmup. A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen. Warmup A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen. The programmer returns with 12 loaves of bread. Section 2:

More information

We first learn one useful option of gcc. Copy the following C source file to your

We first learn one useful option of gcc. Copy the following C source file to your Lecture 5 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lab 5: gcc and gdb tools 10-Oct-2018 Location: Teaching Labs Time: Thursday Instructor: Vlado Keselj Lab 5:

More information

Using CVS to Manage Source RTL

Using CVS to Manage Source RTL Using CVS to Manage Source RTL 6.375 Tutorial 2 February 1, 2008 In this tutorial you will gain experience using the Concurrent Versions System (CVS) to manage your source RTL. You will be using CVS to

More information

Managing your code: version control

Managing your code: version control Managing your code: version control Overview What is version control and why do it? SVN versus GIT Subversion (SVN) in action at the command line repositories adding stuff committing handling conflicts

More information

Introduction: What is Unix?

Introduction: What is Unix? Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix

More information

Subversion. CS 490MT/5555, Fall 2015, Yongjie Zheng

Subversion. CS 490MT/5555, Fall 2015, Yongjie Zheng Subversion CS 490MT/5555, Fall 2015, Yongjie Zheng About Subversion } Subversion } A free/open source version control system } A typical client-server model } Uses the copy-modify-merge strategy } History

More information

Version Control System. -- base on Subversion 1.4

Version Control System. -- base on Subversion 1.4 More Functionalities of a -- base on Subversion 1.4 Sui Huang A tutorial for Software Engineering Course SE2AA4 Instructor: Dr. William M. Farmer TAs: Clare So, Sui Huang, Jeffrey Heifetz Jan 10 th, 2006

More information

CSCI 4152/6509 Natural Language Processing Lecture 6: Regular Expressions; Text Processing in Perl

CSCI 4152/6509 Natural Language Processing Lecture 6: Regular Expressions; Text Processing in Perl Lecture 6 p.1 Faculty of Computer Science, Dalhousie University CSCI 4152/6509 Natural Language Processing Lecture 6: Regular Expressions; Text Processing in Perl 18-Jan-2019 Location: LSC Psychology P5260

More information

Chapter 3. Revision Control

Chapter 3. Revision Control Chapter 3 Revision Control We begin our journey into software engineering before we write a single line of code. Revision control systems (RCSes) such as Subversion or CVS are astoundingly useful for single-developer

More information

Working with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47

Working with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47 Working with GIT MNXB01 2017 Florido Paganelli Lund University florido.paganelli@hep.lu.se Florido Paganelli MNXB01-2017 - Working with git 1/47 Required Software Git - a free and open source distributed

More information

Versioning. Jurriaan Hage homepage: Slides stolen from Eelco Dolstra.

Versioning. Jurriaan Hage   homepage:  Slides stolen from Eelco Dolstra. Versioning Jurriaan Hage e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Slides stolen from Eelco Dolstra Department of Information and Computing Sciences, Universiteit Utrecht August 24,

More information

Yinghui Wang

Yinghui Wang Yinghui Wang wang382@mcmaster.ca 1 What is subversion Subversion is the tool for controlling the versions of your files. To retrieve a specific version of files To synchronize the modification made by

More information

Dalhousie University CSCI 2132 Software Development Winter 2018 Lab 8, March 22

Dalhousie University CSCI 2132 Software Development Winter 2018 Lab 8, March 22 Dalhousie University CSCI 2132 Software Development Winter 2018 Lab 8, March 22 In this lab, you will first learn more about git. After that, you will get some practice on the make utility and learn more

More information

Introduction to the UNIX command line

Introduction to the UNIX command line Introduction to the UNIX command line Steven Abreu Introduction to Computer Science (ICS) Tutorial Jacobs University s.abreu@jacobs-university.de September 19, 2017 Overview What is UNIX? UNIX Shell Commands

More information

CSC111 Computer Science II

CSC111 Computer Science II CSC111 Computer Science II Lab 1 Getting to know Linux Introduction The purpose of this lab is to introduce you to the command line interface in Linux. Getting started In our labs If you are in one of

More information

Apache Subversion Tutorial

Apache Subversion Tutorial Apache Subversion Tutorial Computer Science Standard C-6.C Diana Machado Raul Garcia Dr. Shu-Ching Chen Florida International University Computer Science 2/22/2014 What is Subversion (SVN)? A free and

More information

CSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn

CSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn CSE 374 Programming Concepts & Tools Hal Perkins Winter 2012 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person, multi-platform, multi-month

More information

Contact No office hours, but is checked multiple times daily. - Specific questions/issues, particularly conceptual

Contact No office hours, but  is checked multiple times daily. - Specific questions/issues, particularly conceptual CS III: Lab Hi Contact - Email : jadamek2@kent.edu - No office hours, but email is checked multiple times daily. - Specific questions/issues, particularly conceptual ones. - Only exception: really odd

More information

SECTION 2: CODE REASONING + PROGRAMMING TOOLS. slides borrowed and adapted from Alex Mariakis and CSE 390a

SECTION 2: CODE REASONING + PROGRAMMING TOOLS. slides borrowed and adapted from Alex Mariakis and CSE 390a SECTION 2: CODE REASONING + PROGRAMMING TOOLS cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis and CSE 390a OUTLINE Reasoning about code Developer tools Eclipse and Java versions

More information

Intermediate Programming, Spring Misha Kazhdan

Intermediate Programming, Spring Misha Kazhdan 600.120 Intermediate Programming, Spring 2017 Misha Kazhdan Outline Unix/Linux command line Basics of the Emacs editor Compiling and running a simple C program Cloning a repository Connecting to ugrad

More information

Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

Section 2: Developer tools and you. Alex Mariakakis (staff-wide) Section 2: Developer tools and you Alex Mariakakis cse331-staff@cs.washington.edu (staff-wide) What is an SSH client? Uses the secure shell protocol (SSH) to connect to a remote computer o Enables you

More information

Exercise 1: Basic Tools

Exercise 1: Basic Tools Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit

More information

CSCI 2132 Software Development. Lecture 4: Files and Directories

CSCI 2132 Software Development. Lecture 4: Files and Directories CSCI 2132 Software Development Lecture 4: Files and Directories Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 12-Sep-2018 (4) CSCI 2132 1 Previous Lecture Some hardware concepts

More information

Computational Physics Compiling a C++ program

Computational Physics Compiling a C++ program Computational Physics numerical methods with C++ (and UNIX) Fernando Barao Instituto Superior Tecnico, Dep. Fisica email: barao@lip.pt Computational Physics (Phys Dep IST, Lisbon) Fernando Barao (1) Computational

More information

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username RSS webmaster Subversion is a powerful, open-source version control system favored by the RSS course staff for use by RSS teams doing shared code development. This guide is a primer to the use of Subversion

More information

CSCI 4152/6509 Natural Language Processing. Lab 3: Perl Tutorial 2

CSCI 4152/6509 Natural Language Processing. Lab 3: Perl Tutorial 2 CSCI 4152/6509 Natural Language Processing Lab 3: Perl Tutorial 2 http://web.cs.dal.ca/ vlado/csci6509 Lab Instructor: Dijana Kosmajac, Dhivya Jayaraman Slides copyright: Vlado Keselj, Magdalena Jankowska,

More information

CS 261 Recitation 1 Compiling C on UNIX

CS 261 Recitation 1 Compiling C on UNIX Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Compiling C on UNIX Winter 2017 Outline Secure Shell Basic UNIX commands Editing text The GNU Compiler

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. NOTE: Text

More information

LAB 0: LINUX COMMAND LINE AND SVN

LAB 0: LINUX COMMAND LINE AND SVN CSE427S LAB 0: LINUX COMMAND LINE AND SVN M. Neumann Due: TUE 23 JAN 2018 1PM No group work. The submission for this lab needs to be done via SVN repository commit. The completion of this tutorial counts

More information

Submitting your Work using GIT

Submitting your Work using GIT Submitting your Work using GIT You will be using the git distributed source control system in order to manage and submit your assignments. Why? allows you to take snapshots of your project at safe points

More information

CSE 160: Introduction to Parallel Computation

CSE 160: Introduction to Parallel Computation CSE 160: Introduction to Parallel Computation Discussion Section SVN Tutorial Based primarily on material provided by Ingolf Krueger Contributions made by Jing Zheng, Yashodhan Karandikar, and Scott B.

More information

MNXB Working with SVN. Florido Paganelli Lund University Tutorial 2b

MNXB Working with SVN. Florido Paganelli Lund University Tutorial 2b MNXB01 2016 Lund University florido.paganelli@hep.lu.se 1/73 Outline What are version/revision control systems Generic concepts of version/revision systems SVN Generic concepts of SVN SVN tutorial 2/73

More information

TDDC88 Lab 4 Software Configuration Management

TDDC88 Lab 4 Software Configuration Management TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists

More information

Introduction to the Linux Command Line

Introduction to the Linux Command Line Introduction to the Linux Command Line May, 2015 How to Connect (securely) ssh sftp scp Basic Unix or Linux Commands Files & directories Environment variables Not necessarily in this order.? Getting Connected

More information

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week Lab #8 Git Agenda - Final Project Info - All things Git - Make sure to come to lab for Python next week Final Project Low Down The Projects are Creative AI, Arduino, Web Scheduler, ios and Connect 4 Notes

More information

Subversion FOUR. 4.1 What is Version Control? 4.2 What is Subversion? Types of Version Control SESSION

Subversion FOUR. 4.1 What is Version Control? 4.2 What is Subversion? Types of Version Control SESSION SESSION FOUR 4.1 What is Version Control? Subversion Version control or revision control is the management of the evolution of information. Typically it is used in engineering or software development where

More information

Version Control Systems

Version Control Systems Nothing to see here. Everything is under control! September 16, 2015 Change tracking File moving Teamwork Undo! Undo! UNDO!!! What strategies do you use for tracking changes to files? Change tracking File

More information

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011 Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Spring 2011 Outline Using Secure Shell Clients GCC Some Examples Intro to C * * Windows File transfer client:

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. The doc is

More information

CS CS Tutorial 2 2 Winter 2018

CS CS Tutorial 2 2 Winter 2018 CS CS 230 - Tutorial 2 2 Winter 2018 Sections 1. Unix Basics and connecting to CS environment 2. MIPS Introduction & CS230 Interface 3. Connecting Remotely If you haven t set up a CS environment password,

More information

Systems Programming Advanced Software Development

Systems Programming Advanced Software Development Systems Programming Advanced Software Development School of Information and Communication Technology Griffith University Semester 1, 2012 Outline 1 Administrative Matters Course Organisation Questions?

More information

18-Sep CSCI 2132 Software Development Lecture 6: Links and Inodes. Faculty of Computer Science, Dalhousie University. Lecture 6 p.

18-Sep CSCI 2132 Software Development Lecture 6: Links and Inodes. Faculty of Computer Science, Dalhousie University. Lecture 6 p. Lecture 6 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lecture 6: Links and s 18-Sep-2017 Location: Goldberg CS 127 Time: 14:35 15:25 Instructor: Vlado Keselj Previous

More information

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP Git Guide Meher Krishna Patel Created on : Octorber, 2017 Last updated : October, 2018 More documents are freely available at PythonDSP Table of contents Table of contents i 1 Commands Summary 1 2 Git

More information

Version Control with Git

Version Control with Git Version Control with Git Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel based on https://git-scm.com/book What is Version (Revision) Control A system for managing changes

More information

2 Initialize a git repository on your machine, add a README file, commit and push

2 Initialize a git repository on your machine, add a README file, commit and push BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal

More information

Linux hep.wisc.edu

Linux hep.wisc.edu Linux Environment @ hep.wisc.edu 1 Your Account : Login Name and usage You are given a unique login name (e.g. john) A temporary password is given to you Use this to login name and password to enter the

More information

2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS

2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS SENG 371 SOFTWARE EVOLUTION LAB OUTLINE Introduction to Version Control Systems VERSION CONTROL SYSTEMS Subversion Git and Github 1 Prepared by Pratik Jain 2 INTRODUCTION TO VCS A version control system

More information

Version Control Systems (VCS)

Version Control Systems (VCS) Version Control Systems (VCS) Xianyi Zeng xzeng@utep.edu Department of Mathematical Sciences The University of Texas at El Paso. September 13, 2016. Version Control Systems Let s get the textbook! Online

More information

Software Project (Lecture 4): Git & Github

Software Project (Lecture 4): Git & Github Software Project (Lecture 4): Git & Github Wouter Swierstra, Atze Dijkstra Feb 2016 Wouter Swierstra, Atze Dijkstra Software Project (Lecture 4): Git & Github Feb 2016 1 / 45 Wouter Swierstra, Atze Dijkstra

More information

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018 Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 17, 2018 1 But first, Screen Readers The software you

More information

CPS109 Lab 1. i. To become familiar with the Ryerson Computer Science laboratory environment.

CPS109 Lab 1. i. To become familiar with the Ryerson Computer Science laboratory environment. CPS109 Lab 1 Source: Partly from Big Java lab1, by Cay Horstmann. Objective: i. To become familiar with the Ryerson Computer Science laboratory environment. ii. To obtain your login id and to set your

More information

CS Operating Systems, Fall 2018 Project #0 Description

CS Operating Systems, Fall 2018 Project #0 Description CS314-002 Operating Systems, Fall 2018 Project #0 Description Due: 11:00 A.M., September 5, 2018 I. Project Narrative: The primary objectives in this project are: (1) confirm your account (user name and

More information

Files and Directories

Files and Directories CSCI 2132: Software Development Files and Directories Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Files and Directories Much of the operation of Unix and programs running on

More information

Using WestGrid from the desktop Oct on Access Grid

Using WestGrid from the desktop Oct on Access Grid Using WestGrid from the desktop Oct 11 2007 on Access Grid Introduction Simon Sharpe, UCIT Client Services The best way to contact WestGrid support is to email support@westgrid.ca This seminar gives you

More information

User Guide Version 2.0

User Guide Version 2.0 User Guide Version 2.0 Page 2 of 8 Summary Contents 1 INTRODUCTION... 3 2 SECURESHELL (SSH)... 4 2.1 ENABLING SSH... 4 2.2 DISABLING SSH... 4 2.2.1 Change Password... 4 2.2.2 Secure Shell Connection Information...

More information

Using Subversion for Source Code Control

Using Subversion for Source Code Control Using Subversion for Source Code Control Derrick Kearney HUBzero Platform for Scientific Collaboration Purdue University Original slides by Michael McLennan This work licensed under Creative Commons See

More information

Source Control: Perforce

Source Control: Perforce USER GUIDE MADCAP LINGO 10.1 Source Control: Perforce Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this

More information

Apache Subversion (SVN)

Apache Subversion (SVN) Datamining and Sequence Analysis Florian Rasche, Kerstin Scheubert 18.10.2010 Teamwork is the concept of people working together cooperatively (Wikipedia) e.g. writing a paper, software development...

More information

Source Control. Comp-206 : Introduction to Software Systems Lecture 21. Alexandre Denault Computer Science McGill University Fall 2006

Source Control. Comp-206 : Introduction to Software Systems Lecture 21. Alexandre Denault Computer Science McGill University Fall 2006 Source Control Comp-206 : Introduction to Software Systems Lecture 21 Alexandre Denault Computer Science McGill University Fall 2006 Source Revision / Control Source Control is about the management of

More information

Saint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry

Saint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry Intro to Linux and C CSCI 2400/ ECE 3217: Computer Architecture Instructors: David Ferry 1 Overview Linux C Hello program in C Compiling 2 History of Linux Way back in the day: Bell Labs Unix Widely available

More information

Revision Control. An Introduction Using Git 1/15

Revision Control. An Introduction Using Git 1/15 Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 09 BE5B99CPL C Programming Language Part 1 Introduction and

More information

Managing Source Code With Subversion

Managing Source Code With Subversion Managing Source Code With Subversion February 3rd, 2005: phpmelb Source Code Management Source Code Management systems (SCMs) rock. Definitely the single most useful tool for a development team, ranking

More information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read) 1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 12 B3B36PRG C Programming Language Part 1 Introduction and

More information

Apache Subversion (SVN)

Apache Subversion (SVN) Datamining und Sequenzanalyse Florian Rasche, Sascha Winter 17.10.2010 Teamwork is the concept of people working together cooperatively (Wikipedia) e.g. writing a paper, software development... But how

More information

1/20/13 Git tutorial. Git tutorial. Mike Nolta. file:///users/nolta/github/reveal.js/git.html?print-paper#/ 1/31

1/20/13 Git tutorial. Git tutorial. Mike Nolta. file:///users/nolta/github/reveal.js/git.html?print-paper#/ 1/31 Git tutorial Mike Nolta file:///users/nolta/github/reveal.js/git.html?print-paper#/ 1/31 1. Basics file:///users/nolta/github/reveal.js/git.html?print-paper#/ 2/31 Tell git who you are $ git config --global

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction

More information

CS Fundamentals of Programming II Fall Very Basic UNIX

CS Fundamentals of Programming II Fall Very Basic UNIX CS 215 - Fundamentals of Programming II Fall 2012 - Very Basic UNIX This handout very briefly describes how to use Unix and how to use the Linux server and client machines in the CS (Project) Lab (KC-265)

More information

A Short Introduction to Subversion

A Short Introduction to Subversion 1 / 36 A Short Introduction to Subversion Miaoqing Huang University of Arkansas 2 / 36 Outline 1 3 / 36 The Problem to Avoid 4 / 36 The Problem to Avoid 5 / 36 The Problem to Avoid 6 / 36 The Problem to

More information

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France [Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly

More information

Getting Started with UNIX

Getting Started with UNIX Getting Started with UNIX What is UNIX? Boston University Information Services & Technology Course Number: 4000 Course Instructor: Kenny Burns Operating System Interface between a user and the computer

More information

Introduction to Revision Control

Introduction to Revision Control Introduction to Revision Control Henrik Thostrup Jensen September 19 th 2007 Last updated: September 19, 2007 1 Todays Agenda Revision Control Why is it good for? What is it? Exercises I will show the

More information

Version Control Systems. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Version Control Systems. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University Version Control Systems Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn/review: Version control systems (VCSs), as mechanisms for Maintaining file versions Safely

More information

Version Control. CSC207 Fall 2014

Version Control. CSC207 Fall 2014 Version Control CSC207 Fall 2014 Problem 1: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope you can remember what changes

More information

Common Configuration Management Tasks: How to Do Them with Subversion

Common Configuration Management Tasks: How to Do Them with Subversion Common Configuration Management Tasks: How to Do Them with Subversion Tom Verhoeff October 2007 Contents 1 The Big Picture 2 2 Subversion Help 2 3 Create New Empty Repository 2 4 Obtain Access to Repository

More information

Revision Control. Software Engineering SS 2007

Revision Control. Software Engineering SS 2007 Revision Control Software Engineering SS 2007 Agenda Revision Control 1. Motivation 2. Overview 3. Tools 4. First Steps 5. Links Objectives - Use revision control system for collaboration Software Engineering,

More information

An Introduction to Subversion

An Introduction to Subversion 1 An Introduction to Subversion Flavio Stanchi August 15, 2017 2 Table of Contents 1. Introduction What is Subversion? How to get Subversion? 2. Concepts Centralized version control Repository structure

More information

CS480. Compilers Eclipse, SVN, Makefile examples

CS480. Compilers Eclipse, SVN, Makefile examples CS480 Compilers Eclipse, SVN, Makefile examples January 26, 2015 New Project New Project C/C++ Project Create a New C Project Choose Makefile Project EmptyProject Toolchain: Linux GCC Next Advanced C/C++

More information

Lab 3a Using the vi editor

Lab 3a Using the vi editor Lab 3a Using the vi editor Objectives: Become familiar with the vi Editor Review the three vi Modes Review keystrokes to move between vi modes Create a new file with vi Editor Invoke vi with show mode

More information

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )

More information

Portions adapted from A Visual Guide to Version Control. Introduction to CVS

Portions adapted from A Visual Guide to Version Control. Introduction to CVS Portions adapted from A Visual Guide to Version Control Introduction to CVS Outline Introduction to Source Code Management & CVS CVS Terminology & Setup Basic commands Checkout, Add, Commit, Diff, Update,

More information

Version Control Systems

Version Control Systems Version Control Systems Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 09 BE5B99CPL C Programming Language Jan Faigl, 2016 BE5B99CPL

More information

Parallel Programming Pre-Assignment. Setting up the Software Environment

Parallel Programming Pre-Assignment. Setting up the Software Environment Parallel Programming Pre-Assignment Setting up the Software Environment Authors: B. Wilkinson and C. Ferner. Modification date: Aug 21, 2014 (Minor correction Aug 27, 2014.) Software The purpose of this

More information

CS 246 Winter Tutorial 1

CS 246 Winter Tutorial 1 CS 246 Winter 2015 - Tutorial 1 January 11, 2016 1 Summary General Administration Stuff CS Undergraduate Environment Useful Software Basic Commands.profile Text Editors 2 General Administration Stuff Course

More information

CMSC 201 Spring 2017 Lab 01 Hello World

CMSC 201 Spring 2017 Lab 01 Hello World CMSC 201 Spring 2017 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 5th by 8:59:59 PM Value: 10 points At UMBC, our General Lab (GL) system is designed to grant students the

More information