COP 5555 Programming Language Principles

Fall 2006

 

Syllabus

Contact Information

Instructor:

Dr. Beverly Sanders
CSE 322
sanders@cise.ufl.edu  Important:  Please put COP5555 in the subject line of all emails you send to me about the course
(352) 392-1528
Office hours:  
    Tuesday 9:35-10:25
    Wednesday 3:00-3:50
    By appointment
    Just dropping by or calling in the afternoon is also OK (although I might not be there or could be busy)

TAs:  

Jungmin Shin
jshin@cise.ufl.edu
Office hours:  
    Thursday 10:30-12:30am (CSE309)  352-392-1183

KyungHee Kim
khkim@cise.ufl.edu
CSE312
Office hours:
     Monday 12:50am-1:40pm (CSE309)
     Friday 12:50-1:40 (CSE309)

WebCT Vista (http://lss.at.ufl.edu ) will be used for handouts, homework submission, etc.  Login using your gatorlink id and password.

 

Announcements (You are expected to check frequently)

1/3  Final exam grades have been uploaded to WebCT.  On-campus students can pick up your exam starting next week (but I’ll be out of town Wed-Fri).  Exams from EDGE students have been given to the EDGE staff to return to you.  I hope you all had a great holiday and I wish you a happy new year.  (Go Gators!)

12/15  HW7 Grade was available since yesterday night. If you cannot see your grade, don't worry. I already sent email through webCT to those who didn't get 100. I'll fix the setting so that you can see your score through WebCT.

12/12  HW7 Grade will be available on Thursday evening. All requested regradings will be done at that time.(Please, wait until Thursday.)
My Friday office hour will be moved to 3:00PM ~ 6:00PM. You can stop by and verify all your HW program grades.
Thanks and Good luck! --Kyung Hee

The final exam will be given Thursday, December 14 12:30-2:30 pm in the usual classroom.    Exams from EDGE students are due by 1pm on December  21 unless you are graduating this semester.  

  • The exam will cover all material in the lectures, homework, and reading for the entire course. See lecture 41 for more info.  
  • You will be allowed four pages of notes, otherwise the exam is closed book. 
  • The exam will start and end promptly so come a few minutes early to ensure that you have the full time.
  • Bring a photo ID--I'll check this during the exam.

 

 

12/8  EDGE students--if you are graduating this semester, please contact me if you haven't already done so.

12/8 Slides for all lectures have been posted.  HW6 solutions are in the Homework folder.

12/7 HW6 paper and pencil part grades are posted in WebCT. Full point is 100.

If you have any question, please contact jshin@cise and my office hours are 10:30 – 12:30 on Thursday.

The distribution of points is followings.

 

  1. 10  points
  2. Define a proof rule for the repeat command 10 points

Define invariant 10 points

Initialization 5 points

Invariant preservation 10 points

Completion 5 points

Termination 5 points

  1. Define an invariant 10 points

Initialization 5 points

      Invariant Preservation 10 points

      Completion 5 points

      Termination 5 points

4. 10 points

 

12/2  HW6 Program Part is regraded. Those who return context check error properly for t40, t41, t42,and t49, are given 8 points back. If your grade is not changed, please send me email. --Kyung Hee

11/30  The last FAQ of the semester.  
11/30  The type of a ForkExpr should always be void.  Be sure to implement it this way in HW7.  Unfortunately, this is different from what was  specified in HW4 and the change wasn't clearly stated in the assignment for HW6.  (HW4 reflected the original language design which would allow the thread executing the fork to continue and then wait for the result of the fork if its value was not yet available.  With that semantics it made sense for a fork expr to have an arbitrary type, but I decided later to go with the simpler semantics we had in HW6)     We'll give you credit on HW6 for the affected  test cases if necessary.   The change to your HW6 grade will be made no later than when your HW7 grade is posted.  Please be patient until then.  I apologize for the confusion.

11/29  HW6 Program Part is graded. Check the WebCT mail.
If you didn't turn in HW6 and need test cases for HW7(the HW6 test cases will be used), please send email to me.
All grade requests are updated also. Make sure your grade for Program Part HW. Regrading request for those due by 12/8. --Kyung Hee

11/28  HW7 posted on WebCT.  Solutions to homework through HW5 have been posted in the Homework folder.
11/25 A couple of test cases (testfork.plp and testsynch.plp) posted on WebCT 

11/22 Slides through lecture 36  posted on WebCT.  (No slides for lecture 32)  
11/22 HW5 paper and pencil part grades are posted in WebCT. Full point is 100.

If you have any question, please contact jshin@cise and my office hours are 10:30 – 12:30 on Thursday.

The solution will be available at the end of next week.

11/18  HW5 Program Part is graded. Check the WebCT mail. --Kyung Hee

11/14  HW4 pen and pencil part 4(b) is re-graded. Please check your grade.  If you have any question please contact jshin@cise

11/14    Guest lecturer tomorrow--make sure to attend class.
11/13    HW6 posted on WebCT
11/11   My office hour on Friday(11/17) will be moved to Wednesday(11/15) the same time(12:50~1:40PM). Sorry for the change of schedule. --Kyung Hee
11/9   No class Friday (Veterans Day)
11/9  Slides through lecture 31 posted
11/8  Dr. Tim Mattson from Intel will give a guest lecture in class next Wednesday, Nov. 15.  All on-campus students are expected to attend.  The title of the talk is "How to create a parallel programming language:  a case study with OpenMP "  Follow the link for abstracts and speaker bio (scroll down for the second one).  He will also give a department colloquium "Multi-core processors are coming. Will you be ready? at 3pm in CSE 404. Everyone is encouraged to attend that talk also. 

11/6 HW4 paper and pencil part grades are posted in WebCT. Full point is 100.

  1. 42 points 2. 21 points 3. each problem 4 points 4. (a) 4 points (b) 4 points 5. (a) 4 points  (b) 4 points 

If you have any question, please contact jshin@cise.ufl.edu and my office hours are 10:30 – 12:30 on Thursday.

11/5   For HW4 Program Part, make sure you test your program with your driver.
If there is any mismatch with the output, then please let me know.
I tested your code with
    cop5555.Parser parser = new cop5555.Parser(in);
    ast.AST tree = parser.parse();
    ast.ContextCheckVisitor cv = new ast.ContextCheckVisitor();
    ast.AST errorNode = (ast.AST)tree.visit(cv,
null);
If your program needs any special parameter to call visit, then email me about that. Thanks. --Kyung Hee

11/4   HW4 Program Part Result & TestCases sent through WebCT mail.

11/2   Slides for lecture 28 posted
10/31 For just this week, Jungmin Shin’s Thursday (11/2) office hours are changed to Friday (11/3) from 10:30 to 12:30.

          Sorry for any inconvenience

10/30  HW5 posted, Slides through lecture 27 posted
10/27  HW4 FAQ

10.25  Corrections to HW4.  

  • In GetFieldExpr, delete the requirement "field is assignable".  
  • In Defn, move "enterscope" after "class"

10/25  Slides through lecture 25 posted
10/24  Please,check your program part grades for HW1,HW2,HW3.
  All changes are updated except those who doesn't get HW3 results yet.
  If you find any inconsistency or outstanding changes not reflected, then please email me.
  Regrading request for those is due by 11/4.--Kyung Hee

10/21  My Monday(10/23) office hour will be moved to Tuesday(10/24) the same time(12:50~1:45) only for this week. Sorry for any inconvenience.
  If you are planning to see me and you cannot make it on Tuesday, then please send me email to make another appointment. --Kyung Hee

10/20  Exams for in-class students were returned today and solutions discussed.  If you weren't there today, you may pick up your exam in class next week.  
10/20  Reading on denotational semantics:  Slonneger & Kurtz:  9.1-9.3, 9.4.  Also have a look at the paper "A formal semantics of patterns in XSLT" by Philip Wadler.  This paper describes a denotational semantics of XSLT, a language for transforming XML documents into other XML documents. The target audience included people not familiar with denotational semantics so it contains a brief tutorial in section 4 that you might find useful.  The rest of the paper is worth skimming to get an idea of how denotational semantics was used in practice, and to see another example--this time not a traditional programming language.
10/18  In HW4 problem 3, skip parts f-i.  In part b, add "lambda ." before the first z.  In problem 1, you may use the built-in function read: int -> real to convert an 
int to real.  Also, you may need to explicitly give the types of some variables, as in fun f x:real = ....
10/16  HW4 posted
10/16  HW3 paper and pencil part grades are posted in WebCT. Full point is 100.

  1. (a) (b) (c) each 10 points  2. (a) (b) (c) each 10 points 3. 40 points

If you have any question, please contact jshin@cise.ufl.edu and my office hours are 10:30 – 12:30 on Thursday.

 

10/13  HW3 Program part result sent out. Check WebCT mail.
     For those who didn't get the result, please come to see me during my office hr. --Kyung Hee
10/12  In the solutions for HW3, you can get the answer in the solutions by changing "if x>1" to "if x >= 1" in procedure R.  In part b, the static links should go from the top 5 entries to B, the link from B to M.
10/11  EDGE students:  Please use a dark pencil when taking the exam.  Faxing it is fine, but make sure your proctor saves a copy until they know that I have received a readable version.  Make sure they include their contact information in case I need to reach them.
10/11  Reminder:  Midterm on Friday.  Bring a photo ID.  Be there a few minutes early so we can start on time.  
10/11  Slides through lecture 20 posted.
10/10  Solutions to HW3 have been sent via WebCT email to everyone who has submitted HW3.  
10/10 I'll hold another office hr after midterm for those who want to talk about HW2 program grade. (PM.3:00~3:50)-- Kyung Hee

10/9  Solutions to HW1 and HW2 have been posted in the Homework folder.  Solutions to HW3 will be available tomorrow afternoon to students who have submitted this homework.
10/4  The midterm will be given during class on Friday, Oct 13.  (EDGE student's exams due by 1pm on Fri Oct 20)   The exam will cover all material in lectures, homework, and reading through today (but not Lambda Calculus).  You will be allowed two pages of notes, otherwise the exam is closed book.  The exam will start promptly at 1:55 and at 2:45.   Come to class a few minutes early to ensure that you have the full 50 minutes.

10/4  Past exams posted on webct
10/3  Slides through lecture 17 posted.
10/2  HW3 FAQ

9/29 HW2 paper and pencil part grades are posted in HW2. Full point is 100.

  1. (a) (b) (c) (e) each 5 points  2. 20 points 3. 20 points 4. 25 points 5. 15 points ( each allocation is 5 points)

If you have any question, please contact jshin@cise.ufl.edu and my office hours are 10:30 – 12:30 on Thursday.

 

9/27 Grades & results for SimpleParser program(HW2 program part) posted.Check webCT mailbox.

9/27  A revised version of ASTVisitor.java added to HW3 this morning.  If you have already downloaded it, please get the new one.

9/25  EDGE students--you can submit HW2 through the HW2-EDGE assignment.  It has the correct due date for you and should let you resubmit, etc.
9/25  Slides through lecture 14 posted.
9/24 You need to submit the modified Scanner.java file with HW2.
   So, your cop5555.jar will contain at least 2 files--Scanner.java & SimpleParser.java.
   You don't need to include "SyntaxException.java" unless you changed it.

9/22 Expected results for HW1 sent through WebCT mail.

9/21 HW2:  delete bin_lit from the literal production.
9/20 I changed office hours from Thursday to Friday. For this week, I'll be at 309 on both days. -- Kyung Hee Kim
9/20 Sorry--one last attempt:

  • The second sentence of problem two should read

Modify the syntax so that *,/ , and  /\ have higher binding power than +, - , and \/, which have higher binding power than ==, !=, < and > which have higher binding power than ;. 

9/19  Corrections to HW2 : delete the ';' at the end of field production.

field ::= (final|assignable) type field_name = expr

9/18  EDGE students:  WebCT will think your assignments are late.  Don't worry, the humans know better.
9/17The grade of HW1 pen and pencil part is posted with comments in HW1 column.

Full point is 100.

1. (a) 25 points (b) 25points   2. 25 points  3. (a) 13 points (b) 12 points

If you have any question , please contact jshin@cise.ufl.edu.

Please write down your name in your submission file. 

9/15   Corrections to HW2

  • The second sentence of problem two should read

Modify the syntax so that *,/ , and  /\ have higher binding power than +, - , and \/, which have higher binding power than ==, !=, < and > which have higher binding power than ;. 

  • Add bool_lit to the literals (the last line in the syntax)

9/15   Slides from all lectures through today (lecture 10) are available.
9/15   Notes to program submission. Read this carefully. From HW2, if you don't follow this rule so the compilation fails, then you may lose some points.
9/15  Grades & results for Scanner program(HW1 program part) posted.

Check webCT mailbox.(go to "My WebCT" and then click the mailbox button at upper right corner. Go to the COP5555 folder.)
You are expected to correct the errors for HW2.


9/6    FAQ for HW1
9/6    Corrections--next method is not abstract, add a | between > and == in binary ops, add "or null_lit" to ident ::= ...but not keyword or bool_lit or null_li
9/5    Slides from lecture 5 available
9/1    Correction to HW1--in the lexical structure specification, replace the keyword "mutable" with "assignable".  
8/30  Slides from lecture 4 available
8/29  Slides from lecture 3 and a new version of lecture 2 without the font errors are available on WebCT
8/28  HW1 posted on WebCT [see HW1-problem1.doc on WebCT if you don't have the textbook yet.]
8/25  Slides from lectures 1 and 2 available in the slides folder on WebCT
8/23  HW0 available on WebCT.

Homework and Exam Schedule (subject to change)

All homework assignments are due at 1pm on the due date.  Unless stated otherwise, EDGE students may add one week to the due date of all assignments

 

Assignment

Assigned

Due

HW0 (not graded)

8/23

8/28

HW1

8/28

9/11

HW2

9/11

9/25

HW3

9/25

10/9

Midterm--in class

 

10/13

HW4

10/9

10/30

HW5

10/30

11/13

HW6

11/13

11/27

HW7 (graded 0 or 100, counts as 3 assignments)

 

12/11

Final exam

 

12/14, 12:30-2:30pm