Lecture 1. Intro to Module and Tool-Chain

Size: px
Start display at page:

Download "Lecture 1. Intro to Module and Tool-Chain"

Transcription

1 Lecture 1 Module Introduction, Semester Schedule, Feedback to Exercis, Introduction to, Information to Literature BTF Digital Electronics 2 Feb. 20, 2015 Bern University of Applied Sciences

2 Agenda Rev. ab24f70 1.2

3 Module Description Accordingly to the official module description : BTF4220-de.xml The following major topics are going to be covered in the course: Digital function blocks such as counters, multiplexers, comparators, adders, etc. VHDL syntax and design methods with VHDL Get practical experience during labor exercises Test-bench and simulation of VHDL designed circuits Rev. ab24f70 1.3

4 Module Documents Rev. ab24f70 1.4

5 Module Documents Rev. ab24f70 1.4

6 Module Elements lecture [2/w] exercises Advanced Electronics Digital laboratory [2/s] Analogue lecture [2/w] laboratory [2/s] exercises Rev. ab24f70 1.5

7 Module Grading Rev. ab24f70 1.6

8 Module Grading Advanced Electronics [BTF4220] Analogue Digital Exam [40%] Lab [10%] Exam [40%] Lab [10%] Rev. ab24f70 1.6

9 Module Grading Advanced Electronics [BTF4220] Analogue Digital Exam [40%] Lab [10%] Exam [40%] Lab [10%] A : 90 % B : 80 % C : 70 % D : 60 % E : 50 % FX : > 35 % F : 35 % Rev. ab24f70 1.6

10 Module Grading Advanced Electronics [BTF4220] Analogue Digital Exam [40%] Lab [10%] Exam [40%] Lab [10%] A : 90 % B : 80 % C : 70 % D : 60 % E : 50 % FX : > 35 % F : 35 % Rev. ab24f70 1.6

11 Module Grading Advanced Electronics [BTF4220] Analogue Digital Exam [40%] Lab [10%] Exam [40%] Lab [10%] A : 90 % B : 80 % C : 70 % D : 60 % E : 50 % FX : > 35 % F : 35 % The module grading is described more detailed by the document BTF4220 Berechnung der Modulnote/Calculation de la note final. Rev. ab24f70 1.6

12 Module Grading Advanced Electronics [BTF4220] Analogue Digital Exam [40%] Lab [10%] Exam [40%] Lab [10%] A : 90 % B : 80 % C : 70 % D : 60 % E : 50 % FX : > 35 % F : 35 % It is the students responsibility to get missed information, documents and to follow the course carefully. Rev. ab24f70 1.6

13 Module Schedule Date WoS WoY Description module introduction VHDL intro and design units programming paradigm combinational logic and test-bench hands-on combinational logic (parallel adder) theorie sequential logic easter holidays hands-on sequential logic (serial adder) VHDL operators and libraries data objects theorie FSM models hands-on FSM models Special project week basic digital circuits hands-on (calculator and/or others) exam exam feedback There is a special physics workshop (no course) Individual preparation is without lecturer on the Ascension day [Auffahrt] (WoS 14 WoY 22) Maybe individual hands-on lecture the Friday before Easter holidays Rev. ab24f70 1.7

14 Software used during the course OS We will work on Linux only (Ubuntu LTS or Debian stable). Get information to some Linux basics on our wiki CS There is a basic command overview on course website. (home work: install BFH Linux, Debian, or Ubuntu Get some initial experience to the described Linux commands) Rev. ab24f70 1.8

15 Software used during the course OS We will work on Linux only (Ubuntu LTS or Debian stable). Get information to some Linux basics on our wiki CS There is a basic command overview on course website. (home work: install BFH Linux, Debian, or Ubuntu Get some initial experience to the described Linux commands) Editor I recommend using Emacs as text editor. It is an open source and multi-platform software and very handy for VHDL too Alternatively use systems default GEdit syntax highlighting only. Rev. ab24f70 1.8

16 Software used during the course OS We will work on Linux only (Ubuntu LTS or Debian stable). Get information to some Linux basics on our wiki CS There is a basic command overview on course website. (home work: install BFH Linux, Debian, or Ubuntu Get some initial experience to the described Linux commands) Editor I recommend using Emacs as text editor. It is an open source and multi-platform software and very handy for VHDL too Alternatively use systems default GEdit syntax highlighting only. Make We will build our designs on command-line by using the build-system make vortraege/make_inhalt.en.html (home work : Read and do the examples given) Rev. ab24f70 1.8

17 Software used during the course VM As a vitalization environment use VirtualBox it is free and intuitive as well as multi-platform compatible if you do not want installing a bearmetal Linux. Rev. ab24f70 1.9

18 Software used during the course VM As a vitalization environment use VirtualBox it is free and intuitive as well as multi-platform compatible if you do not want installing a bearmetal Linux. VCS You will use Git to get the course code snippets as well as proposed solutions. (home work : Read the first chapters in online, opensource Git tutorial book) Rev. ab24f70 1.9

19 Software used during the course VM As a vitalization environment use VirtualBox it is free and intuitive as well as multi-platform compatible if you do not want installing a bearmetal Linux. VCS You will use Git to get the course code snippets as well as proposed solutions. (home work : Read the first chapters in online, opensource Git tutorial book) Git is more than a method distributing code snippets. We recommend using Git for your daily business in engineering where it comes to source code or other plain text resource management. Rev. ab24f70 1.9

20 What means VCS VCS : Version Control System Rev. ab24f

21 What means VCS VCS : Version Control System It records chances to a file or file-set over time Rev. ab24f

22 What means VCS VCS : Version Control System It records chances to a file or file-set over time Not only for source files also binary files can be controlled by a VCS e.g. as a web designer tracking images Rev. ab24f

23 What means VCS VCS : Version Control System It records chances to a file or file-set over time Not only for source files also binary files can be controlled by a VCS e.g. as a web designer tracking images Allows to revert to a previous state Rev. ab24f

24 What means VCS VCS : Version Control System It records chances to a file or file-set over time Not only for source files also binary files can be controlled by a VCS e.g. as a web designer tracking images Allows to revert to a previous state Shows who modified what when Rev. ab24f

25 What means VCS VCS : Version Control System It records chances to a file or file-set over time Not only for source files also binary files can be controlled by a VCS e.g. as a web designer tracking images Allows to revert to a previous state Shows who modified what when You can recover easily Rev. ab24f

26 What means VCS VCS : Version Control System It records chances to a file or file-set over time Not only for source files also binary files can be controlled by a VCS e.g. as a web designer tracking images Allows to revert to a previous state Shows who modified what when You can recover easily Very little overhead Rev. ab24f

27 Local Version Control Systems Copy files into an other directory - timestamped if user is clever Simplest method Very little control mechanism It is easy to forget proper working directory hence wrong file will be accidentally modified Rev. ab24f

28 Local Version Control Systems Copy files into an other directory - timestamped if user is clever Simplest method Very little control mechanism It is easy to forget proper working directory hence wrong file will be accidentally modified Programmers developed a simple database tracking mechanism to deal with the issues mentioned The VCS RCS was born that time and is still used nowadays RCS (Revision Control System) works on diff patch approach Img. ref.: Rev. ab24f

29 Centralized Version Control Systems Next issue was that people need to collaborate with developers on other systems. A sever based approach was needed (the server acts as a centralized source distributor and repository management unit) Drawbacks are single point of failure, nobody can collaborate without server, risky to loos everything Rev. ab24f

30 Centralized Version Control Systems Next issue was that people need to collaborate with developers on other systems. A sever based approach was needed (the server acts as a centralized source distributor and repository management unit) Therefore a Centralized Version Control System (CVCS) were developed CVC Systems, such as CVS, Perforce, and Subversion, have a single central place - server. Advantages are, everyone knows what everyone else is doing Administrators have fine-grained permission control Img. ref.: Drawbacks are single point of failure, nobody can collaborate without server, risky to loos everything Rev. ab24f

31 Distributed Version Control Systems Distributed Version Control Systems (DVCSs) stepped in DVC Systems, such as Git, Mercurial, Bazaar or Darcs, are nowadays standard The major difference is clients not only checkout a work-tree copy also they fully mirror the repository Rev. ab24f

32 Distributed Version Control Systems Distributed Version Control Systems (DVCSs) stepped in DVC Systems, such as Git, Mercurial, Bazaar or Darcs, are nowadays standard The major difference is clients not only checkout a work-tree copy also they fully mirror the repository No longer reliable on an online available central server at anytime Off-site full backups of all the data Those system deal pretty well with several remote repository e.g. for libraries Several new smart workflows are possible Img. ref.: Rev. ab24f

33 Git concept Img. ref.: Img. ref.: List of file based changes Information is keep as a set of files Set of snapshots of a mini filesystem No changes means no snapshot of that part Rev. ab24f

34 Git concept Local operations : Most operations in Git only need local resources and files to operate. Due to local file operation, Git commands don t suffer from network latency. If you browse history Git doesn t need a server connection. An other advantage is the offline-tracking capability Rev. ab24f

35 Git concept Local operations : Most operations in Git only need local resources and files to operate. Due to local file operation, Git commands don t suffer from network latency. If you browse history Git doesn t need a server connection. An other advantage is the offline-tracking capability Data integrity : Git is using SHA-1 hash numbers for integrity check. Every file will be check-summed before stored. Hence no modification can be made without letting Git know of the change. Rev. ab24f

36 Git concept Local operations : Most operations in Git only need local resources and files to operate. Due to local file operation, Git commands don t suffer from network latency. If you browse history Git doesn t need a server connection. An other advantage is the offline-tracking capability Data integrity : Git is using SHA-1 hash numbers for integrity check. Every file will be check-summed before stored. Hence no modification can be made without letting Git know of the change. Three states : Git has three stages where files can reside in. Committed, modified and staged. Rev. ab24f

37 The three stages of Git Img. ref.: Rev. ab24f

38 The three stages of Git Img. ref.: Committed : The data is safely stored in your local database Rev. ab24f

39 The three stages of Git Img. ref.: Committed : The data is safely stored in your local database Modified : There are changes on files not committed to the database yet Rev. ab24f

40 The three stages of Git Img. ref.: Committed : The data is safely stored in your local database Modified : There are changes on files not committed to the database yet Staged : There are modified file in its current version marked to go into the next commit snapshot Rev. ab24f

41 Don t miss the chance It was quite a bit of information and there is a big chance to get lost. So, don t waste your time...learn Git! Official Git book Git wiki on kernel.org Take a tour Learn Git visually http: //marklodato.github.io/visual-git-guide/index-en.html Rev. ab24f

42 Processor vs ASIC Rev. ab24f

43 Universal Structure Rev. ab24f

44 AND in a LUT Rev. ab24f

45 SPLD SPLD : (Simple Programmable Logic Device) Rev. ab24f

46 Unprogrammed PLD Rev. ab24f

47 Programmed PLD irreversible universal structure OR array Rev. ab24f

48 FPGA Structure Rev. ab24f

49 CLB Element Rev. ab24f

50 IO Block Rev. ab24f

51 Block RAM Rev. ab24f

52 DSP Element Rev. ab24f

53 DSP Element Rev. ab24f

54 FPGA vs uc Summary An FPGA provides several configurable slices (LUTs, Mux, FFs), Block RAM elements, clock and signal routing resource etc. Rev. ab24f

55 FPGA vs uc Summary An FPGA provides several configurable slices (LUTs, Mux, FFs), Block RAM elements, clock and signal routing resource etc. Based on the macro elements we are able to realize any kind of function Rev. ab24f

56 FPGA vs uc Summary An FPGA provides several configurable slices (LUTs, Mux, FFs), Block RAM elements, clock and signal routing resource etc. Based on the macro elements we are able to realize any kind of function Due to the options we have. An FPGA is like a canvas. VHDL helps describing the function modle. The tool-chain realizes our system based on our description Rev. ab24f

57 FPGA vs uc Summary An FPGA provides several configurable slices (LUTs, Mux, FFs), Block RAM elements, clock and signal routing resource etc. Based on the macro elements we are able to realize any kind of function Due to the options we have. An FPGA is like a canvas. VHDL helps describing the function modle. The tool-chain realizes our system based on our description A uc is a static hardware (unchangeable) hence we program it by using the static and available resources. Rev. ab24f

58 FPGA vs uc Summary An FPGA provides several configurable slices (LUTs, Mux, FFs), Block RAM elements, clock and signal routing resource etc. Based on the macro elements we are able to realize any kind of function Due to the options we have. An FPGA is like a canvas. VHDL helps describing the function modle. The tool-chain realizes our system based on our description A uc is a static hardware (unchangeable) hence we program it by using the static and available resources. Pros Cons flexible well skilled designer FPGA fast solution longer time to marked chap compared to ASIC short time to market bad performance uc low unit cost less flexible Rev. ab24f

Computer Science Design I Version Control with Git

Computer Science Design I Version Control with Git Computer Science Design I Version Control with Git Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research Center The University of Kansas annguyen@ittc.ku.edu

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

Lab session 1 Git & Github

Lab session 1 Git & Github Lab session 1 Git & Github Administration Course personnel: Lecturer - Refael Dakar, currentintec@gmail.com TA - Avi Hayoun, hayounav@cs.bgu.ac.il Office hours - Tuesdays, 14:00-16:00 @ 109/37 (might change)

More information

License. Introduction to Version Control with Git. Local Version Control Systems. Why Use Version Control?

License. Introduction to Version Control with Git. Local Version Control Systems. Why Use Version Control? License Introduction to Version Control with Git Andreas Skielboe 1 Adapted by Dr. Andrew Vardy 2 All images adapted from Pro Git by Scott Chacon and released under license Creative Commons BY-NC-SA 3.0.

More information

Introduction to Version Control with Git

Introduction to Version Control with Git Introduction to Version Control with Git Dark Cosmology Centre Niels Bohr Institute License All images adapted from Pro Git by Scott Chacon and released under license Creative Commons BY-NC-SA 3.0. See

More information

Using git to download and update BOUT++

Using git to download and update BOUT++ ER Meeting 14th Sept 2015 1/28 Using git to download and update BOUT++ Peter Hill ER Meeting 14th Sept 2015 2/28 Outline What is git? Getting git Basic git usage Getting BOUT++ Compiling BOUT++ Running

More information

Using Git to Manage Source RTL

Using Git to Manage Source RTL Using Git to Manage Source RTL CS250 Tutorial 1 (Version 082311) August 24, 2011 Brian Zimmer How to use this tutorial This class will be using Git for all of the labs and projects. This will allow the

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

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria 21-Nov-2013 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline General

More information

A BASIC UNDERSTANDING OF VERSION CONTROL

A BASIC UNDERSTANDING OF VERSION CONTROL A BASIC UNDERSTANDING OF VERSION CONTROL DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU

More information

Decentralized Version Control Systems

Decentralized Version Control Systems Decentralized Version Control Systems Matthieu Moy Verimag 2007 Matthieu Moy (Verimag) DVC 2007 < 1 / 43 > Outline 1 Motivations, Prehistory 2 History and Categories of Version Control Systems 3 Version

More information

Push up your code next generation version control with (E)Git

Push up your code next generation version control with (E)Git Push up your code next generation version control with (E)Git Dominik Schadow Senior Consultant Application Development dominik.schadow@trivadis.com Java Forum Stuttgart, 07.07.2011 Basel Bern Lausanne

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. 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

F17 Modern Version Control with Git. Aaron Perley https://www.andrew.cmu.edu/course/98-174/

F17 Modern Version Control with Git. Aaron Perley https://www.andrew.cmu.edu/course/98-174/ 98-174 F17 Modern Version Control with Git Aaron Perley (aperley@andrew.cmu.edu) https://www.andrew.cmu.edu/course/98-174/ Why should you take this course? Version control software is an essential part

More information

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 WHO AM I? @tushar_rishav GSoC'16 student contributing to coala - a static code analysis tool, under Python So ware Foundation. A senior

More information

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow Tutorial: Getting Started with Git Introduction to version control Benefits of using Git Basic commands Workflow http://xkcd.com/1597/ 2 Tutorial Objectives Fundamentals of how git works Everything you

More information

Laboratorio di Programmazione. Prof. Marco Bertini

Laboratorio di Programmazione. Prof. Marco Bertini Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each

More information

GIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7

GIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7 GIT VERSION CONTROL TUTORIAL William Wu w@qed.ai 2014 October 7 ABOUT ME Scientific Computing Specialist background: math, cs, ee interests: machine learning, DSP, imaging, data viz, cloud work: various

More information

Fundamentals of Git 1

Fundamentals of Git 1 Fundamentals of Git 1 Outline History of Git Distributed V.S Centralized Version Control Getting started Branching and Merging Working with remote Summary 2 A Brief History of Git Linus uses BitKeeper

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

AIS Grid School 2015

AIS Grid School 2015 Getting distributed without losing your HEAD AIS Grid School 2015 Дубна, Россия 3 e Oктября 2015 Benjamin Wolff (CERN / GS-AIS) Logo source: http://git-scm.com/downloads/logos What is a Version Control

More information

Git for Version Control

Git for Version Control Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from http://git-scm.com/book/en/ http://www.cs.washington.edu/403/ About

More information

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I

More information

Version control with Git.

Version control with Git. 1 Version control with Git http://git-scm.com/book/en/ Basic Intro to Git We will: Discuss how Git differs from Subversion Discuss the basic Git model Pull/clone files from a repository on github Edit

More information

Version Control Systems (Part 1)

Version Control Systems (Part 1) i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version

More information

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control

More information

CSE 391 Lecture 9. Version control with Git

CSE 391 Lecture 9. Version control with Git CSE 391 Lecture 9 Version control with Git slides created by Ruth Anderson & Marty Stepp, images from http://git-scm.com/book/en/ http://www.cs.washington.edu/391/ 1 Problems Working Alone Ever done one

More information

USPAS Simulation of Beam and Plasma Systems Steven M. Lund, Jean-Luc Vay, Remi Lehe, Daniel Winklehner and David L. Bruhwiler Lecture: Software Version Control Instructor: David L. Bruhwiler Contributors:

More information

Revision control. INF5750/ Lecture 2 (Part I)

Revision control. INF5750/ Lecture 2 (Part I) Revision control INF5750/9750 - Lecture 2 (Part I) Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same

More information

Version Control Systems: Overview

Version Control Systems: Overview i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version

More information

CSC 2700: Scientific Computing

CSC 2700: Scientific Computing CSC 2700: Scientific Computing Record and share your work: revision control systems Dr Frank Löffler Center for Computation and Technology Louisiana State University, Baton Rouge, LA Feb 13 2014 Overview

More information

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017 GETTING STARTED WITH Michael Lessard Senior Solutions Architect June 2017 Agenda What is Git? Installation of Git Git basis Github First steps with Git 2 WHAT IS GIT? What is Git? Started in 2005 Created

More information

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I

More information

Software Revision Control for MASS. Git Basics, Best Practices

Software Revision Control for MASS. Git Basics, Best Practices Software Revision Control for MASS Git Basics, Best Practices Matthew Sell, CSSE Student MASS Research Participant, February 2014 What is revision control? The obligatory Wikipedia definition: revision

More information

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Outline 1 2 3 Outline 1 2 3 Old Style Files are in a directory lots of backup files ordered by manual version number

More information

M E R C U R I A L (The Source Control Management)

M E R C U R I A L (The Source Control Management) M E R C U R I A L (The Source Control Management) Jamshaid Iqbal Janjua, Shahid Awan jamshaid.janjua@kics.edu.pk shahidawan@kics.edu.pk Al-Khawarizmi Institute of Computer Science University of Engineering

More information

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018 Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018 Version Control September 18, 2018 Thursday (September 20) First in-class exercise On using git (today is a prelude with useful

More information

Lab 08. Command Line and Git

Lab 08. Command Line and Git Lab 08 Command Line and Git Agenda Final Project Information All Things Git! Make sure to come to lab next week for Python! Final Projects Connect 4 Arduino ios Creative AI Being on a Team - How To Maximize

More information

S18 Modern Version Control with Git

S18 Modern Version Control with Git 98-174 S18 Modern Version Control with Git Aaron Perley (aperley@andrew.cmu.edu) Ilan Biala (ibiala@andrew.cmu.edu) https://www.andrew.cmu.edu/course/98-174/ Why should you take this course? Version control

More information

What is Subversion and what does it do?

What is Subversion and what does it do? What is Subversion and what does it do? A version control system Manages files and directories and any changes made to those files and directories Can be used across networks to promote remote collaboration

More information

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

CSCI 4152/6509 Natural Language Processing. Lab 1: FCS Computing Environment CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment http://web.cs.dal.ca/ vlado/csci6509 Lab Instructor: Dijana Kosmajac, Dhivya Jayaraman Slides copyright: Mike McAllister, Vlado

More information

Git! Fundamentals. IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter!

Git! Fundamentals. IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter! Git! Fundamentals IT Pro Roundtable! June 17, 2014!! Justin Elliott! ITS / TLT! Classroom and Lab Computing!! Michael Potter! IT Communications 1 What is Version Control? Version Control System (VCS)!

More information

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2 Git Git 1 Topics covered Introduction to Git Git workflows Git key concepts Hands on session Branching models Git 2 Introduction to Git Git 3 Version control systems The source files of a project changes

More information

Version Control Systems

Version Control Systems Version Control Systems Christophe Rhodes c.rhodes@gold.ac.uk 12th January 2013 Version Control notes.txt cis320project. Version Control notes.txt index.php cis320project. Version Control notes.txt index.php

More information

TSEA44 - Design for FPGAs

TSEA44 - Design for FPGAs 2015-11-24 Now for something else... Adapting designs to FPGAs Why? Clock frequency Area Power Target FPGA architecture: Xilinx FPGAs with 4 input LUTs (such as Virtex-II) Determining the maximum frequency

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

Welcome! Virtual tutorial will start at 15:00 GMT. Please leave feedback afterwards at:

Welcome! Virtual tutorial will start at 15:00 GMT. Please leave feedback afterwards at: Welcome! Virtual tutorial will start at 15:00 GMT Please leave feedback afterwards at: www.archer.ac.uk/training/feedback/online-course-feedback.php Introduction to Version Control (Part 2) ARCHER Virtual

More information

Version Control. Version Control

Version Control. Version Control Version Control Prepared for CS 342 - Software Design by John Bell Based on slides prepared by Jason Leigh for CS 340 University of Illinois at Chicago Version Control Incredibly important when working

More information

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. Have you ever lost your work? 3/10/2017 Version Control with Git 2 Have you ever lost

More information

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY 1 WHAT IS VERSION CONTROL? Management of changes to documents like source code, scripts, text files Provides the ability to check documents in

More information

Version Control with GIT: an introduction

Version Control with GIT: an introduction Version Control with GIT: an introduction Muzzamil LUQMAN (L3i) and Antoine FALAIZE (LaSIE) 23/11/2017 LaSIE Seminar Université de La Rochelle Version Control with GIT: an introduction - Why Git? - What

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

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM)

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM) Overview Project Management How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 What is Project Management? Effective

More information

Version control CSE 403

Version control CSE 403 Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,

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

Project Management. Overview

Project Management. Overview Project Management Overview How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 1 What is Project Management? Effective

More information

Version control CSE 403

Version control CSE 403 Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,

More information

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48 Git and GitHub Dan Wysocki February 12, 2015 Dan Wysocki Git and GitHub February 12, 2015 1 / 48 1 Version Control 2 Git 3 GitHub 4 Walkthrough Dan Wysocki Git and GitHub February 12, 2015 2 / 48 Version

More information

Version Control with GIT

Version Control with GIT Version Control with GIT Benjamin Roth CIS LMU München Benjamin Roth (CIS LMU München) Version Control with GIT 1 / 30 Version Control Version control [...] is the management of changes to documents, computer

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

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

Version Control for Fun and Profit

Version Control for Fun and Profit Version Control for Fun and Profit Chris Brady Heather Ratcliffe The Angry Penguin, used under creative commons licence from Swantje Hess and Jannis Pohlmann. Warwick RSE 30/11/2017 Version control 30/11/2017

More information

AMath 483/583 Lecture 2

AMath 483/583 Lecture 2 AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline: AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

GIT. CS 490MT/5555, Spring 2017, Yongjie Zheng

GIT. CS 490MT/5555, Spring 2017, Yongjie Zheng GIT CS 490MT/5555, Spring 2017, Yongjie Zheng GIT Overview GIT Basics Highlights: snapshot, the three states Working with the Private (Local) Repository Creating a repository and making changes to it Working

More information

Experimental Psychology Lab Practice tidy cooperation

Experimental Psychology Lab Practice tidy cooperation Experimental Psychology Lab Practice tidy cooperation today s topics 1 folder structure 2 version control 3 git 4 markdown 2 Folder structure ::: how not to manually produced version history clutter no

More information

Version control system (VCS)

Version control system (VCS) Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible

More information

Git. Presenter: Haotao (Eric) Lai Contact:

Git. Presenter: Haotao (Eric) Lai Contact: Git Presenter: Haotao (Eric) Lai Contact: haotao.lai@gmail.com 1 Acknowledge images with white background is from the following link: http://marklodato.github.io/visual-git-guide/index-en.html images with

More information

Revision control systems (RCS) and. Subversion

Revision control systems (RCS) and. Subversion Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

CS 390 Software Engineering Lecture 3 Configuration Management

CS 390 Software Engineering Lecture 3 Configuration Management CS 390 Software Engineering Lecture 3 Configuration Management Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved.

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

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

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

CS 320 Introduction to Software Engineering Spring February 06, 2017

CS 320 Introduction to Software Engineering Spring February 06, 2017 CS 320 Introduction to Software Engineering Spring 2017 February 06, 2017 Recap: Software development process models Traditional models Waterfall model Iterative and incremental Prototyping Spiral model

More information

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU Lab 01 How to Survive & Introduction to Git Web Programming DataLab, CS, NTHU Notice These slides will focus on how to submit you code by using Git command line You can also use other Git GUI tool or built-in

More information

Implement an ADT while using Subversion

Implement an ADT while using Subversion 1 Objectives Learn to use Subversion Implement an ADT while using Subversion In this lab, you learn about the version control tool called Subversion and you will implement a Java class given an interface.

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

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

CS 520: VCS and Git. Intermediate Topics Ben Kushigian CS 520: VCS and Git Intermediate Topics Ben Kushigian https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/2017_09_19.zip Our Goal Our Goal (Overture) Overview the basics of Git w/ an eye towards

More information

Version Control. Version Control

Version Control. Version Control Version Control CS440 Introduction to Software Engineering John Bell Based on slides prepared by Jason Leigh for CS 340 University of Illinois at Chicago Version Control Incredibly important when working

More information

DEVNET Introduction to Git. Ashley Roach Principal Engineer Evangelist

DEVNET Introduction to Git. Ashley Roach Principal Engineer Evangelist DEVNET-1080 Introduction to Git Ashley Roach Principal Engineer Evangelist Twitter: @aroach Email: asroach@cisco.com Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the

More information

PINE TRAINING ACADEMY

PINE TRAINING ACADEMY PINE TRAINING ACADEMY Course Module A d d r e s s D - 5 5 7, G o v i n d p u r a m, G h a z i a b a d, U. P., 2 0 1 0 1 3, I n d i a Digital Logic System Design using Gates/Verilog or VHDL and Implementation

More information

Version Control May 26 talk starts at 3:10. Davide Del Vento

Version Control May 26 talk starts at 3:10. Davide Del Vento Version Control 2011 May 26 talk starts at 3:10 The speaker, PhD in Physics Consulting Services, Software Engineer NCAR - CISL http://www2.cisl.ucar.edu/uss/csg office: Mesa Lab, Room 42B phone: (303)

More information

A Practical Introduction to Version Control Systems

A Practical Introduction to Version Control Systems A Practical Introduction to Version Control Systems A random CAKES(less) talk on a topic I hope others find useful! a.brampton@lancs.ac.uk 4th February 2009 Outline 1 What is Version Control Basic Principles

More information

Version Control: Gitting Started

Version Control: Gitting Started ting Started Cai Li October 2014 What is Version Control? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Local Version

More information

Homework deadline extended to next friday

Homework deadline extended to next friday Norm Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday Description Design Conception

More information

Distributed Version Control (with Git)

Distributed Version Control (with Git) Distributed Version Control (with Git) Introduction and Tutorial fhlug 24. 03. 2011 Why Distributed? No single point of failure Automatic backups Fast local operations (log, diff, checkout, ) Authenticity

More information

Algorithm Engineering

Algorithm Engineering Algorithm Engineering Jens K. Mueller jkm@informatik.uni-jena.de Department of Mathematics and Computer Science Friedrich Schiller University Jena Tuesday 21 st October, 2014 Version Control with Git Version

More information

Software configuration management

Software configuration management Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2017-03-27 2 Maintenance Requirements System Design (Architecture,

More information

Common Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18

Common Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18 Common Git Commands Git Crash Course Teon Banek theongugl@gmail.com April 7, 2016 Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18 Outline 1 Introduction About Git Setup 2 Basic Usage Trees Branches

More information

Introduction to distributed version control with git

Introduction to distributed version control with git Institut für theoretische Physik TU Clausthal 04.03.2013 Inhalt 1 Basics Differences to Subversion Translation of commands 2 Config Create and clone States and workflow Remote repos Branching and merging

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 12 B3B36PRG C Programming Language Jan Faigl, 2017 B3B36PRG

More information

Using git To Manage Your System's Configuration

Using git To Manage Your System's Configuration Roberto C. Sánchez Ohio LinuxFest Saturday, October 25, 2014 Overview About the presenter Use case Alternatives for managing system configuration git-based alternatives Selecting an approach Implementing

More information

Technology Background Development environment, Skeleton and Libraries

Technology Background Development environment, Skeleton and Libraries Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,

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

Bazaar VCS. Concepts and Workflows

Bazaar VCS. Concepts and Workflows Bazaar VCS Concepts and Workflows Paint rollers and brushes If you want to paint, you have a choice of tools, including paint rollers and brushes. If you re painting a portrait, you would use a small brush.

More information

Source Code Management wih git

Source Code Management wih git Source Code Management wih git Matthieu Herrb December 22 http://homepages.laas.fr/matthieu/cours/git.pdf Licence This work is licensed under a Creative Commons Attribution-ShareAlike 3. Unported License.

More information

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

Outline. Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network

Outline. Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network Outline Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network Why do I need version control? How many lines of code was

More information