Project 2 Requirements
Shiu-Kai Chin Week 2
1 Purpose
This project continues developing your capabilities to develop professional-level results capable of convincing a knowledgeable reviewer of your competence. The purpose of this project is for you to demonstrate the following:
Demonstrate your capabilities:
Basic functional programming skills as evidenced by
-
Code solutions to Exercises 2.5.1, 3.4.1, and 3.4.2
-
Session transcripts showing execution results of required test cases
-
Explanations as required by each problem
-
All source code for each exercise in the appendix
By means of using relevant tools and techniques: LaTeX, AUCTeX, emacs, and MLIn order to deliver compelling evidence that you have satisfied functional and documentation requirements with: a pdf of your report with all source files allowing others to reproduce your report, functional programs, and test results. ML source code. All LaTeX and ML files are compiled with a single make command in the top-level folder.
2 Project Requirements 2.1 Directory Structure
The directory structure matches that of SampleProject.
-
Top Level Directory: Project2
-
In Project2, you will have
◦ Makefile: top-level script for building your project ◦ Folder: ML containing
▪ All ML source code: ex2-5-1.sml, ex3-4-1.sml, ex-3-4-2.sml
▪ Execution transcripts: ex2-5-1.trans, ex3-4-1.trans, ex-3-4-2.trans
CERTIFIED SECURITY BY DESIGN
▪ Makefile to execute ML source code and generate transcripts ◦ Folder: LaTeX containing
▪ All project source code files for your project
▪ Makefile: script for creating your pdf deliverable
2.2 Reproducible Results
make Your ML transcripts must be executed by HOL and produce an ASCII transcript file. Your report must be written
using LaTeX and produce a PDF output. Failure to do this correctly will result in a 50% penalty.
2.3 Appropriate File Names
The sources you deliver are a reflection of your competence, diligence, and professionalism. This includes using file names that reflect your competence and that you actually did your own work. For this project this might mean using <your initials>Report.tex as a name, instead of the file name I used in the in-class examples.
Failure to name files appropriately conveys you are too lazy to do anything more than copy someone else's work. If given files to use and it is appropriate for you to use them, then keep the names and acknowledge their source.
2.4 Required Content
Your report shall have the following content:
2.4.1 Front Matter
• Title, Author, and Date
These must be formatted appropriately in LaTeX and spelled correctly.
2.4.2 Abstract
In your own words limited to a paragraph, state what are the important things you learned to do and why they are important to you. This cannot be a general statement. It must be specific to the project and to you.
2.4.3 Acknowledgments
Cite people who helped you. Include the people you teamed with in class and anyone else who helped you, as the in-class projects contributed to your capability to do the project. We check if team members have consistently cited each other.
All your deliverables
including your
ML transcripts and LaTeX reports
must be reproducible in a
reviewer's virtual machine by typing
in the top-level folder of your source files.
CERTIFIED SECURITY BY DESIGN
2.4.4 Executive Summary
There are three parts to your Executive Summary 1.
2.
-
All project requirements are satisfied, or
-
Some project requirements are NOT satisfied, and then provide a list and explanation of
what is missing, incorrect, and why.
The reason for the lead sentence is to inform the reader if your work is complete or not. It is unprofessional if the lead sentence is inconsistent with what you have actually done. Grade penalties are severe if the lead sentence is misleading.
Similar to your weekly reflections, you must include as part of your executive summary:
-
A mind-map of the key concepts/skills and obstacles you personally had to learn or overcome to do this project. What was hard? What was easy?
. Note: I expect this to be unique to each student, because each of you comes to this course with different experiences. No
two mind maps should be the same.
-
A written summary of your mind-map and what you delivered with respect to the project requirements. Since each mind-map is unique, your written Executive Summary should be unique.
What you produced for this project along with what is missing, if anything.
Remaining Content
Chapter 2: Exercise 2.5.1 with the following sections
2.1 Problem statement: describe the problem in your own words
• Typeset the mathematical function implemented by timesplus in LaTeX 2.2 Relevant Code
• To make your relevant code stand out: relevant code must be displayed within shadow framed box as in the sample report.
2.3 Test cases
• To make your test cases stand out: test cases are surrounded by double lines at the top and bottom as shown in the sample report
You MUST put one of the following two sentences at the beginning of your Executive
Summary:
Please comment specifically
on how you found the use of (1) pattern matching to be challenging or not, (2) the use of
listings
package and commands (e.g., \lstset, etc.), and (3) the use of graphics functions for
boxing source code, tests, and execution trandscripts
3.
2.4.5
2.4 Execution transcripts
• To make your execution transcripts stand out: use the numbered HOL session boxes as shown in the sample report. The first box is numbered starting with 1. Successive session boxes are numbered incremented by 1.
Chapter 3: Exercise 3.4.1 A, B, and C, with the following sections
3.1 Problem statement: describe the problem in your own words
3.2 Relevant Code
• To make your relevant code stand out: relevant code must be displayed within shadow framed box as in the sample report.
3.3 Execution transcripts
To make your execution transcripts stand out: use the numbered HOL session boxes as shown in the sample report. The first box is numbered starting with 1. Successive session boxes are numbered incremented by 1.Chapter 4: Exercise 3.4.2 with the following sections
4.1 Problem statement: describe the problem in your own words 4.2 Relevant Code
• To make your relevant code stand out: relevant code must be displayed within shadow framed box as in the sample report.
4.3 Execution transcripts
• To make your execution transcripts stand out: use the numbered HOL session boxes as shown in the sample report. The first box is numbered starting with 1. Successive session boxes are numbered incremented by 1.
Appendix A: Exercise 2.5.1 Source Code
• Source code is input to the report using \lstinputlisting
Appendix B: Exercise 3.4.1 Source Code
• Source code is input to the report using \lstinputlisting
Appendix C: Exercise 3.4.2 Source Code
• Source code is input to the report using \lstinputlisting
3 Submission Guidelines
Deadline: check the course website. Generally, projects are due 1 week after assigned at 2359 hours the day in between our first and last class of the week. Late work is penalized at the rate of 10% for each day, even if you are only 1 minute into the new day, e.g., 0000 hours the day after your work is due, you will get a 10% penalty. This means you should not wait until the last minute to submit your work in case something goes wrong. When submitting proposals to the government, if you miss the deadline your proposal is automatically rejected.
-
How submitted: through Blackboard. This means Blackboard timestamps your work. It is your responsibility to make sure it is submitted correctly.
-
Unlimited number of submissions: your last submission is what is graded prior to the deadline. Once I start grading your last submitted report after the deadline, you cannot count on me grading anything else you have submitted after the deadline.