CS 460/660: Compiler Construction Fall 2015

Similar documents
Math 181, Calculus I

Dr. Zhang Fall 12 Public Speaking 1. Required Text: Hamilton, G. (2010). Public speaking for college and careers (9th Ed.). New York: McGraw- Hill.

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

Course Syllabus Advanced-Intermediate Grammar ESOL 0352

Required Materials: The Elements of Design, Third Edition; Poppy Evans & Mark A. Thomas; ISBN GB+ flash/jump drive

BUS Computer Concepts and Applications for Business Fall 2012

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

Social Media Journalism J336F Unique ID CMA Fall 2012

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

FINN FINANCIAL MANAGEMENT Spring 2014

English Policy Statement and Syllabus Fall 2017 MW 10:00 12:00 TT 12:15 1:00 F 9:00 11:00

MTH 215: Introduction to Linear Algebra

Course Syllabus. Alternatively, a student can schedule an appointment by .

Introduction to Sociology SOCI 1101 (CRN 30025) Spring 2015

Computer Architecture CSC

MKT ADVERTISING. Fall 2016

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

University of Pittsburgh Department of Slavic Languages and Literatures. Russian 0015: Russian for Heritage Learners 2 MoWe 3:00PM - 4:15PM G13 CL

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Design and Creation of Games GAME

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

Intensive English Program Southwest College

SPM 5309: SPORT MARKETING Fall 2017 (SEC. 8695; 3 credits)

BA 130 Introduction to International Business

Office Hours: Day Time Location TR 12:00pm - 2:00pm Main Campus Carl DeSantis Building 5136

Coding II: Server side web development, databases and analytics ACAD 276 (4 Units)

Financial Accounting Concepts and Research

INTRODUCTION TO CULTURAL ANTHROPOLOGY ANT 2410 FALL 2015

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

McKendree University School of Education Methods of Teaching Elementary Language Arts EDU 445/545-(W) (3 Credit Hours) Fall 2011

San José State University Department of Psychology PSYC , Human Learning, Spring 2017

UNDERGRADUATE SEMINAR

COMM370, Social Media Advertising Fall 2017

MURRAY STATE UNIVERSITY DEPARTMENT: NUTRITION, DIETETICS, AND FOOD MANAGEMENT COURSE PREFIX: NTN COURSE NUMBER: 230 CREDIT HOURS: 3

COURSE WEBSITE:

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

Department of Anthropology ANTH 1027A/001: Introduction to Linguistics Dr. Olga Kharytonava Course Outline Fall 2017

ASTRONOMY 2801A: Stars, Galaxies & Cosmology : Fall term

MGMT 3362 Human Resource Management Course Syllabus Spring 2016 (Interactive Video) Business Administration 222D (Edinburg Campus)

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

INTERMEDIATE ALGEBRA Course Syllabus

ECON492 Senior Capstone Seminar: Cost-Benefit and Local Economic Policy Analysis Fall 2017 Instructor: Dr. Anita Alves Pena

Math 96: Intermediate Algebra in Context

International Business BADM 455, Section 2 Spring 2008

SOUTHERN MAINE COMMUNITY COLLEGE South Portland, Maine 04106

The University of Texas at Tyler College of Business and Technology Department of Management and Marketing SPRING 2015

Syllabus: CS 377 Communication and Ethical Issues in Computing 3 Credit Hours Prerequisite: CS 251, Data Structures Fall 2015

COURSE NUMBER: COURSE NUMBER: SECTION: 01 SECTION: 01. Office Location: WSQ 104. (preferred contact)

Chromatography Syllabus and Course Information 2 Credits Fall 2016

Class Tuesdays & Thursdays 12:30-1:45 pm Friday 107. Office Tuesdays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

Spring 2015 CRN: Department: English CONTACT INFORMATION: REQUIRED TEXT:

Master Syllabus ENGL 1020 English Composition II

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

University of Waterloo Department of Economics Economics 102 (Section 006) Introduction to Macroeconomics Winter 2012

Instructor Experience and Qualifications Professor of Business at NDNU; Over twenty-five years of experience in teaching undergraduate students.

Course Syllabus Art History II ARTS 1304

Page 1 of 8 REQUIRED MATERIALS:

San José State University

Instructor: Khaled Kassem (Mr. K) Classroom: C Use the message tool within UNM LEARN, or

HIST 3300 HISTORIOGRAPHY & METHODS Kristine Wirts

The Policymaking Process Course Syllabus

MTH 141 Calculus 1 Syllabus Spring 2017

Data Structures and Algorithms

Aerospace Engineering

Instructor: Matthew Wickes Kilgore Office: ES 310

TRINITY VALLEY COMMUNITY COLLEGE COURSE SYLLABUS

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

Professors will not accept Extra Credit work nor should students ask a professor to make Extra Credit assignments.

Beginning and Intermediate Algebra, by Elayn Martin-Gay, Second Custom Edition for Los Angeles Mission College. ISBN 13:

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

Fall 2016 ARA 4400/ 7152

Grading Policy/Evaluation: The grades will be counted in the following way: Quizzes 30% Tests 40% Final Exam: 30%

Foothill College Summer 2016

Psychology 102- Understanding Human Behavior Fall 2011 MWF am 105 Chambliss

Economics 6295 Labor Economics and Public Policy Section 12 Semester: Spring 2017 Thursdays 6:10 to 8:40 p.m. Location: TBD.

Accounting 380K.6 Accounting and Control in Nonprofit Organizations (#02705) Spring 2013 Professors Michael H. Granof and Gretchen Charrier

Course Syllabus for Math

Religion in Asia (Rel 2315; Sections 023A; 023B; 023C) Monday/Wednesday, Period 5 (11:45 12:35), Matherly 18 Section Meetings on Friday

Course Description. Student Learning Outcomes

MANAGERIAL LEADERSHIP

COURSE INFORMATION. Course Number SER 216. Course Title Software Enterprise II: Testing and Quality. Credits 3. Prerequisites SER 215

Introduction to Forensic Drug Chemistry

Fashion Design & Merchandising Programs STUDENT INFORMATION & COURSE PARTICIPATION FORM

Human Development: Life Span Spring 2017 Syllabus Psych 220 (Section 002) M/W 4:00-6:30PM, 120 MARB

Texas A&M University-Central Texas CISK Comprehensive Networking C_SK Computer Networks Monday/Wednesday 5.

CS 100: Principles of Computing

TRINITY VALLEY COMMUNITY COLLEGE COURSE SYLLABUS

Bergen Community College Division of English Department Of Composition and Literature. Course Syllabus. WRT 206: Memoir and Creative Nonfiction

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

ADMN-1311: MicroSoft Word I ( Online Fall 2017 )

Preferred method of written communication: elearning Message

PHO 1110 Basic Photography for Photographers. Instructor Information: Materials:

Course Policies and Syllabus BUL3130 The Legal, Ethical, and Social Aspects of Business Syllabus Spring A 2017 ONLINE

UCC2: Course Change Transmittal Form

Scottsdale Community College Spring 2016 CIS190 Intro to LANs CIS105 or permission of Instructor

Class meetings: Time: Monday & Wednesday 7:00 PM to 8:20 PM Place: TCC NTAB 2222

GERM 3040 GERMAN GRAMMAR AND COMPOSITION SPRING 2017

POFI 2401 Word Processing Syllabus. MW 9AM-11:30AM TTH 8:30AM-11AM Friday By Appointment

Transcription:

CS 460/660: Compiler Construction Fall 2015 Last Modified: 8/20/15 Instructor: Dr. Frederick C Harris, Jr. E-mail: Fred.Harris@cse.unr.edu Phone: (775) 784-6571 Office: SEM 240A Office hours:m,w:8:30-9:20am Class Webpage: http://www.cse.unr.edu/~fredh/class/460/460-f2015.php Lectures: Monday, Wednesday, Friday: 11:00-11:50pm, SEM 257 Labs: None Important Notes and Dates: Final Exam: Wednesday, Dec 16 th : 8:00-10:00am Holidays: o M Sept 8 (Labor Day) o F Oct 30 (Nevada Day-Observed) o W Nov 11 (Veterans Day) Required Textbooks: Compilers: Principles, Techniques, and Tools, by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman, Pearson Addison Wesley. Mips Assembly Language Programming, by Robert L. Britton, Pearson Prentice Hall. Supplemental Books: flex and bison, by John Levine, O Reilly Books Course Description: Catalog: Introduction to compiler writing techniques, grammars for syntax definition, use of compiler writing tools, compilers for simple languages, case studies of actual compilers

Prerequisites: Courses: CS 326 (Programming Languages) with a C or better. Topics: A good working knowledge of programming The ability to program on a Unix system. Requirement or Elective: This course is a technical elective for the BS CSE Program. Course Objective: Students will demonstrate an understanding of the fundamental principles underlying compilers and demonstrate an ability to design and implement a basic compiler. Student Outcomes and Course Outcomes: The course outcomes are skills and abilities students should have acquired by the end of the course. These outcomes determine how the general CSE Student Outcomes apply specifically to this course. All CSE Student Outcomes are listed in the next subsection and those relevant to this course are identified in the following Table. CSE Student Outcomes 3 4 5 7 Course Outcomes Students demonstrate an understanding of the process of generating a simple mini compiler Students work in groups and will experience different roles (designer/implementer) with regards to their group work. Students will develop a working compiler for the language selected. Students will work in groups on their final projects and present their work to an audience which will grade them. 11 Students will develop algorithm design and implementation skills. Also, they will gain practical experience in compiler construction with appropriate tools Assessment Methods/Metrics Mini Project Class Project Group Assessment Class Project Final Project Demo Mini Project

CSE Student Outcomes: 1. an ability to apply knowledge of computing, mathematics, science, and engineering. 2. an ability to design and conduct experiments, as well as to analyze and interpret data. 3. an ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs, within realistic constraints specific to the field. 4. an ability to function effectively on multi-disciplinary teams. 5. an ability to analyze a problem, and identify, formulate and use the appropriate computing and engineering requirements for obtaining its solution. 6. an understanding of professional, ethical, legal, security and social issues and responsibilities. 7. an ability to communicate effectively with a range of audiences. 8. the broad education necessary to analyze the local and global impact of computing and engineering solutions on individuals, organizations, and society. 9. a recognition of the need for, and an ability to engage in continuing professional development and life-long learning. 10. a knowledge of contemporary issues. 11. an ability to use current techniques, skills, and tools necessary for computing and engineering practice. 12. an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. 13. an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity. Program Educational Objectives: Within 3 to 5 years of graduation our graduates will: 1. be employed as computer science or computer engineering professionals beyond entry level positions or be making satisfactory progress in graduate programs. 2. have peer-recognized expertise together with the ability to articulate that expertise as computer science or computer engineering professionals. 3. apply good analytic, design, and implementation skills required to formulate and solve computer science or computer engineering problems. 4. demonstrate that they can function, communicate, collaborate and continue to learn effectively as ethically and socially responsible computer science or computer engineering professionals. Course Topics: Introduction to Compilers Lexical Analysis Top Down Parsing Bottom Up Parsing Semantic Analysis Intermediate Code Generation Object Code Generation

Memory Use Optimization Compiler Tools Course Policies: Students are expected to attend, and be on time, for every class. This demonstrates professionalism and consideration for your fellow students and your Instructor. While the course does not have an attendance policy, students who miss class and/or are late for class may experience an impact on their grade by missing classroom activities and/or quizzes Students are expected to turn in all assigned materials in a timely manner. Students are expected to demonstrate professionalism and courtesy by either silencing or turning off all cell phones and/or other alarm or audible indicator devices The Instructors reserve the right to add to, and/or modify any of the above policies as needed to maintain an appropriate and effective educational atmosphere in the classroom and the laboratory. In the case that this occurs, all students will be notified in advance of implementation of the new and/or modified policy. UNR Athletics: If you are involved with any university-sponsored athletic activities that will have an impact on your attendance, please provide your Instructor with a letter from your coach and/or the UNR Athletic Department as soon as possible, but no later than the end of the second week of classes. This should include the official schedule of your activities which will impact your attendance throughout the semester. Assignments, Examinations and Grading: All Formal Homework Assignments (Including exercises and Projects) and all Exams (Quizzes, Hour Exams, and the Final) are to be treated as individual and not collective efforts, unless specified otherwise. A severe penalty will be given to any assignment which indicates collusion or cheating. The usual penalty for cheating on project or an exam is failure in the course. The only help you may receive from another student is with syntax errors or with questions regarding the computer system. Stealing another person's listing or having another person "ghost write" a lab will be considered cheating. Homework Assignments: There will be a number of Homework Assignments. These consist of practice questions which are intended to assist the student in mastering the course content. Some of these assignments will be collected and graded, but you will be informed in advance when an assignment is to be handed in Quizzes: There will be several announced and unannounced quizzes in lecture.

Exams: There will be two Midterm Exams. Both exams will be closed books, closed notes. Permissions to take exams on other dates than scheduled will not be given, except for extreme medical emergencies. All exams will take place in the regular classroom. Paper Presentation: Graduate Students are to read a paper which discusses a facet of Compiler Construction. This paper should appear in a respectable journal such as those published by ACM or IEEE. Your presentation will be 15 minutes in length followed by 5 minutes of question/answer. Projects and Assignments: There are two types of assignments: Exercises and Project Assignments. The exercises consist of practice questions which are intended to assist the student in mastering the course content. The Project assignments require the solutions to problems using the computer. We will be using the workstations in the College of Engineering Computing Center (SEM 231). You will be instructed how to submit your projects for grading. Typically you will be asked to submit an electronic version of your code, and test runs, along with a folder with an appropriate write-up for your program. Projects will typically have an itemized list of topics where the undergraduates will have to do the first few (specific number identified on the project) and the graduate students have to do those plus a few more on the list (specific number again specified on the project). Those items that are not required and are completed will be graded as extra credit. Late Submission Policy: Projects will be collected at the start of the class session in which they are due. A programming assignment turned in after collection is done will be graded as late. The penalty for late assignments and projects will be as follows: max(10%,n 2 %), where n is the number of school days. Grading Structure: The final grade will be based on (Tentative, subject to change): Section 460 660 Quizzes 10% 10% WA/PA 15% 15% Mini Project 10% 10% Course Project 45% 40% Midterm Exams 15% 15% Presentation 5% Class Participation 5% 5%

Important Notes: I will be using a +/- grading system. At the end of the semester (during the final exam period) a CD will be due with an electronic version of all projects and write-ups Every project must be completed, working, and turned in. For each project that is not, the final grade in the course may be lowered. Academic Integrity: Students are encouraged to study together, however each student must individually prepare his/her solutions. Cheating or plagiarism are not permitted and will be sanctioned according with the UNR policy on Academic Standards. You should carefully read the section on Academic Dishonesty found in the Policies section of the Office of Student Conduct. (copies of this section are on-line at http://www.unr.edu/studentconduct/policies/university-policies-and-guidelines/academic-standards/policy). Your continued enrollment in this course implies that you have read it, and that you subscribe to the principles stated therein. Supplemental Instructions for 400-600 Courses: As stated previously, Projects will typically have an itemized list of topics where the undergraduates will have to do the first few (specific number identified on the project) and the graduate students have to do those plus a few more on the list (specific number again specified on the project). Those items that are not required and are completed will be graded as extra credit. Graduate Students are also to read a paper which discusses a facet of Computer Graphics This paper should appear in a respectable journal or conference such as those published by ACM or IEEE. You will do a presentation in class similar to a conference presentation in our field. Your presentation will be 15 minutes in length followed by 5 minutes of question/answer. Academic Success Services: Your student fees cover usage of the Math Center (784-4433 or www.unr.edu/mathcenter/), Tutoring Center (784-6801 or www.unr.edu/tutoring/), and University Writing Center (784-6030 or www.unr.edu/writing_center). These centers support your classroom learning; it is your responsibility to take advantage of their services. Keep in mind that seeking help outside of class is the sign of a responsible and successful student. Disability Statement: If you have a disability for which you will need to request accommodations, please contact me or someone at the Disability Resource Center (Thompson Building, Suite 101), as soon as possible to arrange for appropriate accommodations. Class Recording: Surreptitious or covert video-taping of class or unauthorized audio recording of class is prohibited by law and by Board of Regents policy. This class may be videotaped or

audio recorded only with the written permission of the instructor. In order to accommodate students with disabilities, some students may have been given permission to record class lectures and discussions. Therefore, students should understand that their comments during class may be recorded.