University of Calgary

cpsc 233 news

Mar-03-06 [Fri]: Parsing Assignment Help:
I have posted two powerpoint "shows":
1. The first shows various perspectives on lexical analysis & parsing in the first few slides, then does a series that follows the algorithms laid out in the additionial help pages. It shows how a simple arithmetic expression is parsed and converted to postfix. The structure used is a queue, and the final postfix expression ends up "upside" down.
2. The second uses the queue from part 1 and shows how the expression is pulled off of the front of the queue and evaluated. This one uses a stack in addition to the queue.

Feb-15-06 [Wed]: Assignment Extension:
DEADLINE  CHANGE!!! I have placed several days' 'grace' in the cut-off for Asst 3. Submit will accept assignments until Tuesday, Feb. 21

Jan-15-06 [Sun]: Assignment Submission guidelines, general:
  • Submit all assignments electronically, using submit
  • This is a cpsc utility; you must log in to a cpsc machine in order to use it. It will likely not be functional until After Jan. 20, so the first assignment will be accepted up until Tuesday, Jan. 24.
    • If you have been using another machine to do your assingments, you must transfer all the necessary files to your cpsc account. This can be done by sending yourself email with the files attached, or by transfering them using something like SSH. (see UofC IT notes on SSH) CPSC machine hosts have names like: csa.cpsc.ucalgary.ca, and csb.cpsc.ucalgary.ca, ...
      Be sure to transfer all the .java files you will need.
      It is probably prudent to create a directory called something like Asst1, put everything in there, and compile and test it before submitting it.
    • You submit your stuff like this, from the unix command line on our CPSC machines:

submit -c 233 -a 1 *.java

  • The -c is for the course number, the -a is for the assignment number, and the last part is for the file(s). *.java will send all files in the curent directory that end in .java You can re-run this command as often as necessary - it will simply replace older files with newer ones. For more information on SUBMIT, see James Tam's page HERE
  • You can accomplish all of this while remotely logged in from an SSH shell window.
  • Note that the deadline for assignments is part of the submit system, and assignments submitted after the deadline will not be accepted.
  • Unless otherwise told, all necessary documentation, etc. should be contained within the .java files.
  • It is not necessary to submit javadoc or .class files. The graders can geerate those themselves. It would be advisable to make sure that your code can be compiled and run, and that javadoc will generate the documentation you are expecting to see before submitting your assignment.
  • For all assignments except #5, the testing will be done by running each program with pre-determined data. You will be provided with sample data, but it will not be the same as what is used for assessment.
  • The main program (class) for each assignment should be named as directed (for example, asst 1 should be called Bank, BankB, or BankA, depending on which grade you are shooting for.
  • If a program fails the 'A' tests, it will be run on the 'B' tests, and then, if necessary, the 'C' tests. There is no penalty for submitting an 'A'-category assignment that only succeeds on the 'C' test. The grade given will depend on which data set was successfully handled.
  • Reading responses, and all work submitted under the "Other Work" category is to be sent to the Instructor (K.Becker).
    • Email submissions are fine.
    • Written work (like reading responses can be submitted as attahed plain text, MSword, PDF, or even as the body of a simple email.
    • Please make sure these mails are well identified. The following header for your email is strongly recommended:
      • [cpsc 233 - other work submission #145] reading response

Jan-15-06 [Sun]: Getting started....
Java is available free for all kinds of systems:
the run time environment is available from: https://jsecom16b.sun.com/ECom/EComActionServlet;jsessionid=D841895A6107AFEF1D29B4F4E000BF9C

Choose the platform you need, and install the package.

Then, although you can create Java programs from an editor and run them from the command line,
you will likely want a development environment. Choose one of the ones on the resources page:
http://www.ucalgary.ca/%7ebeckerk/Courses/CS-101/reference-links.html
look under "Java Set-up". I personally like DrJava, but use the one that makes the most sense to you.

I don't know about the engineering machines, but I do know that the University IT machines have java compilers, and editors to compile a java program:
your program must end in '.java'
the name of the class in the file must be the same as the name of the file
so, test.java must contain a class called test

compile with:
javac test.java

this produces a file called test.class

that's the one you run, like this:

java test

Jan-14-06 [Sat]: I've updated the assignment 1 page, and the rubric.
The marking for this assignment will be automated, and grades for this assignment will be assigned according to the function of the program.
The rubric offers a more subjective assessment so you can judge for yourself how well you have done.
I have also added a working 'B' version, -and- fixed the A-version so that it does print intermediate balances like it is supposed to.
I also added links to sample runs and sample input files.

Sept 28 -05 [Wed]: One of the students in this class subitted this set of slides on the transition from Pascal to Java. The slides are available <HERE>. The student has asked to remain annonymous, but was willing to share the slides. Thank you.
Sept 23 -05 [Fri]: I have included another class that can be used for IO. It is completely self-contained in one class, so all you need to do is copy the source into your working directory and compile it. It is called Stdin.java and can be found in a directory of the same name in the Courses directory.
It is also accessible through the Help->Reference Links page

Updated: March 3, 2006 04:16 PM