Systems Programming & UNIX. CSC 352 Spring 2017

Similar documents
CONNECTING TO DEPARTMENT OF COMPUTER SCIENCE SERVERS BOTH FROM ON AND OFF CAMPUS USING TUNNELING, PuTTY, AND VNC Client Utilities

Introduction to Psychology Psych 100 Online Syllabus Fall 2014

CS 301 Course Information

Course Syllabus CJ W Intro. to Homeland Security, Internet based Spring 2016

The University of Akron Department of Mathematics. 3450: COLLEGE ALGEBRA 4 credits Spring 2015

Using MyMathLab. Features

INFORMATION AND REGULATIONS FOR SELF-PACED PROGRAMMING COURSES CS 3S, CS 9ABCDEFGH, CS 47ABC. Spring Semester 2008

Math 50 Trigonometry Peralta Class Code Berkeley City College

Mathematics for Business and Economics ( MATH 3210 WEB ) SPRING 2016 Instructor: Dr. Sankara N. Sethuraman Please call me Dr. Sankar.

Math 121- Online College Algebra Syllabus Spring 2015

Adafruit's Raspberry Pi Lesson 6. Using SSH

Welcome to Life Span Psychology (Psych 41) East Los Angeles College. 3 Credit Hours. Professor Maria Mayoryk

UNIVERSITY OF MARYLAND MONEY AND BANKING Economics 330 Fall 2015

Remote Access to Unix Machines

CSC 314: Operating Systems Spring 2005

University of Florida ADV 3502, Section 7E39 Advertising Sales Summer C 2016

Riverside City College Arithmetic-Pre-Algebra/Math 65 (48422), Fall 2014 MTSC 103-MTWTh: 06:00PM - 07:10PM

MAT 1500: College Algebra for the Social and Management Sciences General Syllabus

Software Design and Implementation - or, how to be a hacker

PuTTY/Cygwin Tutorial. By Ben Meister Written for CS 23, Winter 2007

GENERAL PSYCHOLOGY, PSC 1, Section 2

Connecting to the School of Computing Servers and Transferring Files

TA contact information, office hours & locations will be posted in the Course Contacts area of Blackboard by end of first week.

CJ Introduction to Criminal Justice COURSE SYLLABUS: Spring 2013

Introduction to Programming System Design. CSCI 455x (4 Units)

University of Florida ADV 3502, Section Advertising Sales Spring 2016

Math 3E - Linear Algebra (3 units)

Math 1314 Online Syllabus. College Algebra

VHA Innovations Program Future Technology Laboratory. Linux Workstation Remote Desktop Connection Manual

University of Missouri Department of Psychological Sciences Psychology General Psychology Fall 2015

Health Psychology Psychology Fall 2015

Redesigned College Algebra. Southeast Missouri State University Ann Schnurbusch

Syllabus: IST451. Division of Business and Engineering. Penn State Altoona

SSH and Basic Commands

Computer Science CS 2334: Programming structures and abstractions

CS10110 Introduction to personal computer equipment

CS (TR: Davis Campus) Syllabus Introduction to Computer Science

CIS Information and Database Systems I. Course Syllabus Spring 2015

Online College Algebra (MATH 1302-D10) Fall 2011

Psychology 2510: Survey of Abnormal Psychology (Section 2) Fall 2015

Florida National University Online Courses Platform

Fundamentals of marketing: product planning and development; pricing strategies; and marketing channels.

Getting Started In Your Davidson College Blackboard Course

CS 2302 Data Structures Spring 2015

CS 306/491-3 Linux Programming Spring 2015

International Business Negotiations. Spring Semester 2013

MAC2233, Business Calculus Reference # , RM 2216 TR 9:50AM 11:05AM

Introduction to Personality Psychology 2320, Spring 2013 TTh 5:30-6:45 Arts and Science 110 (Allen Auditorium)

Analytical Chemistry Lecture - Syllabus (CHEM 3310) The University of Toledo Fall 2012

EDTECH 536: Digital Game Design for K-12 Classrooms

Introduction to Psychology 100 On-Campus Fall 2014 Syllabus

CS 300 Data Structures Syllabus - Fall 2014

CSC108H: Introduction to Computer Programming

CS 170 Java Programming 1. Welcome to CS 170. All about CS 170 The CS 170 Online Materials Java Mechanics: Your First Program

Astronomy 101: On-Line Reading Quizzes

Additional Information: SSH, PuTTY, and VmWare

Action Steps for Setting Up a Successful Home Web Design Business

MATH 2103 Business Calculus Oklahoma State University HONORS Spring 2015 Instructor: Dr. Melissa Mills 517 Math Sciences

03/12 INSTRUCTOR: QUICK TIPS

OPERATING SYSTEM SERVICES

MATH 205 STATISTICAL METHODS

CSS 341 : Fundamentals of Programming Theory and Applications Course Syllabus-Autumn 2012

How. to: Connect Remotely. Updated by

PSY Introduction to Psychology COURSE SYLLABUS: Spring 2015 COURSE INFORMATION

User Guide for the Junior Lab Scheduling Software

TMGT W Principles of Cost Engineering Course Syllabus: Spring 2013 Online ecollege Course

George Washington University Department of Psychology PSYC 001: General Psychology

MATH 245 COLLEGE ALGEBRA Section :55 1:30

Columbia University. PSYC W2630: Social Psychology. Fall 2015

Sociology 302: Contemporary Social Problems

STAT 1403 College Algebra Dr. Myron Rigsby Fall 2013 Section 0V2 crn 457 MWF 9:00 am

Data management and SAS Programming Language EPID576D

SYLLABUS MAC 1105 COLLEGE ALGEBRA Spring 2011 Tuesday & Thursday 12:30 p.m. 1:45 p.m.

CMSC Fundamentals of Computer Programming II (C++)

BUS4 118S Big Data San José State University Fall 2014

ISM 3254 Business Systems I

Introduction to Linux and Cluster Basics for the CCR General Computing Cluster

Blackboard Learning System: Student Instructional Guide

Vancouver Community College Web Orientation

WELCOME TO EASTERN IOWA COMMUNITY COLLEGE

General. What is Freegal?

PROGRAMMING FOR BIOLOGISTS. BIOL 6297 Monday, Wednesday 10 am -12 pm

How To Complete Math 1314 Online

SYLLABUS: ACCOUNTING PRINCIPLES I 6200:201 Section: Fall 2014 COURSE DESCRIPTION AND MATERIALS

HOSPITALITY PROFESSIONAL COURSE (HPC) Course Overview and Syllabus

Teaching Computer Programming Courses (Using the Internet) in a Computer Laboratory Environment

Get Connected Follow- up Assignment Rev: 8/28/08

Chemistry 3325 Organic Chemistry II Fall 2007

Angel Learning Management System Introductory Tutorial for Students

Class: Online 5-7pm Wed Professor of Industrial and Packaging Technology Office Hours: After class online and by appointment

Fall 2013 Online Math 227

INSTRUCTOR: Jeffrey H. Nathan, Ph.D. OFFICE HOURS: By appointment TELEPHONE: (808) EFFECTIVE DATE: 1/13/2014 5/16/2014

MONTGOMERY COLLEGE Rockville Campus CA141 Introduction to Database Applications Computer Applications Department

Engineering Online North Carolina State University

College Algebra. Syllabus MAT 101. What will I learn in this class? Required Course Materials. Contacting your instructor. How is this class taught?

CALIFORNIA STATE UNIVERSITY DOMINGUEZ HILLS

MATH 205 STATISTICAL METHODS

Getting started as a student with learn.gold

CS 115 Introduction to Computer Programming Course Syllabus (Night Sections) Fall 2015

Semester/Year: Spring, 2016

Transcription:

Systems Programming & UNIX CSC 352 Spring 2017

Instructors Dr. Eric Anson eanson@email.arizona.edu GS 823; Office Hours: TuTh 3:30-4:30, Wed 10-11 Kobus Barnard kobus@cs.arizona.edu GS 724; Office Hours: By appointment Contact Information TAs Mallory Walsh Erman Gurses Mai Moua Lavanya Kripakar walshmallory@email.arizona.edu egurses@email.arizona.edu memoua@email.arizona.edu lkripakar@email.arizona.edu TA Office Hours: see web page Course email: cs352s17@cs.arizona.edu (This email reaches all of us)

Dr. Eric Anson Joined Computer Science Faculty Last Year BS Math/Comp Sci Pepperdine University 1985 MS Mathematics University of Arizona 1993 PhD Comp Sci University of Arizona 2000 Worked all throughout industry and government from the Feds to the County and from biotech to Raytheon Taught 352, 245 and 473 last year Taught 14 math classes while a TA in mathematics

Kobus Barnard U.A. Faculty since fall 2002 Research interests Computer Vision Machine Learning Scientific Applications

Two Lectures Section 2: (Kobus) 9:30-10:15 am TuTh Saguaro Hall, Rm 202 Section 1: (Dr. Anson) 2:00-3:15 pm TuTh ILC, Rm 130 We will cover the same material each day You can attend either or both if space allows (except on exam days)

Websites: http://www.cs.arizona.edu/classes/cs352/spring17/ - Class homepage https://piazza.com/arizona/spring2017/csc352/home - Questions and Announcements http://d2l.arizona.edu - Grades

The challenge with 352 Our CS program primarily uses Java in the 300's and below, but C in many 400's. In 352 we try to... (1) Transform Java programmers into C programmers. (2) Teach user-level UNIX facilities for programmers. If you don t learn C, you get killed in the 400's! Therefore: Our priority is C programming. We'll focus on UNIX topics that are most directly useful to C programmers.

Course Topics Unix Basic concepts Filesystem navigation File management Basic Commands (grep, sort, wc, head, etc) I/O Redirection shell scripts make gdb gcov valgrind

The C programming language elementary C programming arrays, strings, pointers dynamic memory allocation structs file I/O implementing data structures performance tuning Course Topics, continued

Books Textbooks... No required text books... but C Programming: A Modern Approach, 2 nd edition by K. N. King is listed as "Recommended." It is a good book, but expensive*. You will probably want some C book as reference. Learning the Bash Shell is also recommended and is available as a free ebook from the library *Amazon will rent you a copy for about $35

Weekly Programming Assignments Usually due on Wednesdays Use turnin No late work Graded assignments back in 6 days (normally) Mostly C Some shell First one Due January 25 Assignments

Exams Short pop quizzes may occur any time 5% of the grade allocated These are to help you prepare for the real exams Some quizzes might not be for grade Some portion of the grade will be allocated for simply handing something in Midterm Thursday, March 2 Must go to your assigned section s room Final Exam Section 1 (Dr. Anson): Monday, April 8, 3:30pm 5:30PM Section 2 (Kobus): Tuesday, April 9, 8:00an 10:00am

Grading Grading Assignments 60% Quizzes 5% Mid-term 15% Final 20% Final Grade Standard 90/80/70/60 scale Might lower the bar, never raise it No extra credit

NO CHEATING! Capsule summary: Don't cheat in my class! Don't make it easy for anybody else to cheat! 1 st Offense will result in at least a drop in letter grade 2 nd Offense will result in failing the course Cheating for this class is passing off anyone else's work as your own or helping another student to cheat. Helping another student to cheat might mean leaving your code where someone else can get at it.

Cheating Summary Your integrity is worth more than a score on an assignment/test or even grade in a course Eventually it will catch up with you. If you don t know the material from this class you will not make it through the classes that follow. The department takes cheating VERY seriously and if you get caught the consequences are grim.

Attendance Attendance is expected but not recorded, except implicitly via pop quizzes You will be responsible for material covered in class even if it does not appear in the notes posted online. You've paid for the class, you should come to the class You probably won't do well if you're not coming to the class and surely won't do as well as you would if you did come to class.

Classroom Behavior (Kobus) The basic rule is be considerate of your fellow students (and also your hardworking instructor). I don t mind use of laptops or tablets, but for those who do find them distracting let s make the right side (my left, your right) of the classroom a screen free zone. Sit close to the front Read the department code of conduct.

Classroom Behavior (Dr. Anson) The basic rule is be considerate of your fellow students (and also your hardworking instructor). I don t mind use of laptops or tablets, but for those who do find them distracting let s make the left side (my right, your left) of the classroom a screen free zone. Sit close to the front Read the department code of conduct.

Be Prepared! This is a tough class and it takes a lot of time. Last year less than ½ of the students who originally enrolled in this class finished with a C or better. You CAN do this though. And it can be fun. But DON T think you can do it without working.

1. Come to the class! Tips

1. Come to the class! Tips 2. Start assignments right away!

1. Come to the class! Tips 2. Start Assignments Right Away! 3. Come to class!

1. Come to the class! Tips 2. Start Assignments Right Away! 3. Come to class! 4. Ask questions.

1. Come to the class! Tips 2. Start Assignments Right Away! 3. Come to class! 4. Ask questions. 5. Play and experiment.

1. Come to the class! Tips 2. Start Assignments Right Away! 3. Come to class! 4. Ask questions. 5. Play and experiment. 6. The assignments get progressively harder, but all have the same weight, so don t blow off the early assignments.

Goals 1. Learn the Material! 2. Be Considerate and Kind to Others 3. Come to Class 4. HAVE FUN!!!!

lectura We'll be using the Linux machine named "lectura" for much of our work. By virtue of being enrolled in this class you should already have a CS computing account with the same name as your UA NetID. If you've forgotten the password for your CS account, use "Reset my forgotten Unix password" on the page http://cs.arizona.edu/computing/services to reset it. There's no connection between your NetID password and your password on lectura.

lectura Since your programs will be turned in and tested on lectura, and since the Unix commands we will be using all work on lectura you need: 1. A way to connect to lectura 2. A way to either create files on or transfer files to lectura

Macs The Mac OS is now built on Unix, so getting to lectura from a Mac would be the same as getting there from a linux system. 29

Running bash on lectura Macs If you're on a Mac, start Terminal and use ssh to login to lectura: 1. bash prompt on Mac 2. ssh yournetid@lec.cs.arizona.edu 3. No echo/feedback while typing password 4. bash prompt on lectura! NOTE: Your bash prompts may differ!

"PuTTY" is a free Telnet/SSH client that I recommend for connecting to lectura from a Windows machine. If you Google for "putty", the first hit should be this: PuTTY Download Page www.putty.org Download putty.exe: Running bash on lectura Windows putty.exe is just an executable file; there's no installer. Save putty.exe to a convenient place, perhaps your Desktop.

Running bash on lectura Windows Click on putty.exe to run it. In the dialog that opens, fill in lec.cs.arizona.edu for Host Name and click Open.

These are ways to open a connection to lectura Commands you type in are sent to the shell on lectura, lectura processes them, and the results are sent back to your computer. You can make a connection, learn the Unix commands, use an editor like vi or emacs to create and edit files, and that's all you need... but What if you want to develop on your own computer? 33

What if you want to develop on your own computer? Plan A: Develop on your own computer, and then adjust the draft as needed on lectura For some assignments, this only makes sense on Macs and Linux You get the benefit of learning something about cross-platform development Plan B: Make your computer pretend it is lectura 34

Virtual Machine On the class web page there are links and instructions for downloading and installing a VM that mimics lectura (mostly) on your computer. http://www.cs.arizona.edu/classes/cs352/spring17/ A VM will let you develop code and play with commands locally, and then you can copy your files to lectura after they are finished. (Still worth checking one last time on the real lectura). 35

Your First Tasks ASAP you will want to establish a connection with lectura You might want to download and install the VM and start playing with it. In the first assignment you must turn in a text file answering UNIX questions on lectura. You can either do this by creating the file on lectura, or copying the file to lectura. 36