-
Notifications
You must be signed in to change notification settings - Fork 0
/
Syllabus.s20
381 lines (310 loc) · 16.5 KB
/
Syllabus.s20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
COURSE INTRODUCTION Spring 2020
CONSTRUCTION OF LANGUAGE TRANSLATORS
COP 4620
1:30 PM to 2:45 PM M W
4-Skinner-Jones Hall 1704
INSTRUCTOR: Dr. Roger Eggen
ASSISTANT:
EMAIL: [email protected]
OFFICE: 15/3223
OFFICE HOURS: 10:15 AM to 1:15 PM M W
2:45 PM to 6:00 PM W
other times by appointment
PHONE: 620:2985 (front office)
620-1326 (my office)
TEXT: (required) Compiler Construction, Principles and Practice
Louden, PWS
ISBN: 0-534-93972-4
(reference) any of several books on compiling:
Compilers-Aho, Sethi, Ullman, Addison Wesley
Compiler Construction-Barrett and Couch, SRA
PREREQUISITE: Computability and Automata (COT 3210)
Data Structures (COP 3530)
DESCRIPTION: Compiling is used in several aspects of computing
including language translation, data base, editors, pretty
printers, interpreters and word processing. You will learn basic
compiling techniques applicable to all areas of computing. You
will construct the front end of a compiler as well as learning
several basic compiling techniques.
Note: The bookstore will/should have copies of the text,
however, you might try one of the following online services to
obtain a copy.
pricescan.com efollet.com Bibliofind.com
bookfinder.com WWW.BARGAINBOOKS.COM ecammpus.com
bigwords.com textbooks.com varsitybooks.com
barnesandnoble.com amazon.com www.booksamillion.com
www.clbooks.com www.CampusBooks4Less.com [email protected]
www.StudentMarket.com www.half.com CheapestTextbooks.com.
www.safarix.com
Note: I am not endorsing nor have I tried all of these sources.
COURSE TOPICS:
The course will cover as much of the text as possible.
A tentative outline follows (we will modify this schedule as
required):
TOPIC CHAPTER
introduction 1
overview of compiling, lexical analysis 2
lexical analysis, RE, FSM 2
parsing 3
parsing 4
parsing 5
YACC 5
symbol tables 6.3
semantics 6
semantics 6
code generation 7
optimization 8
SIGNIFICANT DATES:
For holidays, drop/add dates, etc. you can search for the UNF academic
calendar.
1/6 Mon. Classes begin
2/12 Wed. Test 1 <---------------------- Significant Event
3/11 Wed. Test 2 <---------------------- Significant Event
4/8 Wed. Paper Review Due <------------ Significant Event
4/3 Fri. last day to withdraw from a course, no refund
4/25 Fri. Classes end
4/27 Mon. Final exam 1 PM - 2:50 PM <------ Significant Event
Reminder: Please read the Satisfactory Progress Policy at
http://www.unf.edu/ccec/computing/PoliciesGuidelines/Satisfactory_Progress_Policy.aspx to review the "one repeat" rule for all CIS courses.
Please read the community-base transformational learning information
http://www.unf.edu/ccbl/
Documentation of Academic Activity for Financial Aid Purposes
Student who are not marked as having engaged in academic
activity by the end of the second week of classes cannot and
will not be provided federal aid for the course regardless
of enrollment status.
The University of North Florida has been accredited by the
Commission on Colleges of the Southern Association of
Colleges and Schools, commonly referred to as SACS, since 1974.
The School of Computing's programs are Accredited by ABET
Computing Accreditation Commission.
GRADE DETERMINATION: Your grade will be determined by:
1) 3 tests
All tests will be comprehensive, but will emphasize
the most recent material. You are responsible for
all material given in class and covered in the text
for each test. I will outline test material and
answer all questions related to concepts.
It is strongly suggested that you take the exam on the
day given. If you must take it late, a new exam will be
created. If you know that you must be absent the day of
the exam, make arrangements to take it early.
2) Paper review. One paper review of your choice relating to
computing translation is required. Guide lines are
included at the end of this document.
3) Weekly quizzes will be given each Wednesday. Quizzes can
be made up if missed with appropriate justification and
can be taken early.
4) 5 programming projects will be given.
These projects are very challenging so you should allocate
appropriate time for their completion.
You are required to submit projects in any language available
on osprey in the UNIX (Linux) environment.
You should submit your projects in the following form:
1) Submit a shar file using turnin. The shar file should
contain all files necessary to execute your program.
All program materials are to be submitted electronically
using turnin, details following. At a minimum you should
submit your source code, a makefile, a script file showing
the results of your testing, test files and any other material
pertinent to your project. Do not shar a subdirectory.
2) Thorough documentation including:
a. a cover section showing program title and number,
course number and title, student name, instructor
name, date due, date submitted. This should be
in a text file with txt extension.
b. clear, thorough, explain the overall design,
explain how to run the program, files created, files
consumed, special concerns.
Your project will be graded on the following criteria:
pts. area
2 points for p (p1, p2, p3,...) script (including making it executable)
2 points for makefile
2 points for typescript
3 points for documentation
16 points for execution?
----------------
25 total points on project
* If the program won't compile (make), you will receive 0 for
the project.
All projects that are identical beyond coincidence will be given
0 and/or possible F in the class or possible removal from the
University. You are responsible for the security of your program,
do not share code or files. Do not leave a computer unattended.
Set the permissions on your UNIX (Linux) files to protect them.
I have a files of past project as well, your project will be
compared to them, do your own work. I will use MOSS to detect
similar programs.
No type of academic dishonesty will be tolerated. Please refer to
UNF's Academic Integrity Code published at
http://www.unf.edu/catalog/policies/academic_integrity/
Computer Accounts are private and the material contained on
the computer must be used only be the owner. One person, the
owner, is permitted to use an account. Computer security is an
important issue and should be regarded as such. Be sure to set
your password and permissions to directories and files. Violation
of files and misuse of computer accounts can result in failure of
the class, failure of the project, cancellation of accounts or
expulsion from the University. Be sure you understand and use the
chmod command. Please visit the Florida Computer Crimes Act at
http://www.unf.edu/its/polproc/Computer_Crimes.aspx
which states that many misuses of the computer is a felony.
No use of tobacco products, including e-cigarettes, are permitted in
the classroom at anytime, including before, during, and after class.
All projects are due at 11:59 p.m., on the day scheduled. One and
two day late projects will be accepted with a 10% and 20% penalty
of the earned score, respectively. Projects more than two days
late will not be accepted. Do not email me your project.
You are responsible for any discussion related to projects that may
occur in class. These project modifications may not appear
in an updated project description.
You must receive a passing grade on 66% (2/3) of the projects and you
must attempt (show some form of effort) on all of the projects in order
to pass the class. A consideration will be given if you have
attempted all the projects and attended all classes.
You will receive all assignments and handouts electronically
through the public directory. ( /var/public/cop4620/ree )
You should check this directory and/or your electronic mail
regularly since I will send notices of new material added to
the directory. This directory is accessible directly via UNIX
(cd /var/public/cop4620/ree)
or via the web through www.unf.edu/~ree -- follow the links.
Class attendance is required and roll will be taken via the
weekly quizzes. Attendance may impact your final grade.
You are not permitted to use cell phones in class, no texting or any
other activity. If your phone rings and you need to answer it,
you should excuse yourself from class.
Any questions on grading of tests, projects, or any material
must be presented within 1 week after material is returned.
Questions asked later than 1 week will not be considered.
Attendance Policy: The faculty of the School of Computing
believe that students need to make their academic studies a
priority during their enrollment in our programs. Due to the
amount and complexity of the material, students should
ensure their ability to attend the entire class period.
Thus, we have developed the following attendance policy
which may be used at the discretion of the course
instructor: • Students who miss more than 25% of scheduled
class meetings, regardless to their grades, may be asked to
withdraw from the class or given an “F” grade in the course.
Academic Misconduct: Please remind students of the severe
consequences of engaging in academic misconduct (cheating &
plagiarism). The School of Computing has a zero-tolerance
policy and those who engage in such activities will be
risking their academic career at UNF. Please also emphasis
the mechanisms you will use to scrutinize students work.
Non-Discrimination Policy: The University of North Florida
(UNF) is committed to providing an inclusive and welcoming
environment for all who interact in our community. To
accomplish this intent, UNF shall not commit or permit
discrimination or harassment on the basis of genetic
information, race, color, religion, age, sex, disability,
gender identity/expression, sexual orientation, marital
status, national origin or veteran status in any
educational, employment, social or recreational program or
activity it offers. Similarly, UNF will not commit or
permit retaliation against an individual who complains of
discrimination or harassment or an individual who cooperates
in an investigation of an alleged violation of University
Regulation. In exercising these standards, the University
will not abridge either free speech or academic freedom
based on its context. Accordingly, any member of the UNF
community who believes that they have been subjected to
discrimination, discriminatory harassment, retaliation, or
sexual misconduct may seek guidance, counseling and/or file
a complaint by contacting: Cheryl Gonzalez, Director, E.O.D.
and Title IX Administrator, located at Building One, J.J.
Daniel Hall, Suite 1201, 1 UNF Drive, Jacksonville, Florida
32224-7699, or call (904) 620-2507 or via 711 Florida Relay
for persons who are deaf or hard of hearing or those with
speech impairments and/or limitations.
Students with disabilities who seek reasonable accommodations
in the classroom or other aspects of performing their
coursework must first register with the UNF Disability
Resource Center (DRC) located in Building 10, Room 1201.
DRC staff members work with students to obtain required
documentation of disability and to identify appropriate
accommodations as required by applicable disability laws
including the Americans with Disabilities Act (ADA). After
receiving all necessary documentation, the DRC staff
determines whether a student qualifies for services with the
DRC and if so, the accommodations the student will be
provided. DRC staff then prepares a letter for the student
to provide faculty advising them of approved accommodations.
For further information, contact the DRC by phone (904)
620-2769, email ([email protected]), or visit the DRC website
(http://www.unf.edu/dept/disabled-services).
Military and veteran students may need both physical and
academic accommodations and may contact the DRC to find
further information. Military and veteran students who
return from combat exposure may be utilizing the post 9/11
GI bill to continue postsecondary education goals. Contact
Military and Veterans Resource Center by phone (904)
620-2655 or e-mail [email protected]
GRADE COMPUTATION: Your average will be computed as a straight
percentage. That is, points earned divided by points possible.
There will be no distinction between test points, quiz points,
or program points. You should keep track of your score allowing
you to know your current standing in the class. I will have
your current averages with me at each class meeting and you are
welcome to check your average after class. A typical semester
will have 3 tests at 100 points each, 5 programs at 25, 8 quizzes
at 12 points each and a paper review at 10 points for a total of 531
points. This is an example, the number of quizzes or other
requirements may vary slightly.
SAMPLE GRADE CHART:
Type Possible My Score
Prog 1 25 18
Prog 2 25 20
Test 1 100 95
. . .
. . .
. . .
____ ___ ___
Total 150 133
Average: 133 / 150 * 100 = 88.6 = B+
Grade Scale
A 89.5 - 100%
B+ 84.5 - 89.4%
B 79.5 - 84.4%
C+ 74.5 - 79.4%
C 69.5 - 74.4%
D 59.5 - 69.4%
F 0 - 59.4%
Minus grades will be assigned at my discretion.
GRADUATE STUDENTS: You will be expected to complete an additional
project, for example, write a program that receives a grammar as input
and computes the first and follow, or write a program that receives
a grammar as input and does an LL(1) nonrecursive parse. More
details will be described for this project or similar projects.
Other projects include an interpreter for the quadruples or a YACC/BISON
for LL(1) grammars. As well, you are required to review an additional
paper related to compiling as described below.
JOURNAL REVIEWS: You are required to review (in writing on
paper) one journal article related to any of the topics of this
course. You should endeavor to avoid those areas with which you are
familiar and broaden your knowledge base with new concepts.
You are to carefully apply the following guidelines regarding the
written requirement:
1. Two pages maximum, typed and double-spaced. Name, date and
course title in the upper right hand corner of the first page.
Title of paper centered below this heading. 12 point times roman font
should be used. 1" margins. On 8.5" by 11" white paper.
2. Complete copy of the article. This review and article will not
be returned, so make a copy for yourselves.
3. Correct spelling, grammar, style and appearance.
4. Accurate content.
5. The first few paragraphs should present the major ideas of the
article. The last paragraph should present your reflections about
the article, i.e., agree, disagree, a workable idea, an old
concept, etc.
6. The reviews much be from articles from acceptable journals as
suggested below:
Journal of the ACM
IEEE Computer
Communications of the ACM
Transactions on Programming Languages and Systems
AI Expert
Linux Journal
This certainly is not an exhaustive list, but is representative of
the quality desired.