CS 315
Homework Assignment 2


Assigned:  April 25, 2024
Due:  May 6, 2024, 23:55

Two-way Selectors in Dart, Golang, Javascript, Kotlin, Python, Ruby, and Rust

A two-way selection statement provides the means of choosing between two execution paths in a program. The design issues for two-way selection statement can be summarized as follows:

  1. What is the form and type of the expression that controls the selection?
  2. How are the then and else clauses specified?
  3. How should the meaning of nested selectors be specified?

In this homework assignment, you will investigate how the design issues for the two-way selectors are addressed in seven different programming languages: Dart, Golang, Javascript, Kotlin, Python, Ruby, and Rust.

You can use online compilers/interpreters for this homework.

For each language, prepare a single source code file that exemplifies and tests each operation, in the order given above. Your example programs must be different from the example codes that may be available on the Internet. Be careful to avoid plagiarism!

Organize all of your experiments and their results and put them into a report. The report should include Parts A, B, C, and D as explained below:

Part A - Design issues for each language (45 points)

For each language and each design issue, give the sample code segments and the results of their execution. You should explain what your example does, and the output, if generated.

Part B - Evaluation (10 points)

Your evaluation of these languages in terms of readability and writability of two-way selector statement. Discuss, in your opinion, which language is the best for two-way selector statement.

Part C - Learning strategy (10 points)

A learning strategy is an individual's approach to completing a task. In this section, discuss, in detail, the material and tools you used, and the experiments you performed. Also talk about personal communication, if you had. Give the URLs of the online compiler/interpreters you used to run your programs

Part D- Sample Codes (35 points)

The sample code files must compile and run without any errors.

Submission:

A single zip or rar file should be submitted containing the following files with given names:

  1. A single file for the Report, containing parts A, B, and C: ID_lastname_name_report.pdf (65 Points)
  2. A folder called, Codes, for Part D. The contents of the folder will be as follows:
    1. A single file for Dart code: ID_lastname_name.dart (5 points)
    2. A single file for Go code:ID_lastname_name.go (5 points)
    3. A single file for Javascript code: ID_lastname_name.html (5 points)
    4. A single file for Kotlin code: ID_lastname_name.kt (5 points)
    5. A single file for Python code: ID_lastname_name.py (5 points)
    6. A single file for Ruby code: ID_lastname_name.rb (5 points)
    7. A single file for Rust code: ID_lastname_name.rs (5 points)

Please upload the zip or rar file you created to Moodle before the due date.

Important Notes: