Software Technologies Track Overview
Track |
ST: Software Technologies |
Coordinators |
Patricia McBride, Pere Mato |
Description |
This track presents modern techniques for software design and modern tools and technologies for understanding and improving existing software. The emphasis will be placed on the large software projects and large executables that are common in HEP. The track will consist of lectures and exercises. The first 3 lectures cover a series of tools and techniques which will be exemplified during the initial series of exercises. These lectures will include topics such software engineering, design, methodology and testing. The second series lectures will address issues when working with large software systems, including testing and methods for analyzing and improving their structure. The final 3 lectures will focus on a number of technologies that are relevant and commonly used for building interactive and distributed applications. In the exercise sessions, the students will have a chance to use the tools that are described in the lectures. They will work configuration management tools. They will be asked to use the test and debugging tools on some simple examples. By showing how these tools can locate known problems, students will learn how to use them on new problems. Students will then be given a functional program and a brief description of what it does. The goal is to extend the program to handle a larger problem domain. In the final exercise sessions, the students will practice the new technologies introduced with examples. For these exercises the Python language will be used. |
Lectures |
Tools and Techniques Series |
2 |
|||
|
These lectures present tools and techniques that are valuable when developing software for high energy physics. We discuss how to work more efficiently while still creating a high quality product that your colleagues will be happy with. The exercises provide practice with each of the tools and techniques presented, and culminate in a small project. |
||||
|
ST-TT-L_1 |
Tools |
|||
|
ST-TT-L_2 |
Techniques |
|||
Software Evolution and Testing Series |
2 |
||||
|
The lectures on "Software Evolution and Testing" are focused on the activities that characterize a software system, once it comes to life and its source code is available for analysis and manipulation. The quality requirements on the software can be enforced by continuously improving its internal structure (refactoring) and by exercising it dynamically |
||||
|
Software refactoring: |
||||
|
Testing
techniques |
||||
Software Engineering Series |
2 |
||||
|
An introduction to the principles of Software Engineering, with emphasis on what we know about building large software systems for high-energy physics. These lectures cover the principles of software engineering, design, methodology and testing. |
||||
|
ST_SE_L_1 |
Introduction to Software Engineering |
|||
|
ST_SE_L_2 |
Software Design, Long-term Issues of Software Building |
|||
Technologies for Interactive & Distributed Computing Series |
3 |
||||
|
Python scripting language |
||||
|
XML and related technologies (XSLT, ...) |
||||
|
Distributed computing technologies and protocols
(SOAP, XMLRPC, Web services, ...) |
||||
Hours |
|
9 |
|||
Exercises |
Tools and Techniques Series |
4 |
|||
|
ST_TT_E_1 |
Exercises on Tools and Techniques |
|
|
|
Technologies for Interactive & Distributed Computing Series |
3 |
||||
|
ST_IC_E_1 |
Exercises on Technologies for Interactive & Distributed Computing |
|
|
|
Hours |
|
|
|
|
7 |
Total hours |
|
16 |
Last edited:
31-Aug-04
.
F.Fluckiger