The Role of Version Control System in Course Organization
Ivan Milentijevic, Vladimir CiricFaculty of Electronic Engineering
University of Nis
Serbia and Montenegro
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
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.
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.
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
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.
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
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
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.
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
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
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
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
TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.
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)
TEMPUS project SCM-C015A05-SCG, Seminar on ECTS Implementation, Thursday, March 23rd, 2006.
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
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