HW02

command
v0.0.0-...-f2c7c1e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2023 License: MIT Imports: 1 Imported by: 0

README

Probing Subprogram Parameters across Diverse Programming Languages | Total Points: 99

In this assignment, we delve into the intricate design issues tied to subprogram parameters across seven distinct programming languages. The chosen languages for this exploration are Dart, Go (Golang), JavaScript, Lua, Python, Ruby, and Rust. Your task involves unraveling how these languages address the following design quandaries:

  1. Are formal and actual parameters subjected to type checking?
  2. Is the implementation of keyword (named) parameters supported?
  3. Is there support for default parameters?
  4. What are the provided parameter passing methods?
  5. Is there a provision to pass subprograms as parameters? If so, how is the referencing environment of the passed subprogram bound?

Feel free to utilize online compilers or interpreters for this assignment.

For each language, construct a unique source code file that exemplifies and tests each operation, in the sequential order outlined above. It is paramount that your example programs vary distinctly from any available example codes on the Internet. Exercise due caution to avoid plagiarism.

Collate your findings and experimental results into a comprehensive report encompassing the following sections:

  • Part A - Design Issues in Each Language (45 points): For each language and corresponding design issue, present sample code segments and their execution results. Your explanation should articulate what your example accomplishes and decode the generated output, if any.
  • Part B - Evaluation (10 points): Provide your assessment of these languages in terms of readability and writability of subprogram parameters. In your perspective, identify the language that excels in handling subprogram parameters.
  • Part C - Learning Strategy (10 points): Discuss your approach towards accomplishing this task, detailing the materials, tools, and experimental methods used. If relevant, elaborate on any personal communication undertaken during this process. Also, provide the URLs of the online compiler/interpreters used to run your programs.
  • Part D - Sample Codes (35 points): Ensure all your code files compile and run error-free.

Submission Guidelines:

Submit your completed assignment as a single .zip or .rar file containing the following:

  • A singular .pdf file for the Report (Parts A, B, C) named as ID_lastname_name_report.pdf.
  • A folder, titled Codes, for Part D, containing:
    • Dart code file: ID_lastname_name.dart
    • Go code file: ID_lastname_name.go
    • JavaScript code file: ID_lastname_name.html
    • Lua code file: ID_lastname_name.lua
    • Python code file: ID_lastname_name.py
    • Ruby code file: ID_lastname_name.rb
    • Rust code file: ID_lastname_name.rs

Please upload your file to Moodle before the given deadline.

Important Points:

  • Late submissions will be accepted, but a deduction of 10 points per day will be enforced.
  • While online tutorials can be used as a reference, avoid using their content as the basis for your examples. Any deviation from this rule might lead to similar submissions and result in a disciplinary investigation.
  • Collaboration on this assignment is not permitted.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL