COMP4181/9181 Programming Project - Compiling an Embedded Array Language
The aim of this project is to build a backend for the embedded array language Accelerate. The project comes in two flavours: basic and advanced. To complete the course, it is sufficient to solve the basic project. However, those who enjoy a challenge can alternatively complete the advanced project and earn bonus marks.
The programming project should be implemented in pairs; hence, if you are eying the advanced project, make sure, your partner is up for it, too. The idea is to co-operate and not just to split the work. In particular, both students will receive the same marks for all project milestones. This is unless it turns out, at the end of the project, that one person has done significantly more work than the other. In this case, please provide a rough breakdown of who did how many percent of the work on which milestone. All source code will be under version control, and hence, individual code contributions will be easy to track.
The source code of Accelerate is available from GitHub at https://github.com/AccelerateHS/accelerate. We will also use GitHub to maintain one repository per programming pair. Code submission for assessment will be by pushing appropriate commits to GitHub. For more information on GitHub, see http://github.com.
The project consists of the following four milestones (split into two strands).
- Milestone 0 (8 Sep, 5 marks)
- Milestone 1 (4 Oct, 10 marks)
- Milestone 2 (23 Oct, 10 marks + 5 OPTIONAL bonus marks)
- Milestone 3 (6 Nov, 15 marks + 5 OPTIONAL bonus marks)
Push commits implementing the various milestones to your GitHub repository. Each milestone must be tagged (as specified in the milestone description).
For each milestone, the maximum possible mark is reduced by 20% for every day past the deadline. Submissions are expected by 23:55 of the due date, as given in the above list of milestones. For example, if Milestone 0 is submitted on 3 September, the maximum possible mark is 4 marks (as it is one day late). Submissions later than 4 days are not accepted.
You must strictly conform to the UNSW Plagiarism Policy and the CSE Plagiarism Policy. In particular, it is essential that you correctly attribute any code that you (i.e., either of the two project partners for this programming project) have not written yourself; i.e., which is derived in whole or part from third party code.