Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs

Size: px
Start display at page:

Download "Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs"

Transcription

1 Linux Tutorial #1 Introduction The Linux operating system is now over 20 years old, and is widely used in industry and universities because it is fast, flexible and free. Because Linux is open source, millions of researchers and software developers are continuously updating and extending the operating system and creating new applications. One major area of development has been in creating tools to create software, in particular text editors, program compilers, and debugging tools. In this lab, we will use a number of Linux applications to create, compile and run a simple C++ program. Login to a remote Linux machine In this class, we will be using turing our department s main Linux machine for all program development. This will give you a chance to learn more about Linux without having to go through the work to install Linux on your local machine. It will also guarantee that all of your programs are stored in a central location that is backed up daily and can be accessed from anywhere. To login to turing, you need to do the following: Open a terminal application on your Mac (the black square icon). You should see a command prompt at the top of the window. Type in the command ssh user_name@turing.csce.uark.edu where you replace user_name with your UofA user name. The computer should prompt you for your UofA password. Congratulations, you are now logged into a Linux machine and ready to start programming. If have a Mac laptop, you can use the terminal application to SSH into turing from home or anywhere with a good internet connection. If you have a PC, you will need to install a SSH client program like PuTTY or SSH Cryptonaut from and use this application to SSH into turing. Using vim to create and edit C++ programs A wide range of text editors has been written for Linux over the years. Vim was created in 1991 and is still being updated today. It is very fast, lightweight, and only requires a terminal to be used, which makes it great when SSH remote access is

2 required. However, vim does not have mouse support and you should therefore use the arrow keys to move the cursor from line to line. To create a new program, type vim hello.cpp at the command prompt and hit return. This will create an empty document. To start typing code in Vim first hit the letter i, to switch to insert mode. Upon pressing the i key, you should see INSERT at the bottom of the screen, which indicates that you are in insert mode. To exit insert mode and return to normal mode simply hit the escape key, in which case the INSERT should disappear. Type in the following C++ program exactly as shown (or use copy/paste): // Include statements #include < iostream > using namespace std; // Main function int main() { // Print message cout << "Hello, world!\n"; return 0 ; } To save the file enter in command mode by typing : and then type w and hit return. Now type :q to exit the Vim program. Congratulations, you have created and saved your first program. Using g++ to compile C++ programs Your next task is to compile your C++ program. This will translate the C++ commands you typed into the "hello.cpp" file into machine language that can be executed on the computer. The "g++" compiler the widely used C++ compiler for Linux. It was developed as part of the GNU compiler collection developed by Richard Stallman, one of the pioneers of the open software movement. To compile your program, type "g++ -Wall hello.cpp -o hello.exe" at the command prompt. There are three parts to this command. The "-Wall" part of the command tells g++ compiler to print out all possible warning messages. This will help you find bugs in your code. The "hello.cpp" part tells g++ the name of the program to compile. By convention, all C++ program files should end with a.cpp suffix. The "-o hello.exe" tells g++ the name of the output file. If you leave the third part off, the default output file name is "a.out".

3 If you have no errors, you will just get the Linux prompt again. Otherwise g++ will print out a list of error messages. For example, if you get the following messages hello.cpp:8:22: error: iostream : No such file or directory hello.cpp: In function 'int main()': hello.cpp:15: error: 'cout' was not declared in this scope it is because there should NOT be spaces before and after the word "iostream" in the program above. To correct this, run vim hello.cpp again, and modify the program to remove the extra spaces and save the file again. Now type "g++ -Wall hello.cpp -o hello.exe" to recompile your program. The error messages should be gone now. Run and extend the C++ program To run the program you just compiled type in "./hello.exe". You should see "Hello, world!" and then the Linux prompt again. Congratulations, you just ran your first C++ program! Before we can extend this program lets look at the code in more detail. At the top of the file, you can see the include statements. This is where we tell the C++ compiler what built-in commands we plan to use in the program. In this case, the "iostream" library contains the "cout <<" command for printing data to the screen and the "cin >>" command for reading data from the keyboard and storing it in variables. Edit your program using vim again and add the following three lines to your program just before the "return 0;" line: int number; cin >> number; cout << number << endl; The first line declares an integer variable called "number". The second line stops the program and waits for the user to type in an integer on the keyboard, and then stores this value in the variable number. The third line prints the value of the number variable out on the screen followed by a carriage return. Now type "g++ -Wall hello.cpp -o hello.exe" to compile your modified program. To run your new program type in "./hello.exe". This time you should see "Hello, world!" and but no Linux prompt because the program is waiting for input. Now type in the integer "42" and hit enter. Your program should now print this value and end. Run your program several more times and type in some different integer values. Your program should simply print

4 out the values you type in. What happens if you type in something other than an integer? Create a typescript You are expected to submit a typescript of your assignment along with the source code and the report. The typescript that we will create must contain the compilation and execution of the program. The script command allows a user to record a set of command and its output and save it into a file. To create a new typescript do the following: Type script to start recording your script Compile your program using the g++ command Run your program Type exit to stop recording Here is an example: user_name@turing:~$ script Script started, file is typescript user_name@turing:~$ g++ -Wall hello.cpp -o hello.exe user_name@turing:~$./hello.exe Hello, world! user_name@turing:~$ exit Copy files from remote machine Today, you have created, compiled and executed a simple C++ program (hello.cpp) on a remote Linux machine (turing.csce.uark.edu). This is great, but your file is currently being stored on the remote machine. In order to print the file, or upload it into the lab auto grader or into Blackboard, you need to get the file from the remote machine onto your local machines. There are several ways you could do this: Use copy/paste: If you open your C++ program using vim on turing, then you can create an empty document on your local machine, and use copy/paste to move your program. Depending on the software you are using, you may find that the editor automatically changes the double quotes around C++ strings into left quotes or right quotes. This is OK for printing, but the program will not compile with these fancy quotes. Use the scp command: If you open up a second terminal window on your local machine, you can use the scp command to perform a secure copy of your remote file onto your local machine. For example, on a mac you could type the following: scp user_name@turing.csce.uark.edu/hello.cpp. where you replace user_name with your UofA user name. This will prompt you for your UofA password, and copy hello.cpp from your home directory on turing into your home directory on your local machine.

5 Use the mail command: On some remote machines, you may be able to call the mail program from the command line. In this case you can run the command: mail < hello.cpp to send the hello.cpp file to your UofA mailbox. From there, you can print/save the file as needed. If you do this, remember to send only the source code (the cpp file) and not the executable file. Also, remember that you are NOT allowed to your code to other students in this class. Use Filezilla to FTP files: Not all machines are set up for scp or mail. To move files directly on these machines you can use Filezilla to FTP files. To do this you must first download the Filezilla client application from this web page, and install it on your local machine. After opening Filezilla, you will need to connect to Turing to access your files. Near the top of the window you should see a box labeled host. Type "sftp://turing.csce.uark.edu" (ignore the quotes) into that box. Then enter your UofA username and password. Add 22 as the port and press "Quickconnect". The list of files on the left side of the window is the files on your local machine. After connecting to Turing, you should see your files from Turing on the right side. You can drag and drop files to and from this window as needed. The next time you use Filezilla you can use the drop down arrow next to Quickconnect to access Turing without filling in all the boxes. Logout of Linux It is always a good idea to logout of ALL machines you are using when you have completed your task (or if you leave the room). To logout of turing, simply type the logout command. Then you can close your terminal application. When you SSH onto turing again next time, you will see all of the files you created today. Summary Command ssh vim terminal g++./program.exe scp mail logout Meaning Start using Linux machine Program for editing C++ programs Program that lets you execute Linux commands Program to compile C++ programs How we execute a C++ program Copy file from remote machine to local machine Mail file from remote machine to yourself Finish using Linux machine Author: jgauch@uark.edu, 2015, 2017

Working Outside the Lab

Working Outside the Lab Working Outside the Lab Step 1. Connect to the correct WiFi network In order to work on campus your computer must be connected to a secure network. (not the UARK guest Wi-Fi) Step 2. Use ssh to access

More information

You can use the WinSCP program to load or copy (FTP) files from your computer onto the Codd server.

You can use the WinSCP program to load or copy (FTP) files from your computer onto the Codd server. CODD SERVER ACCESS INSTRUCTIONS OVERVIEW Codd (codd.franklin.edu) is a server that is used for many Computer Science (COMP) courses. To access the Franklin University Linux Server called Codd, an SSH connection

More information

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Contents 1 An Introduction to C++, Unix, SSH and Komodo Edit 1.1 Introduction 1.2 The C++ Language 1.2.1 A Brief Introduction 1.2.1.1 Recommended

More information

Getting Started with Visual Studio

Getting Started with Visual Studio Getting Started with Visual Studio Visual Studio is a sophisticated but easy to use integrated development environment (IDE) for C++ (and may other languages!) You will see that this environment recognizes

More information

CS 2400 Laboratory Assignment #1: Exercises in Compilation and the UNIX Programming Environment (100 pts.)

CS 2400 Laboratory Assignment #1: Exercises in Compilation and the UNIX Programming Environment (100 pts.) 1 Introduction 1 CS 2400 Laboratory Assignment #1: Exercises in Compilation and the UNIX Programming Environment (100 pts.) This laboratory is intended to give you some brief experience using the editing/compiling/file

More information

CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10

CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10 CS1600 Lab Assignment 1 Spring 2016 Due: Feb. 2, 2016 POINTS: 10 PURPOSE: The purpose of this lab is to acquaint you with the C++ programming environment on storm. PROCEDURES: You will use Unix/Linux environment

More information

Firewalls can prevent access to the Unix Servers. Please make sure any firewall software or hardware allows access through Port 22.

Firewalls can prevent access to the Unix Servers. Please make sure any firewall software or hardware allows access through Port 22. EINSTEIN OVERVIEW Einstein (Einstein.franklin.edu) and Codd (codd.franklin.edu) are two servers that are used for many Computer Science (COMP) courses. Students will be directed to use either Einstein

More information

1) Log on to the computer using your PU net ID and password.

1) Log on to the computer using your PU net ID and password. CS 150 Lab Logging on: 1) Log on to the computer using your PU net ID and password. Connecting to Winter: Winter is the computer science server where all your work will be stored. Remember, after you log

More information

Tutorial 2: Compiling and Running C++ Source Code

Tutorial 2: Compiling and Running C++ Source Code Tutorial 2: Compiling and Running C++ Source Code 1. Log in to your UNIX account as you did during the first tutorial. 2. Click on the desktop with the left mouse button and consider the menu that appears

More information

Overview. - General Data Types - Categories of Words. - Define Before Use. - The Three S s. - End of Statement - My First Program

Overview. - General Data Types - Categories of Words. - Define Before Use. - The Three S s. - End of Statement - My First Program Overview - General Data Types - Categories of Words - The Three S s - Define Before Use - End of Statement - My First Program a description of data, defining a set of valid values and operations List of

More information

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit A portion of this lab is to be done during the scheduled lab time. The take-home programming assignment is to be turned in before the next lab;

More information

C++ Programming on Linux

C++ Programming on Linux C++ Programming on Linux What is Linux? CS 2308 Spring 2017 Jill Seaman Slides 14-end are for your information only, you will not be tested over that material. 1 l an operating system l Unix-like l Open

More information

Once you have installed MobaXterm, open MobaXterm. Go to Sessions -> New Session, and click on the SSH icon.

Once you have installed MobaXterm, open MobaXterm. Go to Sessions -> New Session, and click on the SSH icon. Lab 1 In order to get credit for the lab, you need to be checked off by the end of lab. For nonzero labs, you can earn a maximum of 3 points for lab work completed outside of lab time, but you must finish

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: Supplying Inputs to Programs

Lab: Supplying Inputs to Programs Steven Zeil May 25, 2013 Contents 1 Running the Program 2 2 Supplying Standard Input 4 3 Command Line Parameters 4 1 In this lab, we will look at some of the different ways that basic I/O information can

More information

My First Command-Line Program

My First Command-Line Program 1. Tutorial Overview My First Command-Line Program In this tutorial, you re going to create a very simple command-line application that runs in a window. Unlike a graphical user interface application where

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

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

Lab 2 Building on Linux

Lab 2 Building on Linux Lab 2 Building on Linux Assignment Details Assigned: January 28 th, 2013. Due: January 30 th, 2013 at midnight. Background This assignment should introduce the basic development tools on Linux. This assumes

More information

Lab 1: Accessing the Linux Operating System Spring 2009

Lab 1: Accessing the Linux Operating System Spring 2009 CIS 90 Linux Lab Exercise Lab 1: Accessing the Linux Operating System Spring 2009 Lab 1: Accessing the Linux Operating System This lab takes a look at UNIX through an online experience on an Ubuntu Linux

More information

Your First C++ Program. September 1, 2010

Your First C++ Program. September 1, 2010 Your First C++ Program September 1, 2010 Your First C++ Program //*********************************************************** // File name: hello.cpp // Author: Bob Smith // Date: 09/01/2010 // Purpose:

More information

15-122: Principles of Imperative Computation

15-122: Principles of Imperative Computation 15-122: Principles of Imperative Computation Lab 0 Navigating your account in Linux Tom Cortina, Rob Simmons Unlike typical graphical interfaces for operating systems, here you are entering commands directly

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

Carnegie Mellon. Linux Boot Camp. Jack, Matthew, Nishad, Stanley 6 Sep 2016

Carnegie Mellon. Linux Boot Camp. Jack, Matthew, Nishad, Stanley 6 Sep 2016 Linux Boot Camp Jack, Matthew, Nishad, Stanley 6 Sep 2016 1 Connecting SSH Windows users: MobaXterm, PuTTY, SSH Tectia Mac & Linux users: Terminal (Just type ssh) andrewid@shark.ics.cs.cmu.edu 2 Let s

More information

C++ Support Classes (Data and Variables)

C++ Support Classes (Data and Variables) C++ Support Classes (Data and Variables) School of Mathematics 2018 Today s lecture Topics: Computers and Programs; Syntax and Structure of a Program; Data and Variables; Aims: Understand the idea of programming

More information

Introduction. Key features and lab exercises to familiarize new users to the Visual environment

Introduction. Key features and lab exercises to familiarize new users to the Visual environment Introduction Key features and lab exercises to familiarize new users to the Visual environment January 1999 CONTENTS KEY FEATURES... 3 Statement Completion Options 3 Auto List Members 3 Auto Type Info

More information

CS2141 Software Development using C/C++ Compiling a C++ Program

CS2141 Software Development using C/C++ Compiling a C++ Program CS2141 Software Development using C/C++ Compiling a C++ Program g++ g++ is the GNU C++ compiler. A program in a file called hello.cpp: #include using namespace std; int main( ) { cout

More information

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are:

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are: INTRODUCTION Your first daily assignment is to modify the program test.py to make it more friendly. But first, you need to learn how to edit programs quickly and efficiently. That means using the keyboard

More information

Lab # 02. Basic Elements of C++ _ Part1

Lab # 02. Basic Elements of C++ _ Part1 Lab # 02 Basic Elements of C++ _ Part1 Lab Objectives: After performing this lab, the students should be able to: Become familiar with the basic components of a C++ program, including functions, special

More information

CSI33 Data Structures

CSI33 Data Structures Outline Department of Mathematics and Computer Science Bronx Community College October 22, 2018 Outline Outline 1 Chapter 8: A C++ Introduction For Python Programmers ords Data Types And Variable Declarations

More information

CMSC 201 Spring 2018 Lab 01 Hello World

CMSC 201 Spring 2018 Lab 01 Hello World CMSC 201 Spring 2018 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 4th by 8:59:59 PM Value: 10 points At UMBC, the GL system is designed to grant students the privileges

More information

Installing VPN client by Jupiter Networks:

Installing VPN client by Jupiter Networks: Installing VPN client by Jupiter Networks: 1. Open Firefox. The icon is likely on your desktop. If you are using internet explorer, much of the steps will be the same, but the way that Internet Explorer

More information

Lab 1: First Steps in C++ - Eclipse

Lab 1: First Steps in C++ - Eclipse Lab 1: First Steps in C++ - Eclipse Step Zero: Select workspace 1. Upon launching eclipse, we are ask to chose a workspace: 2. We select a new workspace directory (e.g., C:\Courses ): 3. We accept the

More information

Using the Dev C++ Compiler to Create a Program

Using the Dev C++ Compiler to Create a Program This document assumes that you have already installed the Dev-C++ Compiler on your computer and run it for the first time to setup the initial configuration. USING DEV-C++ TO WRITE THE POPULAR "HELLO WORLD!"

More information

sftp - secure file transfer program - how to transfer files to and from nrs-labs

sftp - secure file transfer program - how to transfer files to and from nrs-labs last modified: 2017-01-20 p. 1 CS 111 - useful details: ssh, sftp, and ~st10/111submit You write Racket BSL code in the Definitions window in DrRacket, and save that Definitions window's contents to a

More information

Compiling C/C++ programs

Compiling C/C++ programs Name: Student ID: Lab Instructor: Borja Sotomayor Do not write in this area 1 2 3 TOTAL Maximum possible points: 20 + 2 NOTE: The lab session will take place in the Linux machines of the Maclab. This lab

More information

FTP UPLOADS/DOWNLOADS

FTP UPLOADS/DOWNLOADS FileZilla Download and Installation Instructions FileZilla is a free software that uses SourceForge as an installation provider. SourceForge is bundling the FileZilla software with other products that

More information

ECE 2036 Lab 1: Introduction to Software Objects

ECE 2036 Lab 1: Introduction to Software Objects ECE 2036 Lab 1: Introduction to Software Objects Assigned: Aug 24/25 2015 Due: September 1, 2015 by 11:59 PM Reading: Deitel& Deitel Chapter 2-4 Student Name: Check Off/Score Part 1: Check Off/Score Part

More information

IDE: Integrated Development Environment

IDE: Integrated Development Environment Name: Student ID: Lab Instructor: Borja Sotomayor Do not write in this area 1 2 3 TOTAL Maximum possible points: 30 One of the goals of this lab is to introduce the Eclipse IDE, a software environment

More information

CSE 351. Introduction & Course Tools

CSE 351. Introduction & Course Tools CSE 351 Introduction & Course Tools Meet Your TA TA Name Interesting information examples: Where you are from Year in school Hobbies Unique talents Introductions Pick an interesting (but quick) ice breaker

More information

Lab 2.1: Fixing a C++ program

Lab 2.1: Fixing a C++ program CS 150 Lab 2 Introduction to Compiler Errors, Variables, Assignments and Output The purpose of today s lab session is to allow you to gain experience using primitive data types, constants, assignment statements

More information

Engr 123 Spring 2018 Notes on Visual Studio

Engr 123 Spring 2018 Notes on Visual Studio Engr 123 Spring 2018 Notes on Visual Studio We will be using Microsoft Visual Studio 2017 for all of the programming assignments in this class. Visual Studio is available on the campus network. For your

More information

Programming in Microsoft Visual C++ Programming in Microsoft Visual C++

Programming in Microsoft Visual C++ Programming in Microsoft Visual C++ Programming in Microsoft Visual C++ INDEX Part I - Getting Started with Visual C++ 5 Section 1 - Introducing Visual C++ 5 Section 2 - Writing Simple C++ Programs Section 3 - Structures, Classes, and the

More information

WinSCP. Author A.Kishore/Sachin

WinSCP. Author A.Kishore/Sachin WinSCP WinSCP is a freeware windows client for the SCP (secure copy protocol), a way to transfer files across the network using the ssh (secure shell) encrypted protocol. It replaces other FTP programs

More information

CpSc 1111 Lab 1 Introduction to Unix Systems, Editors, and C

CpSc 1111 Lab 1 Introduction to Unix Systems, Editors, and C CpSc 1111 Lab 1 Introduction to Unix Systems, Editors, and C Welcome! Welcome to your CpSc 111 lab! For each lab this semester, you will be provided a document like this to guide you. This material, as

More information

Author A.Kishore/Sachin WinSCP

Author A.Kishore/Sachin   WinSCP WinSCP WinSCP is a freeware windows client for the SCP (secure copy protocol), a way to transfer files across the network using the ssh (secure shell) encrypted protocol. It replaces other FTP programs

More information

Tutorial 1: Unix Basics

Tutorial 1: Unix Basics Tutorial 1: Unix Basics To log in to your ece account, enter your ece username and password in the space provided in the login screen. Note that when you type your password, nothing will show up in the

More information

Temple University Computer Science Programming Under the Linux Operating System January 2017

Temple University Computer Science Programming Under the Linux Operating System January 2017 Temple University Computer Science Programming Under the Linux Operating System January 2017 Here are the Linux commands you need to know to get started with Lab 1, and all subsequent labs as well. These

More information

Click on the Start Icon. Click on All Programs

Click on the Start Icon. Click on All Programs Click on the Start Icon Click on All Programs Scroll down to a point where the Microsoft Visual Studio 2013 folder appears. Click on the Microsoft Visual Studio 2013 folder. Click on Visual Studio 2013

More information

Chapter 1 Introduction to Computers and C++ Programming

Chapter 1 Introduction to Computers and C++ Programming Chapter 1 Introduction to Computers and C++ Programming 1 Outline 1.1 Introduction 1.2 What is a Computer? 1.3 Computer Organization 1.7 History of C and C++ 1.14 Basics of a Typical C++ Environment 1.20

More information

Setting up my Dev Environment ECS 030

Setting up my Dev Environment ECS 030 Setting up my Dev Environment ECS 030 1 Command for SSHing into a CSIF Machine If you already have a terminal and already have a working ssh program (That is, you type ssh into the terminal and it doesn

More information

Setting up PuTTY. CTEC1767 Data Communications & Networking CTEC1863 Operating Systems CTEC1906 Internet Computing

Setting up PuTTY. CTEC1767 Data Communications & Networking CTEC1863 Operating Systems CTEC1906 Internet Computing Setting up PuTTY CTEC1767 Data Communications & Networking CTEC1863 Operating Systems CTEC1906 Internet Computing Version 2.0 Updated for 2017 Winter Software* Microsoft Windows 7 (64-bit) PuTTY 0.67 PuTTYgen

More information

Chapter 1 - What s in a program?

Chapter 1 - What s in a program? Chapter 1 - What s in a program? I. Student Learning Outcomes (SLOs) a. You should be able to use Input-Process-Output charts to define basic processes in a programming module. b. You should be able to

More information

Introduction to Programming

Introduction to Programming Introduction to Programming session 5 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2010 These slides are created using Deitel s slides Sahrif University of Technology Outlines

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

assembler Machine Code Object Files linker Executable File

assembler Machine Code Object Files linker Executable File CSCE A211 Programming Intro What is a Programming Language Assemblers, Compilers, Interpreters A compiler translates programs in high level languages into machine language that can be executed by the computer.

More information

CSC105, Introduction to Computer Science I. Introduction. Perl Directions NOTE : It is also a good idea to

CSC105, Introduction to Computer Science I. Introduction. Perl Directions NOTE : It is also a good idea to CSC105, Introduction to Computer Science Lab03: Introducing Perl I. Introduction. [NOTE: This material assumes that you have reviewed Chapters 1, First Steps in Perl and 2, Working With Simple Values in

More information

Getting started with UNIX/Linux for G51PRG and G51CSA

Getting started with UNIX/Linux for G51PRG and G51CSA Getting started with UNIX/Linux for G51PRG and G51CSA David F. Brailsford Steven R. Bagley 1. Introduction These first exercises are very simple and are primarily to get you used to the systems we shall

More information

Lab Zero: A First Experiment Using GENI and Jacks Tool

Lab Zero: A First Experiment Using GENI and Jacks Tool Lab Zero: A First Experiment Using GENI and Jacks Tool These instructions are at: http://tinyurl.com/geni labzero Overview This is a first, simple experiment on GENI useful for familiarizing new experimenters

More information

MA400: Financial Mathematics

MA400: Financial Mathematics MA400: Financial Mathematics Introductory Course Lecture 1: Overview of the course Preliminaries A brief introduction Beginning to program Some example programs Aims of this course Students should have

More information

Lab 1: Introduction to C, ASCII ART & the Linux Command Line

Lab 1: Introduction to C, ASCII ART & the Linux Command Line .i.-' `-. i..' `/ \' _`.,-../ o o \.' ` ( / _\ /_ \ ) \\\ (_.'.'"`.`._) /// \\`._(..: :..)_.'// \`. \.:-:. /.'/ `-i-->..

More information

Chapter 1 INTRODUCTION

Chapter 1 INTRODUCTION Chapter 1 INTRODUCTION A digital computer system consists of hardware and software: The hardware consists of the physical components of the system. The software is the collection of programs that a computer

More information

APP-J: WHAT IS APPLICATION JUKEBOX?

APP-J: WHAT IS APPLICATION JUKEBOX? APP-J: WHAT IS APPLICATION JUKEBOX? Use Application Jukebox (App-J) to run University software on any Windows PC or laptop. Launch apps from the Application Jukebox web page Install the Application Jukebox

More information

#Uncomment the second line to enable any form of FTP write command. #write_enable=yes

#Uncomment the second line to enable any form of FTP write command. #write_enable=yes Installing and configuring Apache 2 in Linux Please note that dashes (-) are used to indicate what you should type, they should not be included in the command. Install Linux on an old desktop, dual core

More information

Unit 10. Linux Operating System

Unit 10. Linux Operating System 1 Unit 10 Linux Operating System 2 Linux Based on the Unix operating system Developed as an open-source ("free") alternative by Linux Torvalds and several others starting in 1991 Originally only for Intel

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

AMS 200: Working on Linux/Unix Machines

AMS 200: Working on Linux/Unix Machines AMS 200, Oct 20, 2014 AMS 200: Working on Linux/Unix Machines Profs. Nic Brummell (brummell@soe.ucsc.edu) & Dongwook Lee (dlee79@ucsc.edu) Department of Applied Mathematics and Statistics University of

More information

Introduction to C ++

Introduction to C ++ Introduction to C ++ Thomas Branch tcb06@ic.ac.uk Imperial College Software Society October 18, 2012 1 / 48 Buy Software Soc. s Free Membership at https://www.imperialcollegeunion.org/shop/ club-society-project-products/software-products/436/

More information

Module 3: Working with C/C++

Module 3: Working with C/C++ Module 3: Working with C/C++ Objective Learn basic Eclipse concepts: Perspectives, Views, Learn how to use Eclipse to manage a remote project Learn how to use Eclipse to develop C programs Learn how to

More information

Unit 13. Linux Operating System Debugging Programs

Unit 13. Linux Operating System Debugging Programs 1 Unit 13 Linux Operating System Debugging Programs COMPILATION 2 3 Editors "Real" developers use editors designed for writing code No word processors!! You need a text editor to write your code Eclipse,

More information

MS Visual Studio.Net 2008 Tutorial

MS Visual Studio.Net 2008 Tutorial 1. Start Visual Studio as follows: MS Visual Studio.Net 2008 Tutorial 2. Once you have started Visual Studio you should see a screen similar to the following image: 3. Click the menu item File New Project...

More information

Lab 4: Introduction to Programming

Lab 4: Introduction to Programming _ Unit 2: Programming in C++, pages 1 of 9 Department of Computer and Mathematical Sciences CS 1410 Intro to Computer Science with C++ 4 Lab 4: Introduction to Programming Objectives: The main objective

More information

Linux Survival Guide

Linux Survival Guide Linux Survival Guide Introduction: This guide is intended for use with classes at DACC that use a Linux operating system as the platform for students. It provides a quick summary and examples of how to

More information

New User Tutorial. OSU High Performance Computing Center

New User Tutorial. OSU High Performance Computing Center New User Tutorial OSU High Performance Computing Center TABLE OF CONTENTS Logging In... 3-5 Windows... 3-4 Linux... 4 Mac... 4-5 Changing Password... 5 Using Linux Commands... 6 File Systems... 7 File

More information

CS101 Linux Shell Handout

CS101 Linux Shell Handout CS101 Linux Shell Handout Introduction This handout is meant to be used as a quick reference to get a beginner level hands on experience to using Linux based systems. We prepared this handout assuming

More information

Compiling C++ Programs Flow Control in C++ CS 16: Solving Problems with Computers I Lecture #3

Compiling C++ Programs Flow Control in C++ CS 16: Solving Problems with Computers I Lecture #3 Compiling C++ Programs Flow Control in C++ CS 16: Solving Problems with Computers I Lecture #3 Ziad Matni Dept. of Computer Science, UCSB Compiling Programs in C++ Input and Output Streams Simple Flow

More information

ENERGY 211 / CME 211. Evolution

ENERGY 211 / CME 211. Evolution ENERGY 211 / CME 211 Lecture 2 September 24, 2008 1 Evolution In the beginning, we all used assembly That was too tedious, so a very crude compiler for FORTRAN was built FORTRAN was still too painful to

More information

Lab Zero: A First Experiment Using GENI and Jacks Tool

Lab Zero: A First Experiment Using GENI and Jacks Tool GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure GENI: geni 2/27/16, 14:35 Lab Zero: A First Experiment Using GENI and Jacks Tool These instructions are at: http://tinyurl.com/geni-labzero

More information

Scientific Computing

Scientific Computing Scientific Computing Martin Lotz School of Mathematics The University of Manchester Lecture 1, September 22, 2014 Outline Course Overview Programming Basics The C++ Programming Language Outline Course

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

EP241 Computer Programming

EP241 Computer Programming EP241 Computer Programming Topic 1 Dr. Ahmet BİNGÜL Department of Engineering Physics University of Gaziantep Modifications by Dr. Andrew BEDDALL Department of Electric and Electronics Engineering Sep

More information

LAB #8. GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:

LAB #8. GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act: LAB #8 Each lab will begin with a brief demonstration by the TAs for the core concepts examined in this lab. As such, this document will not serve to tell you everything the TAs will in the demo. It is

More information

Bitnami Apache Solr for Huawei Enterprise Cloud

Bitnami Apache Solr for Huawei Enterprise Cloud Bitnami Apache Solr for Huawei Enterprise Cloud Description Apache Solr is an open source enterprise search platform from the Apache Lucene project. It includes powerful full-text search, highlighting,

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

Separate Compilation Model

Separate Compilation Model Separate Compilation Model Recall: For a function call to compile, either the function s definition or declaration must appear previously in the same file. Goal: Compile only modules affected by recent

More information

Chapter 2. Editing And Compiling

Chapter 2. Editing And Compiling Chapter 2. Editing And Compiling Now that the main concepts of programming have been explained, it's time to actually do some programming. In order for you to "edit" and "compile" a program, you'll need

More information

Superior University. Department of Electrical Engineering CS-115. Computing Fundamentals. Experiment No.1

Superior University. Department of Electrical Engineering CS-115. Computing Fundamentals. Experiment No.1 Superior University Department of Electrical Engineering CS-115 Computing Fundamentals Experiment No.1 Introduction of Compiler, Comments, Program Structure, Input Output, Data Types and Arithmetic Operators

More information

For Dr Landau s PHYS8602 course

For Dr Landau s PHYS8602 course For Dr Landau s PHYS8602 course Shan-Ho Tsai (shtsai@uga.edu) Georgia Advanced Computing Resource Center - GACRC January 7, 2019 You will be given a student account on the GACRC s Teaching cluster. Your

More information

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java)

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java) Goals - to learn how to compile and execute a Java program - to modify a program to enhance it Overview This activity will introduce you to the Java programming language. You will type in the Java program

More information

CS 241 Computer Programming. Introduction. Teacher Assistant. Hadeel Al-Ateeq

CS 241 Computer Programming. Introduction. Teacher Assistant. Hadeel Al-Ateeq CS 241 Computer Programming Introduction Teacher Assistant Hadeel Al-Ateeq 1 2 Course URL: http://241cs.wordpress.com/ Hadeel Al-Ateeq 3 Textbook HOW TO PROGRAM BY C++ DEITEL AND DEITEL, Seventh edition.

More information

Java Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1

Java Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1 COMP 210: Object-Oriented Programming Lecture Notes 1 Java Program Structure and Eclipse Robert Utterback In these notes we talk about the basic structure of Java-based OOP programs and how to setup and

More information

EL2310 Scientific Programming

EL2310 Scientific Programming Lecture 6: Introduction to C (pronobis@kth.se) Overview Overview Lecture 6: Introduction to C Roots of C Getting started with C Closer look at Hello World Programming Environment Schedule Last time (and

More information

Cmpt 101 Lab 1 - Outline

Cmpt 101 Lab 1 - Outline Cmpt 101 Lab 1 - Outline Instructions: Work through this outline completely once directed to by your Lab Instructor and fill in the Lab 1 Worksheet as indicated. Contents PART 1: GETTING STARTED... 2 PART

More information

Lab 8. Follow along with your TA as they demo GDB. Make sure you understand all of the commands, how and when to use them.

Lab 8. Follow along with your TA as they demo GDB. Make sure you understand all of the commands, how and when to use them. Lab 8 Each lab will begin with a recap of last lab and a brief demonstration by the TAs for the core concepts examined in this lab. As such, this document will not serve to tell you everything the TAs

More information

Key File Generation. November 14, NATIONAL STUDENT CLEARINGHOUSE 2300 Dulles Station Blvd., Suite 220, Herndon, VA 20171

Key File Generation. November 14, NATIONAL STUDENT CLEARINGHOUSE 2300 Dulles Station Blvd., Suite 220, Herndon, VA 20171 Key File Generation NATIONAL STUDENT CLEARINGHOUSE 2300 Dulles Station Blvd., Suite 220, Herndon, VA 20171 Table of Contents Introduction... 2 PuTTY Installation... 2 Key Generation... 7 Configuring PuTTY

More information

Helpful Tips for Labs. CS140, Spring 2015

Helpful Tips for Labs. CS140, Spring 2015 Helpful Tips for Labs CS140, Spring 2015 Linux/Unix Commands Creating, Entering, Changing Directories to Create a Directory (a Folder) on the command line type mkdir folder_name to Enter that Folder cd

More information

Hello, World! in C. Johann Myrkraverk Oskarsson October 23, The Quintessential Example Program 1. I Printing Text 2. II The Main Function 3

Hello, World! in C. Johann Myrkraverk Oskarsson October 23, The Quintessential Example Program 1. I Printing Text 2. II The Main Function 3 Hello, World! in C Johann Myrkraverk Oskarsson October 23, 2018 Contents 1 The Quintessential Example Program 1 I Printing Text 2 II The Main Function 3 III The Header Files 4 IV Compiling and Running

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Computers and Computation. The Modern Computer. The Operating System. The Operating System

Computers and Computation. The Modern Computer. The Operating System. The Operating System The Modern Computer Computers and Computation What is a computer? A machine that manipulates data according to instructions. Despite their apparent complexity, at the lowest level computers perform simple

More information

What is VMware View. IMPORTANT: Connecting from Off-Campus. Connecting to View Desktops. Downloading the Client

What is VMware View. IMPORTANT: Connecting from Off-Campus. Connecting to View Desktops. Downloading the Client 1. What is VMware View 2. Connecting from Off-Campus 3. Connecting to View Desktops 4. Extra View Tips 5. What to do if something is wrong What is VMware View VMware View is a technology that allows us

More information