CS 315
Homework Assignment 1
"The only source of knowledge is experience"
Albert Einstein
Assigned: November 14, 2025
Due: November 23, 2025, 23:55
Boolean Expressions in Dart, Go, Javascript, Python, and Rust
Expressions are the fundemental means of specifying computations in a programming language.
Expressions involve operators and one or more operands.
In this homework assignment, you will investigate the boolean expressions provided in seven different programming languages: Dart, Javascript, Lua, PHP, Python, Ruby and Rust. You will investigate how the following design issues are addressed in these programming languages:
- Boolean operators
- Data types for operands of boolean operators, Boolean values (Truthy and Falsy values)
- Operator precedence rules
- Operator associativity rules
- Operand evaluation order
- Short-circuit evaluation
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, 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:
- A single file for the Report, containing parts A, B, and C: ID_lastname_name_report.pdf (65 Points)
- A folder called, Codes, for Part D. The contents of the folder will be as follows:
- A single file for Dart code: ID_lastname_name.dart (5 points)
- A single file for Go code:ID_lastname_name.go (5 points)
- A single file for Javascript code: ID_lastname_name.html (5 points)
- A single file for Python code: ID_lastname_name.py (5 points)
- 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:
- Late submissions will be accepted, with 10 points (out of 100) deduction for each extra day.
- You may use the tutorials available on the Internet as a reference
but do not derive your example from the contents of the tutorials.
If you do so, your programs may be similar to others in the class,
which causes a disciplinary investigation.
- Collaboration on the homework is not allowed.