EECS 665. Compiler Construction. 4 Hours.
Compilation of simple expressions and statements. Organization of a compiler including symbol tables, lexical analysis, syntax analysis, intermediate and object code generation, error diagnostics, code optimization techniques and run-time structures in a block-structured language such as PASCAL or C. Programming assignments include using tools for lexer and parser generator, and intermediate , and object code generation techniques. Laboratory exercises will provide hands-on experience with the tools and concepts required for the programming assignments. Prerequisite: EECS 368, EECS 448, and EECS 510. LEC.
B.S. in Computer Science Program Educational Objectives Graduates who have earned the bachelor’s degree in computer science, within a few years following graduation, will have demonstrated technical proficiency, collaborative activities, and professional development. Technical Proficiency Graduates will have achieved success and visibility in their chosen careers as shown by technical accomplishments in industry, government, entrepreneurial activities, or academia. Collaborative Activities Graduates will have exercised shared responsibilities through activities such as contributions to multiperson or multidisciplinary technical projects, participation in professional society/organization functions, or performing collaborative research. In all such cases, graduates will have contributed to documentation of the collaborative activities. Professional Development Graduates will have demonstrated continual updating to extend their expertise and adapt to a changing environment through graduate studies; short courses, conferences, and seminars; or professional self-study. In addition, graduates will have demonstrated evidence of increasing technical and/or managerial impact. Careers Professional Opportunities Computer scientists may pursue the design, analysis, and implementation of computer algorithms; study the theory of programming methods and languages; or design and develop software systems. They also may work in artificial intelligence, database systems, parallel and distributed computation, human-computer interaction, computer graphics, operating systems, or computer systems analysis and administration. Computer scientists may work for software companies, government and defense, telecommunications, or consulting firms.
...required) EECS 569 Digital Forensics: (3 credits) EECS 665 Compiler Construction (4 credits) EECS 700...