-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathteaching.php
More file actions
328 lines (314 loc) · 11.5 KB
/
teaching.php
File metadata and controls
328 lines (314 loc) · 11.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
$App = new App();
$Nav = new Nav();
$Menu = new Menu();
include($App->getProjectCommon());
# Begin: page-specific settings. Change these.
$pageTitle = "The AspectJ Project: Teaching";
$pageKeywords = "AspectJ, AJDT, Aspect Oriented Software Development, Eclipse";
$pageAuthor = "Type your name here";
# Add page-specific Nav bars here
# Format is Link text, link URL (can be https://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
# $Nav->addNavSeparator("My Page Links", "downloads.php");
# $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);
# $Nav->addCustomNav("Google", "https://www.google.com/", "_blank", 3);
# End: page-specific settings
# Paste your HTML content between the HTML markers!
$html = <<<HTML
<div id="maincontent">
<div id="midcolumn" style="width: 80%">
<h1>Who's teaching AOSD</h1>
<p> This list is a compilation of responses to a query sent out in November 2004 to find out
which establishments and individuals were teaching courses on the topic of
aspect-oriented software development, or courses that included some AOSD content. The
courses listed here are not exclusively teaching AspectJ, and nor are they in any way
"recommended" by the AspectJ team (we haven't taken them ourselves). </p>
<p>If you're teaching a course with some AOSD element in it and would like to be included on
this list then please let us know.</p>
<h2>Courses with online materials</h2>
<table border="1" cellspacing="0" cellpadding="5" width="100%">
<thead>
<tr>
<th>Lecturer(s)</th>
<th>Organisation</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>Prof. Oege de Moor</td>
<td>Oxford University</td>
<td>3rd year undergraduate course (also available as an MSc module) on AOP. Uses
the <a href="https://www.aspectbench.org">abc compiler</a> for AspectJ. [<a href="https://web.comlab.ox.ac.uk/oucl/courses/topics04-05/ood/">Course materials</a>]
</td>
</tr>
<tr>
<td>Prof. Mira Mezini</td>
<td>Darmstadt University of Technology</td>
<td>Teaching AO as parts of two courses: Software Design, and Component Technology for Distributed Systems
[Course materials]
</td>
</tr>
<tr>
<td>Jeff Gray, Ph.D.</td>
<td>University of Alabama at Birmingham</td>
<td>Course on Reflective and Adaptive systems with 6 weeks of AOP content.
[<a href="https://www.cis.uab.edu/cs622/">Course materials</a>,
<a href="https://www.cis.uab.edu/gray/Pubs/scicop-2004.pdf">paper</a>]
</td>
</tr>
<tr>
<td>Dr Awais Rashid</td>
<td>Lancaster University</td>
<td>MSc. module on AOSD
[<a href="https://www.comp.lancs.ac.uk/postgraduates/mod_aosd.html">Course materials</a>]
</td>
</tr>
<tr>
<td>Paulo Borba, Sergio Soares</td>
<td>Federal University of Pernambuco</td>
<td>Aspect-Oriented Programming course
[<a href="https://www.cin.ufpe.br/~scbs/talp1/index_en.html">Course materials</a>]
</td>
</tr>
<tr>
<td>Sergio Soares</td>
<td>Catholic University of Pernambuco</td>
<td>Aspect-Oriented Programming course
[<a href="https://www.dei.unicap.br/~sergio/tac/">Course materials</a>]
</td>
</tr>
<tr>
<td>Francisco Reverbel</td>
<td>University of Sao Paulo</td>
<td>Object-Oriented Programming course (with aspect content)
[<a href="https://www.ime.usp.br/~kon/MAC5715/aulas/Aula16.html">Course materials</a>]
</td>
</tr>
<tr>
<td>Bedir Tekinerdogan, Ph.D.</td>
<td>University of Twente, The Netherlands</td>
<td>Aspect Oriented Software Development course
[<a href="https://www.cs.bilkent.edu.tr/taosd03">Course materials</a>]
</td>
</tr>
<tr>
<td>Wim Vanderperren</td>
<td>Vrije Universiteit Brussel (Belgium)</td>
<td>Masters course in Aspect-Oriented Programming
[<a href="https://ssel.vub.ac.be/index.php?sitecommand=./Courses/technieken/index.php">Course materials</a>]
</td>
</tr>
<tr>
<td>Constantinos Constantinides</td>
<td>Concordia University</td>
<td>Software Comprehension and Maintenance (including AOP and AO refactoring)
[<a href="https://www.cs.concordia.ca/~comp6431">Course materials</a>]
</td>
</tr>
<tr>
<td>Dr.Guenter Kniesel</td>
<td>Bonn University</td>
<td>AOSD course
[<a href="https://roots.iai.uni-bonn.de/teaching/vorlesungen/2004aosd/">Course materials</a>]
</td>
</tr>
<tr>
<td>Jonathan Aldrich</td>
<td>Carnegie Mellon University</td>
<td>Objects and Aspects: Language Support for Extensibility and Evolvability
[<a href="https://www-2.cs.cmu.edu/~aldrich/courses/819">Course materials</a>]
</td>
</tr>
<tr>
<td>Erik Ernst</td>
<td>Aarhus</td>
<td>Aspect Oriented Software Development
[<a href="https://mit.au.dk/da/uddan/udbudbeskriv.cfm?udbudid=1974&lan=en">Course materials</a>]
</td>
</tr>
<tr>
<td>Walter Cazzola PhD</td>
<td>University of Milano</td>
<td>Reflection and Aspect-Oriented Programming [<a href="https://www.disi.unige.it/person/CazzolaW">
Course materials</a>]
</td>
</tr>
<tr>
<td>Mariano Ceccato, Filippo Ricca</td>
<td>University of Trento, Italy</td>
<td>Laboratory of Sofware Analysis (1 topic of many) [<a href="https://star.itc.it/ricca/swatII">
Course materials</a>]
</td>
</tr>
<tr>
<td>Dr Dirk Heuzeroth</td>
<td>University of Karlsruhe, Germany</td>
<td>Component Based Software Engineering [<a href="https://www.info.uni-karlsruhe.de/lehre/2004SS/swk">
Course materials</a>]
</td>
</tr>
<tr>
<td>Gary T. Leavens</td>
<td>Iowa State University</td>
<td>ComS541 - discusses AspectJ from the perspective of programming language design and semantics [
<a href="https://www.cs.iastate.edu/~leavens/ComS541/lectures/aspectj/">Course materials</a>]
</td>
</tr>
<tr>
<td>Gregor Kiczales</td>
<td>University of British Columbia</td>
<td>4th year undergraduate compiler course builds a simple AspectJ compiler [
<a href="https://www.ugrad.cs.ubc.ca/~cs411/">Course Materials</a>]
</td>
</tr>
<tr>
<td>Karl Lieberherr
</td>
<td>Northeastern University
</td>
<td>Several Masters Courses, see the
[<a href="https://www.ccs.neu.edu/research/demeter/course/AspectJ_For_Teaching/">Information Page</a>]
</td>
</tr>
<tr>
<td>Manuel Menezes de Sequeira</td>
<td>ISCTE (Instituto Superior de Ciencias do Trabalho e da Empresa)</td>
<td>5th year course on advanced programming with substantial part on AOP using AspectJ
[<a href="https://www.iscte.pt/PA/">Course Materials (Portuguese)</a>]
</td>
</tr>
</tbody>
</table>
<h2>Other academic courses</h2>
<table border="1" cellspacing="0" cellpadding="5" width="100%">
<thead>
<tr>
<th>Lecturer(s)</th>
<th>Organisation</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>Lodewijk Bergmans, Mehmet Aksit</td>
<td>University of Twente</td>
<td>Component and Aspect-Oriented Programming course (90% AOP), Advanced Programming Concepts course
</td>
</tr>
<tr>
<td>Lionel Seinturier, Renaud Pawlak, Laurence Duchien</td>
<td>University of Lille (France)</td>
<td>Course on distributed application servers, with approx 40% dedicated to AOP related issues</td>
</tr>
<tr>
<td>Gustav Bostrom</td>
<td>Royal Institute of Technology, Stockholm</td>
<td>AOSD module taught as part of two courses</td>
</tr>
<tr>
<td>Herman Tromp</td>
<td>Ghent University, Belgium</td>
<td>Planning to introduce AOSD material into fall 2005 courses.</td>
</tr>
<tr>
<td>Filippo Diotalevi</td>
<td>Politecnico of Milan-Como</td>
<td>Single lecture on AOP and AspectJ
[<a href="https://www.jugmilano.it/jsp/Wiki?seminario+policomo+gennaio+2005">
Slides</a> (Italian)].
</td>
</tr>
<tr>
<td>Bil Lewis</td>
<td>Tufts University, Boston</td>
<td>Course on bytecode instrumentation and the JVM. AOP content includes
creation of an Aspect byte code weaver.
</td>
</tr>
<tr>
<td>Paolo Falcarin, Marco Torchiano</td>
<td>Politecnico di Torino, Italy</td>
<td>Teach an "Advanced Software Development Techniques" course, with
approx. 50% AOSD materials. Topics include AspectJ, dynamic AOP, AO
Modeling and other AOP-related research.
</td>
</tr>
</tbody>
</table>
<h2>Open source offerings</h2>
<table border="1" cellspacing="0" cellpadding="5" width="100%">
<thead>
<tr>
<th>Instructor</th>
<th>Organisation</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>The AspectJ Team</td>
<td>
AspectJ
</td>
<td>Teach an introductory and advanced AspectJ tutorial. Materials
available in the AspectJ CVS repository under docs/teaching.
</td>
</tr>
</tbody>
</table>
<h2>Commercial offerings</h2>
<table border="1" cellspacing="0" cellpadding="5" width="100%">
<thead>
<tr>
<th>Instructor</th>
<th>Organisation</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>Gregor Kiczales, Ron Bodkin, Mik Kersten, Ramnivas Laddad, Nicholas
Lesiecki, Mira Mezini
</td>
<td>
<a href="https://www.aspectmentor.com">AspectMentor</a>
</td>
<td>A group of recognised experts in AOP and AOSD that offer two-day training
courses in AOP in addition to consultancy services.
</td>
</tr>
<tr>
<td>Antti Karanta</td>
<td>FCS Partners, Finland</td>
<td>A 2-day intensive course on AOP / AspectJ [
<a href="https://www.fcspartners.fi/koulutus/kurssit/1267.html">link</a>].
</td>
</tr>
<tr>
<td>
<a href="https://aspectjcookbook.com">Russ Miles</a>
</td>
<td>General Dynamics UK</td>
<td>Has developed an internal course for GD, and is able to offer courses
externally too.
</td>
</tr>
<tr>
<td>
Bill Burke
</td>
<td><a href="https://www.jboss.org">JBoss Group</a></td>
<td>Teaches a JBoss AOP unit at every JBoss training event</td>
</tr>
</tbody>
</table>
<br clear="all">
</div>
</div>
HTML;
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>