CS619 Program Comprehension   MSc. in Computer Science, 2011-12

Background information

The purpose of this graduate-level course is to introduce the techniques used in the analysis of programs. These techniques are fundamental for the implementation of modern software engineering techniques. Understanding how they work allows us to Such techniques provide the foundation for a wide range of tools used in software engineering; examples include tools that:

Timetable

This course is currently scheduled to take place in semester 2. If you've any queries about the course in advance of this, please don't hesitate to contact me.

Closer to the start date, more course information will available through the university's moodle system.

The software engineering toolsmith

CS619 is designed to give you the basic skills needed to develop your own tools that you can then use to build better software. Relatively few craftsmen get to use their skills to build their own tools and shape them to their own particular requirements...

The blacksmith's basic shop equipment, his forge and bellows, anvil and slack tub, are practically immovable and are used only in a stationary position. These tools, however, are of no use without endless number of other tools, mostly hand tools, which a blacksmith collects or makes for himself to fit a variety of needs over the years.
- from Ch 4 of The Art Of Blacksmithing by Alex W. Bealer, Castle Books, 1995.


James Power,
Dept. of Computer Science, NUI Maynooth
Last revised: 14 September 2011.