'Computer Science Colloquium Series Thursday, April 22, 2010 12:30-1:15 CCT 208 Refreshments will be served!!!

“Why Study Assembler Language
(Since Nobody Uses It)?”

The lecture will be given by Dr. Edward Bosworth, faculty member of TSYS School of Computer Science.

This talk attempts to give a rationale for including a course in assembly language in an undergraduate curriculum in Computer Science.  

The talk begins with a historical approach.  By decades, what have been the reasons for studying assembly language?  As will be seen, these have changed significantly in the approximately 60 years since assembler was introduced.

The talk then presents a number of reasons for today’s study of assembly language.

1.    The course focuses the student’s attention on the functional structure of a stored program computer.

2.    The course integrates well with, and supports, our introductory course in Computer Architecture.

3.    The course highlights the run–time services provided by a typical higher level language. As examples, we discuss explicit bounds checking on array accesses, and the use of a stack to support recursive subroutines.

4.    The students should be made aware that many of basic mathematical functions, such as the sine, cosine, square root, etc. are not basic operations, but must be implemented in terms of the four basic functions: addition, subtraction, multiplication, and division. A course in assembly allows the student to study these implementations and understand why they are only approximations of algorithms.

5.    Although few of our students will be expected to write or modify assembly language programs, the course provides significant insights into the structures of other languages. One of our students stated that he had not understood some of the design choices in the COBOL language until he took the course in assembly language.

6.    There seems to be some growth in the use of large timesharing computer systems, especially Massively Parallel Processors. Our course gives the student considerable experience in timesharing access to a large Enterprise server.

7.    A few local companies use IBM Enterprise servers and appreciate our teaching the assembly language for those machine