Funding has been made available to provide appropriate IT training for STFC PhD students and PDRAs on STFC grants for the 2010-2011 financial year. In the first instance this will be primarily in Object Oriented (OO) techniques. Courses will be provided at, or near, RAL.
All the course fees will be covered for STFC PhD students and PDRAs on STFC grants (this includes any RA working either on a project grant or standard grant that is funded by STFC), but participants must make their own arrangements for any transport, food or accommodation costs. Others may attend if there are spare places but will have to pay £110/day for their place.
So that you can keep up to date, a mailing list has been created, which will be used for announcements and to signal significant changes to this web page. To sign up to this list please go to the JISCmail service.
Please advertise this URL (http://hepunx.rl.ac.uk/ukheptrain/) and the mailing list within the STFC funded community.
Some of the following courses may be offered according to demands and available funds. So please e-mail <gridpptraining@rl.ac.uk>, to tell us what you want.
| Ref | Subject | Contents | Hands On | No. of days |
|---|---|---|---|---|
| 1 | Object-Oriented Analysis and Design. | This is the main OO A&D course. It makes use of the notations of the Unified Modelling Language (UML). Some Java and/or C++ illustrations will be included. | 3 | |
| 2 | OO Programming with Java | Java takes its syntactic style from C++ (but not its size or complexity). So effort spent in this course is very likely to be of benefit even if Java is not your implementation language. For most people it is best to have already attended course #1 | Yes | 3 |
| 3 | CORBA Development with Java | The Java language, IDL and ORB are used to give a sound practical knowledge of CORBA and Java's support for CORBA. The knowledge of course #2 is assumed. | Yes | 2 |
| 4 | Introduction to OO Programming using C++ (C++ Part 1) | C++ is a common choice of language for object-orientation. Yet it is one of the most difficult languages to use well. This course focuses strongly on achieving good object-oriented designs and code using C++ rather than on C++ the language, in all its detail. For most people it is best to have already attended course #1 | Yes | 3 |
| 5 | Advanced C++ and its Traps and Pitfalls (C++ Part 2) | This is a continuation of course #4. It is assumed that people will have tried to apply the first course before attending this one, or will have some other practical experience of C++. | Yes | 4 |
| 6 | Templates and the STL (C++ Part 3) | This covers template-based, or generic programming in C++. As well as covering the creation of template classes and template functions, the standard library's provisions (known historically as the Standard Template Library or STL) are examined in depth. The knowledge of course #5 is assumed assumed. | Yes | 2 |
| 7 | Exceptions (C++ Part 4) | In C++ the issues relating to exceptions are complicated by the difficulties of correctly handling resources such as the free store. The knowledge of course #5 is assumed. | Yes | 1 |
| 8 | Understanding and Using Design Patterns | This is a workshop style course which addresses various design patterns and provides an appreciation of tried architectures. To benefit from this course you should have some practical experience of coding in Java or C++ to understand the problems which are being addressed. | 2 | |
| 9 | Project Management | This course introduces the basic skills of project control and management as applied to a software project. | 2 | |
| 10 | Advanced Java | You should have already attended course #2 or have equivalent experience. The course will familiarise you with the contents of the Java library packages, and introduce you to way that the various classes and interfaces work and are intended to be used. (It will help if participants have a little experience in other areas of software engineering in general, such as relational databases and SQL, and networking). | Yes | 3 |
| 11 | Python | This very interactive course is designed to give the student the ability to write useful programs in Python taking advantages of a dynamic, introspective, incremental environment for rapid program development. A number of programming styles and techniques supported by Python will be exposed. | Yes | 4 |
The courses marked as Hands On involve practical work with a PC running MS Windows. People should familiarise themseves with MS Windows before attending any of these courses.
Steve Fisher/RAL