Introduction to GO CS240 20/8/2017.

Slides:



Advertisements
Similar presentations
 Please sit next to your partner.  If you don’t have a partner, please find one now.
Advertisements

CSE 115 Week 13 April , Announcements April 7 – Exam 9 April 7 – Exam 9 April 10 – Last day to turn in Lab 7 for any credit, last day to turn.
Git A distributed version control system 23-Aug-15.
Introduction to Git and Github Joshua imtraum.com.
Version control Using Git 1Version control, using Git.
Peter Ogden and Josh Levine.  Motivation  High level overview  Walk through the common operations  How not to break things (too badly)
VIDA Introductions - VIDA ?!?!?!?! - Coding standards - Training workflow with Git - References.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Version control Using Git Version control, using Git1.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Introduction to Git and Discussion on assignment 1 Gang Luo Sept. 14, 2010.
Drexel University Software Engineering Research Group Git for SE101 1.
Version Control. How do you share code? Discussion.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
Version Control Group Wen-hao Zeng Richard Liou. 2 Introduction Several groups develop the ITS concurrently Accumulated modification of files can cause.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Git Basics. Git stores data as snapshots of the project over time When commit Save all the files If files have not changed, point to the previous identical.
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
Git overview for RoboCup Andre Pool, September 2015.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Version Control System Lisa Palathingal 03/04/2015.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
© 2015 by Herb Holyst Introduction to git Cytomics Workshop December, 2015.
An Introduction to Git David Johndrow COMP 490 – Senior Design & Development 2/11/16.
Welcome to Snap! Below the Line Decal Facilitated By: Zachary McPherson and Bao Xie.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
CS102 Basic Computer Science and Programming Assoc. Prof. Jens Allmer Teaching Assistants: Canan Has, Caner Bağcı.
1. A new git is initialized as a remote repository JohnRemote repositoryPeter master C0 CodingWhileBlack.com PROPEL CODING
Version Control Systems
Information Systems and Network Engineering Laboratory II
Source Control Systems
GIT AND GITHUB WORKSHOP
Version Control.
IST256 : Applications Programming for Information Systems
Keeping track of all the copies of your files
Version Control overview
Version control, using Git
CISC/CMPE320 - Prof. McLeod
Revision Control, Automated Testing and Docker RSE Conference 2017
Development and Deployment
Version Control Systems
Lab 1 introduction, debrief
An introduction to version control systems with Git
Version Control with Git accelerated tutorial for busy academics
Enhancing Cloud Foundry with CLI Plugins
An introduction to version control systems with Git
The Big Picture
Introducing OpenEdX Hosam Shahin CS 6604 – Online Education Systems
An introduction to version control systems with Git
Getting Started with Git and Bitbucket
Computer Systems Programming
Trainings 11/18 Advanced Java Things.
Source Code Repository
C-to-LC3 Compiler Over the course of the next two weeks, you will build a program that will compile C code to LC-3 assembly language Don't panic! You.
Git CS Fall 2018.
Using Github and Github Organization in this Course
Introduction to Git and GitHub
Copyright Joanne DeGroat, ECE, OSU
A Short Intro to Go CS 240 – Fall 2018 Rec. 1.
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Lecture 1- Introduction
Version Control with Git
Intro to Git and GitHub Version Control using Git Carol Schofield
Introduction to Git and Github
Data science laboratory (DSLAB)
Copyright Joanne DeGroat, ECE, OSU
Presentation transcript:

Introduction to GO CS240 20/8/2017

Course overview Course website: http://web.kaust.edu.sa/Faculty/MarcoCanini/classes/CS240/F17/ Piazza: https://piazza.com/kaust.edu.sa/fall2017/cs240/home Grades are based on lab assignments and exams We will use Go as the programming language for the assignments Prof. Canini is away this week; he will expand more on the class overview next week Today we will re-introduce version control and go over the basics of Go (golang)

Version control It is a way to manage different versions or revisions of the files. Examples: Undo/redo buffers Google docs Overleaf (online Latex) Multiple versions sibyani@kaust:~$ ls assignment1-1.go assignment1-2.go assignment1-3_work_in_progress.go

Example: finished 1-1 finished 1-2 working 1-3 sibyani assignment1.go Local Versioning

finished 1-1 sibyani assignment1.go github/sibyani Remote Versioning

finished 1-1 sibyani assignment1.go finished 1-1 github/hsibyani assignment1.go Remote Versioning

finished 1-1 finished 1-2 working 1-3 sibyani assignment1.go assignment1.go assignment1.go finished 1-1 finished 1-2 github/hsibyani assignment1.go assignment1.go Remote Versioning

finished 1-1 finished 1-2 working 1-3 sibyani assignment1.go assignment1.go assignment1.go finished 1-1 finished 1-2 working 1-3 github/hsibyani assignment1.go assignment1.go assignment1.go Remote Versioning

finished 1-1 sibyani assignment1.go mcanini finished 1-1 github/team assignment1.go Collaborative Remote Versioning

finished 1-1 finished 1-2 sibyani assignment1.go mcanini assignment1.go finished 1-1 finished 1-2 github/team assignment1.go assignment1.go Collaborative Remote Versioning

https://education.github.com/pack Git Git is a version control system (not the only one) Most common commands git init: create git repository git add: add a file to be tracked in the repository git commit: commit the current tracked files git push: push the local files to the cloud git pull: pull the cloud files locally Start with git at: https://try.github.io https://education.github.com/pack

Why Go? Simpler, cleaner, and faster programming Fast compilation Easier interface abstractions Garbage collection Concurrency as a goal Read more in: https://golang.org/doc/faq#Origins source: xkcd

Who uses Go? and many more ...

Installation Usually straightforward (package manager or source) apt (Ubuntu) yum/dnf (RedHat) brew (macOS) Pay special attention to environment variables You may need to make sure you configure some of them (GOPATH and GOROOT)

Demo: Basics and declarations

Demo: Packages

Demo: Control flow

Demo: Extras

To do before next class Join Piazza Install Go Go tour – up to the concurrency: https://tour.golang.org Do some exercises And if you have time: How to write Go code: https://golang.org/doc/code.html Effective Go: https://golang.org/doc/effective_go.html