Jacques Cohen (computer scientist)

Last updated

Jacques Cohen is a Professor Emeritus of Computer Science and of the Volen National Center for Complex Systems at Brandeis University. There he served as the TJX/Feldberg Chair in Computer Science. [1] He has performed research in algorithms, parsing and compiling, memory management, logic and constraint logic programming, and parallelism. Cohen has published extensively, frequently with undergraduate and graduate students.

Contents

Pioneering many aspects of modern computer science, Cohen's work includes experimentation, education, and research, directed and carried out at many institutions of higher learning, including Brandeis University, Brown University, MIT, Wellesley College, and French universities in the cities of Marseilles, Grenoble, and Nancy.

In 1997, the Association for Logic Programming recognized Cohen as one of the fifteen "Founders of Logic Programming". [2]

Biography

In Belo Horizonte, Cohen attended the Engineering School of the State University of Minas Geraes. He graduated with a degree in Civil Engineering and a medal for having attained the best grades awarded in the preceding several years. Shortly after his graduation, Cohen was granted a Brazilian government scholarship for pursuing graduate studies in the USA.

At that time, Cohen decided to become a structural engineer. In the mid 1950s Cohen attended the Master’s program at the University of Florida, Gainesville.

Cohen continued graduate study at the University of Illinois at Urbana-Champaign, where he pursued a doctorate in Structural Design. His doctoral dissertation involved energy minimization using Raleigh-Ritz methods to determine Fourier series coefficients defining shapes of buckling columns made of thin-walled plates. This particular topic enabled Cohen to learn a great deal of assembly language programming and the solution of systems of non-linear equations resulting from the energy minimization process.

During his long career in Boston, Cohen interacted closely with Jean van Heijenoort, his colleague in the Philosophy department at Brandeis who imbued Cohen with his passion for mathematical logic.

Early career

After graduating from Illinois, Cohen returned to Brazil and practiced programming on the Burroughs 205, an early electronic computer. In the early 1960s, Cohen obtained a summer position at the Bull computer company in Paris (also known as Groupe Bull) where he was assigned to the operations research group, programming in Algol 60. Cohen was invited to participate as a researcher in the compiler group in the Applied Mathematics Institute at the University of Grenoble. He was hired as a member of the National French Research Center (CNRS).[ citation needed ]

As members of the compiler group, Cohen and his colleagues were encouraged to test the compiler being developed by writing all sorts of programs, especially recursive ones. It was in Grenoble that he became interested in syntax-directed compilers. It was a unique opportunity to participate in the meetings of the IFIP group that was then designing the successor of Algol 60.

Using the Grenoble Algol 60, Cohen started developing many programs, including a Lisp-embedding in Algol, a number of parsing algorithms, and a miniature Algol compiler written in Algol. Cohen’s doctoral dissertation in Grenoble was concerned with languages for writing compilers.

Later career

After his time in France, Cohen was offered a research position in MIT’s Civil Engineering department, which he held for one year. In 1968, Cohen was offered an academic position at Brandeis University and has been associated with that university ever since.

As the founder of the Computer Science Department at Brandeis University, Cohen held the position of chair for almost twelve years, beginning in the early 1980s. In 1984, Cohen directed a team at Brandeis developing software to measure the efficiency of other software programs. [3] During his time as chair, he brought many grants to the department, from NSF to the CISE grant, which was given for the study of parallel algorithms.

During Cohen's long academic career, some highlights include: being invited to teach a compiler course at Brown University for several years, as well as at MIT; being awarded a chair in Computer Science by the Feldberg family in association with their enterprises (Zayre and later TJMaxx); serving as the chairman of the Computer Science department for thirteen years; and finally being appointed as editor-in-chief of one of the most prestigious professional journals, the Communications of the ACM, where his tenure spanned for four years.

Related Research Articles

In computing, a compiler is a computer program that translates computer code written in one programming language into another language. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language to create an executable program.

<span class="mw-page-title-main">Tony Hoare</span> British computer scientist

Sir Charles Antony Richard Hoare is a British computer scientist who has made foundational contributions to programming languages, algorithms, operating systems, formal verification, and concurrent computing. His work earned him the Turing Award, usually regarded as the highest distinction in computer science, in 1980.

Alfred Vaino Aho is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming.

<span class="mw-page-title-main">Alan Perlis</span> American computer scientist (1922–1990)

Alan Jay Perlis was an American computer scientist and professor at Purdue University, Carnegie Mellon University and Yale University. He is best known for his pioneering work in programming languages and was the first recipient of the Turing Award.

<span class="mw-page-title-main">Robert W. Floyd</span> American computer scientist (1936–2001)

Robert W Floyd was a computer scientist. His contributions include the design of the Floyd–Warshall algorithm, which efficiently finds all shortest paths in a graph and his work on parsing; Floyd's cycle-finding algorithm for detecting cycles in a sequence was attributed to him as well. In one isolated paper he introduced the important concept of error diffusion for rendering images, also called Floyd–Steinberg dithering. He pioneered in the field of program verification using logical assertions with the 1967 paper Assigning Meanings to Programs. This was a contribution to what later became Hoare logic. Floyd received the Turing Award in 1978.

ALGOL 60 is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a key advance in the rise of structured programming. ALGOL 60 was the first language implementing nested function definitions with lexical scope. It gave rise to many other programming languages, including CPL, Simula, BCPL, B, Pascal, and C. Practically every computer of the era had a systems programming language based on ALGOL 60 concepts.

David A. Turner is a British computer scientist. He is best known for designing and implementing three programming languages, including the first for functional programming based on lazy evaluation, combinator graph reduction, and polymorphic types: SASL (1972), Kent Recursive Calculator (KRC) (1981), and the commercially supported Miranda (1985). Miranda had a strong influence on the later Haskell.

<span class="mw-page-title-main">Friedrich L. Bauer</span> German computer scientist

Friedrich Ludwig "Fritz" Bauer was a German pioneer of computer science and professor at the Technical University of Munich.

Eric "Rick" C. R. Hehner is a Canadian computer scientist. He was born in Ottawa. He studied mathematics and physics at Carleton University, graduating with a Bachelor of Science (B.Sc.) in 1969. He studied computer science at the University of Toronto, graduating with a Master of Science (M.Sc.) in 1970, and a Doctor of Philosophy (Ph.D.) in 1974. He then joined the faculty there, becoming a full professor in 1983. He became the Bell University Chair in software engineering in 2001, and retired in 2012.

John Edward Lancelot Peck was the first permanent Head of Department of Computer Science at the University of British Columbia (UBC). He remained the Head of Department from 1969 to 1977.

<span class="mw-page-title-main">Clifford Stein</span> American computer scientist

Clifford Seth Stein, a computer scientist, is a professor of industrial engineering and operations research at Columbia University in New York, NY, where he also holds an appointment in the Department of Computer Science. Stein is chair of the Industrial Engineering and Operations Research Department at Columbia University. Prior to joining Columbia, Stein was a professor at Dartmouth College in New Hampshire.

<span class="mw-page-title-main">Programming language theory</span> Branch of computer science

Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages. Programming language theory is closely related to other fields including mathematics, software engineering, and linguistics. There are a number of academic conferences and journals in the area.

Thomas Stephen Edward Maibaum Fellow of the Royal Society of Arts (FRSA) is a computer scientist.

The following outline is provided as an overview of and topical guide to computer programming:

Douglas Taylor "Doug" Ross was an American computer scientist pioneer, and chairman of SofTech, Inc. He is most famous for originating the term CAD for computer-aided design, and is considered to be the father of Automatically Programmed Tools (APT), a programming language to drive numerical control in manufacturing. His later work focused on a pseudophilosophy he developed and named Plex.

Edward Joseph McCluskey was a professor at Stanford University. He was a pioneer in the field of Electrical Engineering.

<span class="mw-page-title-main">History of compiler construction</span>

In computing, a compiler is a computer program that transforms source code written in a programming language or computer language, into another computer language. The most common reason for transforming source code is to create an executable program.

Yanhong Annie Liu is a computer scientist and professor of computer science at Stony Brook University where she works on new programming languages, software systems, algorithms, program design, optimizing, analysis, and transformations, intelligent systems, distributed computing systems, and computer security.

References

  1. "Jacques Cohen". Brandeis University. Archived from the original on 10 October 2015. Retrieved 4 May 2016.
  2. "ALP Awards". Association of Logic Programming. 2013. Archived from the original on 13 April 2013. Retrieved 4 May 2016.
  3. Tom Shea (19 March 1984), "News Briefs", Infoworld, InfoWorld Media Group, Inc., vol. 6, no. 12, p. 27, ISSN   0199-6649 , retrieved 4 May 2016