CS 358 home page (Spring 2020) [teaching.up.edu/cs358]

(Check this page is frequently, as it is updated periodically.)

News

·       Check out the UP career services web page.

Instructor

  Steven R. Vegdahl (http://faculty.up.edu/vegdahl)

Handouts

·       Course Syllabus

·       Course Schedule

 Important dates

·      Assignment 0: due Thursday, 16 January (via email)

·      Assignment 1: due Tuesday, 28 January

o  Starter file: asst1.zip

o  Prof. V.’s demo of Assignment 1 (demo1.jar and test file Test.java, inside demo1.zip)

·      Assignment 2: due Tuesday, 11 February

o  Starter file: asst2.zip

o  Prof. V.’s demo of Assignment 2 (demo2.jar, inside demo2.zip)

·      Assignment 3: due Tuesday, 25 February

o  Starter file: asst3.zip

o  Prof. V.’s demo of Assignment 3 (demo3.jar, inside demo3.zip)

·      Midterm #1: Thursday 12 March

·      Assignment 4: due Tuesday, 24 March

o  Starter file: asst4.zip

o  Prof. V.’s demo of Assignment 4 (demo4.jar, inside demo4.zip)

·      Founders Day week (with Founders Day events canceled)

o   Both sections meet on both 7 April and 9 April.

·      Assignment 5, Part A: due Thursday, 9 April

o  Starter file: asst5.zip (includes several MiniJava test programs)

o   Alternate starter file, compiled with older version of Java: asst5Alt.zip

o   Part A hints

o   Some test files, including the .asm-code generated by Prof. V.’s compiler

o   A MiniJava big-integer implementation, which really exercises the garbage collector. It is intentionally inefficient, and creates lots of garbage. Note that multiplication, division and remainder—and especially hashcode, are very slow. You might want to initially comment some of those tests out in the exec method.

·      Midterm #2: Tuesday 14 April

·      Assignment 5, Part B: due Friday, 24 April

·      Final Exam:

·      Section A: Tuesday, 28 April, 10:30am-12:30pm

·      Section B: Tuesday, 28 April, 4:10-6:10pm

Links

·       Definition of MiniJava

·       WrangLR documentation

·       Vegdahl's MIPS simulator: mips.zip (contains mips.jar and mips.bat) Java executable.

·       Documentation for the MIPS architecture

·       Java source code for Lib.java and RunMain.java (for executing MiniJava programs in a real Java environment).

·       MIPS source code for mjLib.asm and mjLibAnn.asm, the non-annotating and annotating versions of the runtime library.

·       (JLex documentation)

·       (Cup documentation)