Homework Instruction¶
This programming assignment consists of three integral parts: coding, conducting experiments, and report writing. It’s essential to give each section equal importance to ensure comprehensive understanding and successful completion of the task at hand. Here’s a breakdown of what’s expected for each part:
Coding¶
1. Code Optimization¶
Begin by analyzing the provided code thoroughly.
Identify areas of improvement and potential inefficiencies.
Develop an optimized version that enhances performance while maintaining functionality.
Do not optimize the code blindly. Focus on code blocks that consume the most time and resources.
2. Documentation & Clarity¶
Ensure every function, class, and module is accompanied by concise and clear comments explaining its purpose and functionality.
Any complex logic or algorithms used should have inline comments for better understanding. No need to comment anything that is easy to understand.
It’s not just about writing comments but making the code itself self-explanatory through meaningful variable and function names.
3. Makefile Inclusion¶
Provide a Makefile to streamline the compilation process.
The Makefile should support multiple targets as necessary, allowing for flexibility in compilation and testing.
When optimizations are from compilation flags, make separate targets for each optimization in your Makefile.
Ensure the Makefile is free of errors and can successfully compile the code without issues.
4. Coding Style Consistency¶
Adopt a consistent coding style throughout your work. This includes consistent indentation, naming conventions, and code structure.
If you’re following any particular coding guidelines or standards, ensure you adhere to them strictly.
Consistency aids in readability and maintainability, making it easier for others (and yourself) to review and understand your code in the future.
Note
Remember, well-written code is not just functional, but also clean, readable, and maintainable. Aim for clarity and simplicity wherever possible.