Spring Modern Computer Science in a Unix Like Environment CIS c

Similar documents
Welcome to ULI101! The Internet has become part of our daily lives.

CS108 Software Systems: UNIX. Fall 2011

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang

Introduc+on. General Information. General Information. General Information. General Information. General Information

Projects and Environment Introduction

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

COURSE OUTLINE. UNIX Programming 2014 Fall by Euiseong Seo

Syllabus of ENPM 691: Secure Programming in C

Introduction to Linux Overview and Some History

Introduction to Linux

Compilers for Modern Architectures Course Syllabus, Spring 2015

CISC 220 fall 2011, set 1: Linux basics

Brief Linux Presentation. July 10th, 2006 Elan Borenstein

Operating System Labs. Yuanbin Wu

CSC209. Software Tools and Systems Programming.

Overview of Unix / Linux operating systems

Lecture 14. Moving Forward 1 / 23

CSC209. Software Tools and Systems Programming.

Linux for Beginners. Windows users should download putty or bitvise:

Introduction to Linux Environment. Yun-Wen Chen

Operating Systems, Spring 2015 Course Syllabus

CS 300. Data Structures

Exercise 1: Basic Tools

ULI101 Introduction to Unix and Linux Week 1 Origin and History of Unix

CMSC 201 Spring 2017 Lab 01 Hello World

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

CMSC 201 Spring 2018 Lab 01 Hello World

CS 240 Fall 2015 Section 004. Alvin Chao, Professor

EE516: Embedded Software Project 1. Setting Up Environment for Projects

Introduction to Linux

History of Unix, Linux and the Open Source

a story of alternatives

Connect using Putty to a Linux Server

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant

COSC 2P95. Introduction. Week 1. Brock University. Brock University (Week 1) Introduction 1 / 18

Lab 1: Accessing the Linux Operating System Spring 2009

Lecture 1. Course webpage. Syllabus and schedule, textbooks CS Lab, Virtual Box. Handouts, assignments Supplemental resources

CSE 8B discussion: week 1. The JVM, packages, Unix-like environments, Vim, SSH, SCP

EL2310 Scientific Programming

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

Physics REU Unix Tutorial

Practical Computing-II. Programming in the Linux Environment. 0. An Introduction. B.W.Gore. March 20, 2015

Lab 1 Introduction to UNIX and C

CS 240 Fall Mike Lam, Professor. Just-for-fun survey:

System Administration

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018

Advanced Programming Concepts. CIS 15 : Spring 2007

Lab 1 Introduction to UNIX and C

CSCI 1100L: Topics in Computing Lab Lab 1: Introduction to the Lab! Part I

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

Introduction: What is Unix?

R- installation and adminstration under Linux for dummie

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

CPSC 213 Labs Cheat-Manual

Instructions: Step 1: Respond to the following: IT131 Linux+

Setting up my Dev Environment ECS 030

CS 3030 Scripting Languages Syllabus

Operating System Labs. Yuanbin Wu

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

How To Use The UNIX-LINUX Vi Text Editor: Tips, Tricks, And Techniques (And Tutorials Too!) By Larry L. Smith READ ONLINE

Course Wiki. Today s Topics. Web Resources. Amazon EC2. Linux. Apache PHP. Workflow and Tools. Extensible Networking Platform 1

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

CSCI 2132 Software Development. Lecture 2: Introduction to UNIX and Unix-like Operating Systems

Getting started with UNIX/Linux for G51PRG and G51CSA

BIF713. Operating Systems & Project Management. Instructor: Murray Saul Webpage: murraysaul.wordpress.

CSE 390a Lecture 1. introduction to Linux/Unix environment

CS 300 Data Structures

CS 246 Winter Tutorial 1

Week - 01 Lecture - 04 Downloading and installing Python

Post Ubuntu Install Exercises

Lecture 01: welcome and intro what LSD and Unix have in common

Our Workshop Environment

CSE 391 Lecture 1. introduction to Linux/Unix environment

Introduction to Parallel Computing

EL2310 Scientific Programming

EECS Software Tools. Lab 2 Tutorial: Introduction to UNIX/Linux. Tilemachos Pechlivanoglou

COS 116 The Computational Universe Laboratory 1: Web 2.0

378: Machine Organization and Assembly Language

X

Our Workshop Environment

CS 170 Java Tools. Step 1: Got Java?

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

Saddleback College Business Science Division. Course Syllabus CIMN 240 Fundamental Unix/Linux System Administration

CS 241 Data Organization. August 21, 2018

Compiling Software on UNIX. System Administration Decal Spring 2009 Lecture #4 George Wu Slides prepared by Joshua Kwan

CS 253: Intro to Systems Programming 1/21

CS232: Computer Architecture II

CS155: Computer Security Spring Project #1

Underlying computer system = hardware + software

Intro to Linux & Command Line

CMPUT 201: Practical Programming Methodology. Guohui Lin Department of Computing Science University of Alberta September 2018

CS251 Programming Languages Handout # 3 Wellesley College 30 January Linux, X, and Emacs

Our Workshop Environment

CSci 5103 Operating Systems. Jon Weissman. Administrivia

CIS 90 Introduction to UNIX/Linux

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG

CS 3030 Scripting Languages Syllabus

Ftp Command Line Commands Linux Example Windows Put

CS 326: Operating Systems. Lecture 1

CS 642 Homework #4. Due Date: 11:59 p.m. on Tuesday, May 1, Warning!

Transcription:

Spring 2009 Modern Computer Science in a Unix Like Environment http://www.seas.upenn.edu/~cis399ux 25/01/09 Slide 1

What is Unix/Linux? Linux itself is an Operating System Kernel Linux is often used to refer to GNU/Linux which is an entire software stack Unix is also an operating system stack. 25/01/09 Slide 2

What is an operating system See CIS 380 A simple explanation: A software system that is always running which provides an interface between real hardware and everyday user programs. 25/01/09 Slide 3

Unix Unix is one of the oldest operating systems, originating at AT&T Bell Labs around 1971. Written in C, at the time this was a revolutionary idea. All older operating systems written in lower level assembly. C is portable! (Can compile to many different machine types.) 25/01/09 Slide 4

GNU is Not Unix GNU project is a software system/stack, of completely free software replacements of the original Unix applications. Examples ls screen gcc gdb Linux is NOT GNU software GNU/Linux is a common combination of software 25/01/09 Slide 5

Linus's Minix (Linux) I called it Linux from the beginning It was Linus with an x... the x is mandatory it just had to be there, its like a law or something Linus Torvalds Started as a personal project that advanced very quickly and became widely used. 25/01/09 Slide 6

Why Linux? You can go online and read articles from Richard Stallman about why free software. But why Linux? Why is this important for CIS students? 25/01/09 Slide 7

Empowerment In a GNU/Linux environment its possible to really understand at a high level everything happening in your computer, and even change things if needed. This gives one an extreme geeky sense of power, and that is the goal of this class: to help you achieve a kind of geek nirvana. 25/01/09 Slide 8

Linux Access This means you need (convenient!) access to a Linux machine. Good news! SEAS can provide you with a free eniac account Easy, but you can't mess with things You can setup your own machine Hard but gives you 100% control. Expensive (requires hardware). You can virtualize your own machine. All the benefits of your own machine without needing new hardware. 25/01/09 Slide 9

Connecting to Eniac From Windows Download putty Connect to eniac.seas.upenn.edu Enter username / password (same as your seas email) From a Linux machine: In a terminal type ssh USERNAME@eniac.seas.upenn.edu 25/01/09 Slide 10

Virtual Box http://www.virtualbox.org/ Allows you to run another computer from within your current computer! Free to download! Then download an Ubuntu install CD http://www.ubuntu.com/getubuntu/download Ubuntu has an easy graphical installer for within virtual box. 25/01/09 Slide 11

Now, the boring stuff. (read: grading) 25/01/09 Slide 12

Course Syllabus Course will happen in two parts Going to cover lots of the basics, get everybody comfortable with using Linux. Includes using Linux at the terminal, bash scripting, emacs, other common Linux tools How Linux Works. Talk about the software stack that is used on a Linux machine. We ll talk about how to make your own kernel, how to configure your own X server etc. 25/01/09 Slide 13

Syllabus of the Basics The following are some of the high level topics we'll discuss. Linux Distributions File Systems / Unix File System Unix / Linux Shell Emacs Hardware Kernel Booting Basic Networking / SSH Version Control 25/01/09 Slide 14

Homeworks There will be homeworks. They will be given with plenty of time to do them. They will be very easy if you've been keeping up in lecture and practising on your own. They will always be checked. Will get number grades. Grades will frequently be: 0 or 75 or 100 i.e. you didn t do it, you missed a big part of it or you got it. 25/01/09 Slide 15

Grading Grading will be: 20% Class Participation 25% Homeworks 25% Graded in class assignments (a.k.a. quiz) 30% Final Project 25/01/09 Slide 16

Thats all nice and fine but... How do I get an A? 25/01/09 Slide 17

How to get an A DO IT YOURSELF! 25/01/09 Slide 18

Do it yourself! You will gain much more in a course like this if you take what you learn every class and experiment with it on your own. A lot of this course can be learnt simply by sitting down and browsing Internet tutorials. My job is to make learning this easy, and to provide motivation and assistance along the way. 25/01/09 Slide 19

Recommendation This class meets just a single hour a week. However, you should spend 3 4 hours per week on the course. So what should you do for the other 3 hours? Get that Linux access setup and play with it! 25/01/09 Slide 20

Pace In light of the expectation of a few hours a week of generic usage of topics taught in class the overall pace shall be quick. It is expected that things taught in class will be practical enough to be used for legitimate purpose outside of class and reinforced in that manner. 25/01/09 Slide 21

Homework 0 XKCD Read all of the comics and email me or ask in class about any comics which you don't understand. If you don't understand the romance part I can't help you, but if its CIS or generic computing knowledge related (which a lot of XKCD is) then it's appropriate to ask. This homework is ongoing throughout the entire semester, and ungraded. 25/01/09 Slide 22

Homework 1a Get access to a working Linux setup either through eniac (just getting access) or through VirtualBox with a basic Ubuntu install. Installing Linux on new hardware is too advanced for now. My recommendation is to go with VirtualBox. Due next week and needed for Homework 1b (later). Feel free to email class mailing list with setup questions! 25/01/09 Slide 23