CS 315
Homework Assignment 2


Assigned:  April 17, 2025
Due:  April 27, 2025, 23:59

Multiple-Way Selection Statements in Dart, Go, JavaScript, Kotlin, PhP, Python, and Rust

Multiple-Way Selection Statements allow the selection of one of any number of statements or statement groups.

In this homework assignment, you will investigate the multiple-Way Selection statements in seven different programming languages: Dart, Go, JavaScript, Kotlin, PhP, Python, and Rust. You will investigate how the following design issues are addressed in these programming languages:

  1. What is the form and type of the control expression?
  2. How are the selectable segments specified?
  3. Is execution flow through the structure restricted to include just a single selectable segment?
  4. How are case values specified?
  5. What is done about unrepresented expression values?

For each language, explain how the design issues listed above are answered. You can illustrate the answers to these questions, in different parts of a single program. The example program must be complete, so that they can be executed directly. The files must execute without error or warning.

You can use online compilers/interpreters for this homework. For each language, prepare a single source code file that exemplifies and tests each issue, in the order given above. Your example programs must be different than the code examples that may be available on the Internet.

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

Part A - Operations in each language (45 points)

For each language and each operation, 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 list operations. Discuss, in your opinion, which language is the best for list operations.

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 PHP code: ID_lastname_name.php (5 points)
    6. A single file for Python code: ID_lastname_name.py (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: