the role of version control system in course organization ivan milentijevic, vladimir ciric faculty...

18
The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia and Montenegro

Upload: lena-pickle

Post on 30-Mar-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

The Role of Version Control System in Course Organization

Ivan Milentijevic, Vladimir CiricFaculty of Electronic Engineering

University of Nis

Serbia and Montenegro

Page 2: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Outline

Version Control Systems Course on Algorithms and architectures for dedicated

computer systems Course organization The role of version control systems in course

organization and evaluation of students’ work

Course site and usage of Version Control System

Project examples Concluding remarks

Page 3: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Version Control Systems

Version Control Systems are systems for providing source control to hierarchical collections of source directories (repositories).

It is important to note that Version Control Systems are not a build system but rather a way to control disparate versions of code as it is developed over time.

Page 4: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

CVS

Version control systems are also called a CVS

CVS is a short term for Concurrent Versions System, network-transparent program that allows developers to keep track of different development versions of source code.

CVS does not maintain multiple versions of source code files but keeps a single copy and records of all of the changes that are made. When a developer wants a particular development version of a file, CVS will reconstruct that version based on its records.

Page 5: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Topology of Version Control System

` ` ``

LOCAL AREA NETWORK

CVS SERVER

ROUTER

INTERNET

OFF-LAN CVS ACCESS

Repository 1

Repository 2

Repository 3

Repository N

Page 6: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Popularity of CV Systems

CVS systems are widely used in both software and hardware development companies.

Now days it is hard to imagine company that develops hardware or software not to use some kind of Version Control System.

Page 7: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Algorithms and architectures for dedicated computer systems

- course prerequisites -

Main topics: Mapping Algorithm onto the Architecture Hardware synthesis Hardware description Special purpose data paths DSP applications

Outcomes (be familiar with): Hardware synthesis ASIC, ASIP, FPGA Simulation, testing and verification

Semester IX: 2+2+1

Page 8: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Course organization Lectures (2 classes per week)

Hardware synthesis Hardware description Special purpose data paths DSP applications

Oral exercises (2 classes per week) VHDL – Hardware Description Language

Syntax Description of special purpose data paths Description of DSP applications Description of control units and interfaces

Labs (1 class per week) Aldec Active-HDL and Xilinx development environment VHDL description, simulation, synthesis and implementation

Data paths Memory modules Controllers and interfaces

Page 9: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Students’ projects

Outcome of course is to teach students to do description, testing and verification, synthesis and implementation of dedicated architectures, data paths, controllers and interfaces in Aldec’s and Xilinx’s development environments.

Students’ knowledge is evaluated through projects. Typically average student spend a month or month and a half working in project.

Projects are devoted to special purpose data paths, dedicated coprocessors and DSP applications.

Page 10: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

STUDENTTEACHING

STAFFCVS

SERVER

SETTING THE NEW REPOSITORY/TOPIC WITHIN CVS

NEW TOPIC

CREATE NEW REPOSITORY

CVS ACCESS

LIST TOPICS

CHOOSE

YES

NO

LIST OF TOPICS

GET CHOSEN REPOSITORY

REQUEST ACCESS

CREATE ACCOUNT

NEW ACCOUNT

GRANT ACCESS

WORK

SYNCHRONIZE

REPORT

SYNCHRONIZE

OFF-LINE or ON-LINE CONSULTATIONS

DONEEVALUATE WORK

NO

YESTh

e R

ole

of V

ersi

on C

ontr

ol S

yste

m in

Cou

rse

Org

aniz

atio

n

Page 11: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Version Control System Comparison Repository Operations

Atomic Commits Files and Directories Moves or Renames File and Directories Copies Remote Repository Replication Propagating Changes to Parent Repositories Repository Permissions Changesets' Support Tracking Line-wise File History

Features Ability to Work only on One Directory of the Repository Tracking Uncommited Changes Per-File Commit Messages

Technical Status Documentation Ease of Deployment Command Set Networking Support Portability

User Interfaces Web Interface Availability of Graphical User-Interfaces.

License

BerliOS The Open Source Mediator

http://better-scm.berlios.de/comparison/comparison.html

Page 12: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

CVS NAMERepository operations

Features Doc.User

interfacesLicense

CVS 6 7 9 6 OS

Aegis 7 6 6 8 OS

Arch 8 6 6 8 OS

BitKeeper 7 8 7 8 Yes

ClearCase 7 9 6 8 Yes

CMSynergy 9 9 8 9 Yes

Co-Op 8 6 7 6 Yes

Darcs 9 6 7 6 OS

Monotone 6 7 6 6 OS

OpenCM 6 6 7 7 OS

Perforce 7 5 6 7 Yes

PureCM 6 6 6 8 Yes

Subversion 8 8 8 7 Os

Svk 8 7 6 7 Yes

Vesta 9 8 6 8 Os

Visual SourceSafe

9 10 7 9 MSDN

• Off-LAN access• Open source• Well documented• Web interface• Linux based• Permissions• Stable

Page 13: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Course site(http://L3.elfak.ni.ac.yu/algarh)

Course material

News and information

Tutorials (VHDL, CVS, etc.)

Project topics

CVS Web access

Page 14: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Page 15: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Project examples

TOPICS Computer arithmetic

Dedicated microprocessors and coprocessors

Digital signal processing

Digital image processing

Video coding algorithms

Interfaces

OUTCOMES VHLD Source (Public available on CVS server) Written documentation (Public available on CVS server) Circuit, i.e. IP Core, datasheet (Public available on CVS server)

Page 16: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Page 17: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

Concluding remarks

CVS as support makes communication between teaching staff and students much more easier and more frequent and brings better results.

Using CVS as course support students are prepared to be a part of a team!

They found it as interesting and useful experience

Page 18: The Role of Version Control System in Course Organization Ivan Milentijevic, Vladimir Ciric Faculty of Electronic Engineering University of Nis Serbia

TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.

http://L3.elfak.ni.ac.yu/algarhhttp://L3.elfak.ni.ac.yu/algarh