BigShell Report

As part of the BigShell assignment, you will write a short report, covering what you did, and what you learned.

Format Requirements

  • Length: Maximum of 5 pages, not counting title page, figures page, and reference list

  • Spacing: Single-spaced

  • Font: Times New Roman, 12 pt.

  • Margins: Standard (1 inch on all sides)

To be submitted as a single PDF document to Canvas. Ensure the report is well-organized, free of grammatical and typographical errors, and adheres to the specified format.

Content Requirements

The purpose of this report is to document the work you performed on your project. It should provide a clear and comprehensive explanation of your program’s structure, analyse difficulties you encountered, and describe what actions you took to overcome these difficulties.

The primary audience for this report should be an industry professional, reading with the intent to evaluate the practical application of academic achievement and skills in a real-world scenario, in consideration of an internship, job opportunity, or invitation to collaborate on a future project. Their technical background includes an advanced understanding of software engineering and development, industry standards, and expectations; however, while they are familiar with C programming and use of the shell, they themselves are unfamiliar with the implementation of a shell program. The reader’s primary interest is to gauge clarity of communication, critical thinking, innovation, and the ability to tackle complex challenges.

Title Page

The Title Page should include the title of the project (BigShell), the title of the course (Operating Systems I), your name, and the date of submission, followed by the abstract.

Abstract (200-300 words)

The abstract provides a brief summary of the project, such as its key objectives and outcomes.

Report Body

Structure the body of the report with the following sections. Approximate length recommendations are included as a guide.

Introduction (1 page)

The introduction serves as a project overview, and details the goals and scope of the BigShell program. Provide additional context and background information relevant to the project. Explain to the reader why it was important to do this project, and provide an overview of other similar existing software projects.

Program Structure (1-2 pages)

Outline the overall structure of the program, including the main modules and how they interact to form the whole. Include an explanation of a complete cycle of executing a command, or list of commands, and how each part relates to the specification.

Implementation Details (1-2 pages)

Specify the tools, programming languages, and other resources that you relied on. Include details of your workflow, the build system you used, and so on. Document the functions you were responsible for implementing. Discuss how the project was tested and evaluated against the specifications.

Challenges and Solutions (1 page)

Identify and describe any significant challenges you faced during the development process; this includes aspects of development outside of directly implementing the code. What strategies or methods did you use to overcome these challenges? Reflect on what you’ve learned from this project, and how you will apply that to future work.

Conclusion (0.5)

Summarize the key points you discussed in the report, and suggest potential improvements and future directions to continue the project (e.g. were it to receive further funding).

References

You must provide citations when quoting directly, paraphrasing, or summarising information or ideas from another source, including when using data or figures. References to theories, models, or concepts must also be cited, along with any background information or supporting claims that are not your own. An effective introduction section will require several high-quality references outside of those which are presented directly to you in the course.

List all references in IEEE format, with in-text citations in the report body. All references should have verified authors that are recognized experts in the field–academics, professionals, or those with several publications on the topic–and they must be published by reputable institutions such as academic journals, established publishing houses, or other industry organizations.

Examples of high-quality references:

  • Journal Articles in peer-reviewed journals such as IEEE Transactions, ACM, etc.

  • Conference Papers presented at conferences like ICSE, FSE, IEEE, etc.

  • Books published by recognized academic publishers or authored by experts.

  • Industry reports, specifications, or standards.

Figures

You may provide up to one additional page of figures, code listings, etc. These should not be embedded within the body of the report. Each figure or listing should have a caption that provides a brief description.

Code listings may be provided in any suitable monospace font, no smaller than 10pt.

Rubric

Your report will be categorized on a four-point scale as either “meets expectations”, “suitable for revisions”, “does not meet expectations”, or “unacceptable”.

Meets Expectations (A)

A report that meets expectations documents a well-formed understanding and analysis of the project. Program structure and critical implementation details are clearly and comprehensively explained. Challenges and solutions are thoroughly analyzed, with reflection on lessons learned. The report should be otherwise well-organized, professionally written, free of minor grammatical or typographical errors, and adhere to formatting guidelines. Finally, high-quality references are used effectively, with proper citations.

Suitable for Revisions (B)

A report that is suitable for revisions adequately documents the work performed, provides a clear explanation of the program structure, and documents challenges faced during development. It is well-organized, with minor errors that do not significantly detract from the overall quality. References are appropriately cited, and the report generally follows formatting guidelines.

Does Not Meet Expectations (C)

A report that does not meet expectations fails to adequately document work performed, or explain the program structure. Key challenges and solutions are missing or poorly described. The report is poorly organized, does not adhere to the specified format, or contains numerous grammatical or typographical errors that significantly detract from its overall quality. References are lacking, improperly cited, or of insufficient quality. Significant revisions would be required to meet the basic requirements.

Unacceptable (F)

A report that is deemed unacceptable is incomplete or missing major sections. It may demonstrate a fundamental misunderstanding of the project requirements, go off-topic, or focus on unimportant details. The report is disorganized, to the point of being unreadable, contains numerous grammatical, formatting, and citation errors. References are absent, inappropriate, or indicate potential plagiarism. The report does not meet the minimum standards for academic or professional work, and is not suitable for revision.