Homework 14 (Extra Credit)
Last updated: Tue, 13 May 2025 08:45:12 -0400
Out: Tue May 13 2025, 11am EST
Due: Tue May 20 2025, 11am EST
Overview
This assignment will allow you to use the "Examples and Tests" skills that you’ve been developing and honing all semester to earn some extra credit. It will also give you a taste of working on a real(ish) software project! (Those who have not been writing proper Examples and Tests are not eligible.)
Specifically, you can earn bonus points for submitting bug reports for #lang 450lang!
NOTE: Bug reporting systems are not help forums (visit Piazza for that). Thus it is not appropriate to submit an issue that is seeking clarification questions, nor is it the place to ask for help debugging programs.
This is a real software project that is deployed to real users so all submitted bug reports are expected to meet real-world quality standards. In particular, any submitted reports that do not follow instructions (see Submitting), are not understandable, are duplicates, etc., will be closed without discussion and will not receive any credit (and may possibly lose credit).
If you wish to attempt this extra credit, a large part of the assignment involves putting in effort to understand the behavior of (possibly corner cases of) the language we have been studying/creating, and putting in effort to create examples that are minimal.
Total Possible Bonus (up to): 20 (8+6+4+2) points
The first report you submit will earn 8 bonus points. You may submit as many reports as you wish, but only the first four will earn extra credit, with each subsequent one receiving two less points than the previous.
(The bonus points will be applied to Homework 13’s grade.)
Setup
You will need to use #lang 450lang again, so make sure the 450lang package is installed.
Installing 450lang
The easiest way to do so is from DrRacket, go to File -> Package Manager, and then search for and install the 450lang package.
Alternatively, you may install the package from the command line with the following:
raco pkg install 450lang
Updating 450lang
If the package was installed a while ago, make sure to update to get the latest version. This can also be done from the DrRacket package manager by pressing the "Update" button (next to "Install")
To confirm you have the latest version, compare the checksum in DrRacket with the one listed on the Racket pacakge catalog page.
Using 450lang
Write #lang 450lang at the top of a file.
Submitting
a title that is informative and succinctly describes the problem,
a minimal #lang 450lang program that demonstrates the problem,
the expected result (with an explanation if necessary),
the current (incorrect) result.
Submit an bug report here by clicking New issue, then Bug report.
NOTE: Bug reporting systems are not help forums (visit Piazza for that). Thus it is not appropriate to submit an issue that is seeking clarification questions, nor is it the place to ask for help debugging programs.
This is a real software project that is deployed to real users so all submitted bug reports are expected to meet real-world quality standards. In particular, any submitted reports that do not follow instructions (see Submitting), are not understandable, are duplicates, etc., will be closed without discussion and will not receive any credit (and may possibly lose credit).
If you wish to attempt this extra credit, a large part of the assignment involves putting in effort to understand the behavior of (possibly corner cases of) the language we have been studying/creating, and putting in effort to create examples that are minimal.