COP 5555 Programming Language Principles

Fall 2007

 

Contact info

Announcements 

12/14  For on-campus students:  Final grades, final exam grades, etc have been entered into e-learning.  Also, see the “grading info” file on e-learning.  (I was under the impression that grades on ISIS become visible as soon as they are uploaded—apparently that isn’t the case) 

 

12/13  Final course grades for on-campus students should be available on ISIS.  The final exam grades will be posted to e-learning tomorrow.  You may pick up your exam from me anytime you can find me around.

 

12/10  Extra credit grades have been posted.  (Most people don't have any) If you think there is a mistake, please let me know by Wed at 5pm.

 

12/10  HW7 is graded.
If you have any questions or unresolved issues about HW grading, please contact me khkim@cise.ufl.edu

 

12/7  HW6's paper-pencil part is graded both for On-Campus and EDGE students.
The AVG for On-Campus is: 23.4, and AVG for EDGE is: 22.4. If you have any questions, please send emails to hj0@cise.ufl.edu

 

12/5  E-learning update: slides for today.

 

12/3  The ContextException for t81 and t87 will be correct result also.
     Grade for HW6 program part will be updated and notified individually.
     In addition, both t81 and t87 will be dropped from HW7 test cases, so you don't need to work for these test cases.
     Thank you for the notification of this problem. --Kyung Hee(khkim@cise.ufl.edu)

 

12/3  The final exam will be held at the time scheduled by the registrar:  Tuesday 12/11 10am-12noon in the usual classroom.   The exam will be cumulative.  You will need to review material from the entire semester.

Logistics:

  • 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. 
  • Edge students:  your exams are usually faxed--please use a pen or dark pencil.  The exam will be emailed to your proctor on 12/11 and you will have until Tuesday 12/18 12noon to get it back to me.

 

12/3  E-learning updates:  updated slides on Concurrent Programming, slides on scripting, slides on implementation and code improvement.

 

12/2  GeneratedClasses.tar file is the expected classes files generated by reference implementation. (NOT your result)
    It will be helpful to compare this file with your class file by using javap.
    To run this class file, you need to use modified version of runtime.jar.

12/2  Because of several requests for appointment, my Tuesday(12/4) office hour is moved from (9:35am~10:25am) to (2:00pm~4:00pm) for this week.
    HW7 will be tested only for HW6 test cases (t0~t99). -- Kyung Hee --

 

11/30  HW6 Program Part is graded
    AVG:81.7 Median:86.5, If you have any questions regarding this and HW7, please contact khkim@cise.ufl.edu

 

11/28  HW7 posted.  The deadlines for HW7 are firm--no late assignments will be accepted and earlier submission would be appreciated if you can.  (We have hard deadlines to turn in your grades to the registrar.)

 

11/26 HW6 information is here.

 

11/21 Happy Thanksgiving! No class Friday.

 

11/21 E-learning updates:  slides on concurrent programming, updated slides on logic programming

 

11/20  (HW5 Program Part)TestFile t44 and t45 are changed.
     "write call v();" should be "call v();" instead.
     Updated result has been notified individually.
     Check your grade with notified changes.
     If you didn't get additional mail, there is no changes.-- Kyung Hee

 

11/18  HW5 Program Part is graded
    Please, check E-learning mail, and respond me ASAP if you didn't get score. khkim@cise.ufl.edu

 

11/18  HW5 Paper-pencil Part is graded
    The Average is: 22.9 (27 submitted) If you have any questions, please send email to hj0@cise.ufl.edu

 

11/16  Error in the listGT method in Runtime.java. Second line should be int size1 = l0l1.size(); 

    For listEQ, use java/lang/Object.equals.  For contains, use java/lang/ArrayList.contains(Object o):  for ints and bools, wrap in an Integer or Boolean object first.  If you want, you can add methods to Runtime.java to do this.

            

 

11/16  E-Learning update:  Slides on Logic Programming

 

11/14  My Thursday(11/15 9:35am~10:25am) office hour is moved to Friday(11/16 10:30am~11:30am) for this week only.
Sorry for any inconvenience. -- Kyung Hee

 

11/14  HW6 posted.  Other E-learning updates:  Solutions for HW3 and HW4. Updated slides on Procedures

 

11/12 HW5 information is here.
To run the output class file on eclipse.cise.ufl.edu machine, use version 1.6 instead of default 1.5.
You can run the example p.class by typing,
>/depot/c1/JAVA-2007-01/JDK-6/java-6/bin/java p

11/7  E-Learning update.  Slides on OOP.  Read Scott, Chapter 9.

11/06 HW4 Program Part is graded as E-Learning Emails.
    AVG: 72.6 out of 25 who submitted the program.
    All the programs are tested on eclipse.cise.ufl.edu. For the future programs,
    you'd better test your program on that machine before submission.

    If you have any question about this part, please send email to hj0@cise.ufl.edu

11/03 HW4 Paper-pencil part is graded as comments.
    If you have any question, please contact khkim@cise.ufl.edu

10/31  No classes Friday, Nov 2.  UF Homecoming.

 

10/31 E-Learning updates:  HW5, updated slides for Control Flow, slides for Procedures (Scott, Chapter 8. The material in the CD supplement comparing generic facilities of C++, Java, and C# is interesting, but not required)

 

10/30  In HW4 problem 1, use Real.fromInt to convert from int to real.  You may ignore "calling polyEqual" warnings.

 

10/30 HW4 typo: 

let fun compatible([],[]) = true |  

           compatible (f::fs, e::es) =assignableTypes(f,e) /\ compatibleListTypes(fs,es) in compatible(Actuals.formal,Expr*)

10/28 Some typos are corrected on the HW4 Help page.

10/27  HW4 Help Page is here
If you have any questions of the program part, please send email to hj0@cise.ufl.edu

10/24  Slides on Control Flow uploaded.  Read Scott, Chapter 6

10/22  A revised version of slides L12-JVM.ppt was uploaded at 12:45pm

10/22  At least one additional company (Cisco) has signed up to participate in the CISE career fair.  I strongly encourage you all to attend.  See the announcement below from 10/17

10/22 A revised version of the Type Constraints specification for HW4 has been uploaded.  It corrects some typos and an error in the rule for Var::=Ident Expr*.

10/22  Solutions to the midterm are available in the "Midterm Solution Lecture 23 Video" folder, which you should be able to access after you have a midterm grade.  

10/19  Edge students:  You will not be able to see today's lecture (where the midterm was discussed) until a midterm grade has been entered for you in the E-learning  gradebook.  If you see a grade of 1, don't panic--it will be a placeholder to allow you to access the lecture as soon as possible after I receive your exam, even if I'm not able to grade it immediately.  

10/19  E-learning will be unavailable this weekend beginning 5PM Saturday, 20 October until around 9AM
Sunday, 21 October.  The E-learning support folks apologize for the inconvenience.

10/19 Slides on the JVM are available

10/18  HW4 has been posted

10/17  The 1st Annual CISE Career Development Workshop will be held on Oct 23.  Meet industry representatives and get free food and a chance to win prizes..  Register, upload your resume, and get more information at http://www.cise.ufl.edu/careerworkshop/studentsWhy should you attend?  

If you are a MASTER'S student:

  • Apply for internships and full-time positions
  • Get your name out to the companies in which you're interested
  • Practice your interviewing and networking skills
  • Talk to top industry representatives on a one-to-one basis
  • Ask questions about companies, positions and the application or interview process
  • Get your resume critiqued

If you are a PHD student:

  • Score an internship, co-op, or full-time position
  • Get your resume or CV critiqued
  • Get to know what research is going on in the industrial world
  • Build industry contacts
  • Get help choosing a career path and deciding between academia and industry

10/16 HW3 Paper-pencil part is graded. The result is sent as comments and the solution is also sent as an attachment.
AVG: 25.8 MED: 27
If you have any question, please contact hj0@cise.ufl.edu

10/15 HW3 Program part is graded. The result and test cases are sent to E-learning(WebCT) mail for those who submitted.
AVG: 81.9 MED:90
If you have any questions, please contact khkim@cise.ufl.edu

10/10 E-Learning updates:  Slides on axiomatic semantics, HW2 solutions, a new folder containing exams from previous semesters.  (When looking at the exams, keep in mind that the course varies from semester to semester, both in emphasis and in timing of exams and material covered.)

 

10/10  No new homework today.  Instead, study for the midterm on Oct. 17.  The midterm will cover topics covered in class up to and including denotational semantics.  Some exam logistics: 

  • You will be allowed two 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. 
  • Edge students:  your exams are usually faxed--please use a pen or dark pencil.  The exam will be emailed to your proctor on Oct 17--you have a week to take it and get it back to me.

 

10/9  There is an error (reported by several people) in the ToStringVisitor.visitListVar--it doesn't print the name of the IdentToken.  You can fix it by adding ln(); indent(fi); s.append("ident=" + ((IdentToken) (node.firstToken)).spelling); after line 317.  

 

10/8  Supplementary reading on denotational semantics: Phillip Wadler's paper on  A formal semantics of patterns in XSLT.  

 

10/6 HW3 information is here

10/4 Two corrections to HW3.  In the abstract syntax, change the production Statement ::= Read Expr to Statement := Read Var.  In the class ToStringVisitor, line 467,  (method VisitTrinaryExpr) , change node.e0.visit(this,fi); to node.e2.visit(this,fi);

10/3 Slides on Denotational Semantics are available.  Read:  Slonneger&Kurtz section 9.1,9.2,9.3, 9.5.  Reminder: I will be out of town Friday Oct 5.  That class will be taped at 11:45am on Thursday, Oct 4 in the usual classroom.  Please attend if you can.

10/1 E-learning updates:  Slides on Lambda Calculus are available.  The file parser.sml in the Slides folder contains an ML program with the parser example from the lectures.  You can load it in sml with the use "parser.sml"; and try it out.

10/1  Clarifications on HW3:  A couple of students asked if BlockItem ::= Type ident should be BlockItem ::= Type ident*.  It is correct as given (without the *).  The concrete syntax allows declarations like int x,y,z; but in the abstract syntax tree you want each variable declaration to be represented by a self contained node with the type and ident.  The AST should be the same as if you had declared int x; int y; int z;     Also, the skip statement is a no-op.  Both skip and the empty statement ; result in a SkipStatement node in the AST.

9/30 HW2 Program part is graded. The result and test cases are sent to E-learning(WebCT) mail for those who submitted.
t9 & t12 are changed, so please ignore the previous mail.
AVG: 86.0 out of 31
Note: Please don't terminate the SimpleParser when a SyntaxException was caught. SyntaxException should be printed out in the test program, not the SimpleParser.
If you have any questions, please contact hj0@cise.ufl.edu

9/28 I will be out of town Friday Oct 5.  That class will be taped at 11:45am on Thursday, Oct 4 in the usual classroom.  Please attend if you can.

9/27 HW2 Paper-pencil part is graded. The results are posted on E-learning as comments.
AVG: 25.5, MED: 28.8, out of 30 (5, 5, 20 points for problem 1,2,3)
Note that the comment point out deducted points!(For example, -0 means you got full points for that question.)
If you have any questions, please contact khkim@cise.ufl.edu

 

9/26 E-learning updates:  HW3 has been posted, HW1 solutions are in the Homework folder, slides on SML are available.

9/24 We will start talking about SML this week.  You'll need download it from www.smlnj.org for your own PC. If you are working on a department Unix machine, the command is /cise/class/cop5555fa07/sml/bin/sml.

9/24 Slides for Types-part2 posted.  Read the supplement on the ML types system on the CD (CD81)

9/23 HW2 information is here

9/21 Future test cases will include will include '\r' only in '\r\n'  (i.e. adjacent to  \n at the end of a line) or not at all. 

 

9/19 Some changes in HW1 Scanner grade(Special note for "string" field of StringLit)
    Check E-learning mail, please.. --Kyung Hee

9/19  Next topic:  Types. Read Scott, Chapter 7.  Slides have been posted.

 

9/16 HW1 Scanner re-graded.(changes in t1,t3,t4) Expected results are sent also.
    AVG:84.9, MED:88, STD:17.38
    If you missed HW1, and need the HW1 test cases for testing your scanner, please send me email.
    Keep in mind that your scanner should be fixed for HW2. --Kyung Hee

 

9/14 HW1 Paper-pencil part is graded. The results are posted on E-learning as comments.
If you have any questions, please come to E309 during my office hours (Wed & Fri after PLP class)
AVG: 26.3, MED: 27, out of 30     Jin, Huafeng hj0@cise.ufl.edu

9/14 Next topic—Semantic Analysis. Read Scott, Chapter 4.  Slides have been posted.

 

9/14 HW1 Scanner is graded. The result & test cases are sent to E-learning(WebCT) mail for those who submitted.
  If you have any question regarding the result, contact khkim@cise.ufl.edu, or come to my office hr(Tues, Thurs period 3)

Homework and Exam Schedule for Fall 2007

All homework assignments are due at 9am 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/24

8/29

HW1

8/29

9/12

HW2

9/12

9/26

HW3

9/26

10/10

Midterm--in class

 

10/17

HW4

10/17

10/31

HW5

10/31

11/14

HW6

11/14

11/28

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

 

12/10

Final exam

 

12/11

10:00am-12:00 noon

 

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:  Monday and Thursday, period 4 (10:40am – 11:30am), or by appointment.   It is also fine to just drop by or call any afternoon, but I don’t promise to always be available then.


TAs:  

KyungHee Kim

khkim@cise.ufl.edu

Office hours:  Tuesday and Thursday, period 3 (9:35am – 10:25am) @CSE309

 

Huafeng Jin

hj0@cise.ufl.edu

Office hours:  Wednesday and Friday, period 8 (3:00pm – 4:00pm) @CSE309

 

E-learning (formerly known as WebCT) (http://lss.at.ufl.edu ) will be used for handouts, homework submission, etc.  Login (after the semester begins) using your gatorlink id and password.