Solving Exercises#

MCSI wants you to produce formidable work. You should be able to take on any challenge that comes your way, and to do so with confidence. MCSI believes that by providing you with the necessary tools and guidance, you will be able to accomplish great things. MCSI is here to help you grow and develop into the best version of yourself.

How to produce formidable solutions#

The following is an overview of the process we recommend you adopt:

  1. Understand the problem: Carefully read the exercise’s objectives and specifications to ensure a thorough understanding of the problem. If needed, research additional background information to grasp the context of the issue.

  2. Plan your approach: Outline a strategy to tackle the problem, considering alternative solutions and selecting the most suitable one. Consider security, performance, and adaptability during the planning phase.

  3. Develop the solution: Implement your chosen approach, adhering to best practices and focusing on creating a modular, efficient, and scalable design. Test your solution to ensure it meets the exercise’s specifications and objectives.

  4. Evaluate your solution: Assess your solution’s performance, security, and adaptability. Provide performance metrics or benchmarks to demonstrate its effectiveness, and discuss how it addresses potential risks and can be adapted to different environments or scenarios.

  5. Iterate and improve: Based on your evaluation, identify areas for improvement, and refine your solution as needed. Continuously strive to enhance its quality and overall impact.

  6. Document your work: Write clear, concise documentation that explains your solution, its components, and how they interact. Ensure your documentation is easy to understand for both technical and non-technical audiences.

Step 1 - Research, Understand and Plan (RUP)#

As a student, it’s important to avoid diving into an exercise before fully comprehending it and devising a plan. To ensure success, take the time to thoroughly understand the task at hand and create a detailed plan for how to approach and solve it. By doing this, you can improve the quality of your work and achieve more efficient and effective results.

In addition to being a practical tool, a plan is also an essential demonstration of your comprehension of the exercise and the ultimate goal(s) you have been assigned. A well-crafted plan provides clarity on the steps needed to achieve your objectives, as well as a roadmap for efficient and effective execution. It shows your commitment to producing high-quality work and your ability to approach problems in a thoughtful and strategic manner. We encourage you to take the time to develop a comprehensive plan before embarking on any exercise, as it will enable you to work more efficiently and confidently towards achieving your goals.

Step 2 - Build a Proof-of-Concept (POC)#

The primary objective of a POC (Proof of Concept) is to enable the process of trial and testing. It is designed to validate your understanding of the exercise, highlight any areas of uncertainty, and facilitate the exploration of potential solutions, even if this requires simplifying complex elements of the problem.

The ultimate goal is to arrive at a comprehensive understanding of the exercise, with every fact solved and functioning appropriately in a test environment. By approaching a POC in this manner, you can effectively identify and address potential issues and produce a solution that meets the objectives of the exercise.

To ensure the most effective outcome, it is highly recommended to engage in brainstorming and evaluation of multiple solutions before conducting testing. During this process, it is important to ask yourself the following question: “Which solution is the easiest, safest, and most efficient to test?” At times, it is tempting to opt for complex solutions; however, this approach may result in unnecessary difficulties and setbacks. By considering simpler and more straightforward solutions, you can increase the likelihood of achieving the desired outcome and save time and resources.

Step 3 - Reflect, Refine and Finalize (RRF)#

“Average students submit a proof-of-concept, but exceptional students submit a finished product.” - Benjamin Mossé

Upon reaching the final stage of producing a finished product, it is crucial to engage in a thorough reflection on the entire process. This reflection should encompass a deep examination of the work completed thus far, with a focus on identifying areas for potential improvement or optimization.

To guide this process, it is recommended to ask yourself questions such as “What solution best meets the needs of the industry?” or “How would this function in a real-world scenario?”. This act of introspection can reveal insights that may prompt a complete rewrite or a refinement of certain elements of the POC. By undertaking this reflection, you can produce a finished product that reflects the highest standard of quality.

Tips for producing high-quality solutions#

Here are our top tips to help you improve your solutions:

  1. Include visual aids: Use diagrams, charts, or other visuals to illustrate complex concepts and make your solution more accessible and engaging.

  2. Showcase innovation: Emphasize any innovative or unique aspects of your solution that set it apart from others. This will make your work stand out in your portfolio.

  3. Reflect on your learning: Write a brief summary of the knowledge and skills you gained through the exercise. This reflection can be included in your portfolio to demonstrate your personal and professional growth.

  4. Adopt a professional tone: Ensure your solution’s presentation is polished and professional, using consistent formatting, proper grammar, and appropriate language.

  5. Include code snippets: Provide well-commented code snippets and examples to demonstrate how your solution works, and to make it easier for others to understand and replicate.

  6. Address edge cases: Consider and address potential edge cases or unusual scenarios in your solution, demonstrating thoroughness and attention to detail.

  7. Show your thought process: Explain your reasoning behind your design choices and how you arrived at your final solution. This demonstrates your critical thinking and problem-solving skills.

  8. Compare your solution to alternatives: Analyze and compare your solution to other possible approaches, discussing the pros and cons of each. This shows a deep understanding of the problem domain.

  9. Optimize for performance: Analyze your solution’s performance and implement optimizations to reduce latency, minimize resource usage, and enhance its overall efficiency.

  10. Include a user guide: Provide a step-by-step user guide explaining how to set up, configure, and use your solution. This helps demonstrate the solution’s usability and practicality.

  11. Focus on user experience (UX): Consider the end-user perspective while developing your solution, ensuring it is user-friendly, accessible, and intuitive.

How to win trophies#

MCSI rewards students with Gold and Platinum trophies to encourage them to produce formidable work. These trophies are a great way to motivate students to do their best and to show off their accomplishments.

MCSI Trophies

How do I win a trophy?

If you wish to obtain a trophy, the most crucial step is to put our instructors’ feedback into practice. Our goal is to assist you and the other students create formidable submissions, and we frequently offer advice and suggestions on how to create work that can win gold and platinum trophies.

Achieving Gold and Platinum Trophies in MCSI Exercises#

Earning Gold and Platinum trophies in MCSI exercises is a testament to your exceptional skills and dedication to excellence in cybersecurity. These higher-tier trophies acknowledge students who have demonstrated outstanding performance and creativity, surpassing the standard expectations set by the exercise. To achieve Gold and Platinum trophies, you need to go beyond merely meeting the exercise’s specifications and objectives; you must demonstrate exceptional understanding, creativity, and problem-solving abilities.

Gold Trophy Requirements:#

To achieve a Gold trophy, your submission must meet the following criteria:

  1. Comprehensive understanding: Exhibit an in-depth understanding of the exercise’s concepts and demonstrate mastery of the topic.

  2. Creativity: Propose innovative solutions or approaches that showcase your ability to think outside the box.

  3. Efficiency: Develop solutions that are not only effective but also optimized for performance and resource utilization.

  4. Clarity and presentation: Your submission must be well-organized, clear, and concise, with a professional presentation style that enhances readability and understanding.

  5. Extra effort: Go above and beyond the exercise’s requirements, showcasing your dedication to producing top-notch work.

Platinum Trophy Requirements#

To achieve a Platinum trophy, your submission must meet the following criteria:

  1. Expert-level understanding: Display a level of understanding that showcases deep expertise in the subject matter, with the ability to tackle complex problems and scenarios.

  2. Originality and innovation: Create truly unique and groundbreaking solutions, demonstrating the ability to challenge conventional wisdom and push the boundaries of what’s possible.

  3. Exceptional problem-solving: Showcase advanced problem-solving skills, with the ability to identify and address potential issues before they arise.

  4. High-quality documentation: Provide detailed, well-structured documentation that not only explains your solution but also offers insights into your thought process and decision-making.

  5. Real-world applicability: Develop solutions that are not just theoretically sound but also practical and applicable in real-world situations, demonstrating your ability to make a significant impact in the cybersecurity field.

By striving to meet the criteria for Gold and Platinum trophies, you’ll not only improve your skills and knowledge but also set yourself apart as a top-performing student with the potential to excel in the cybersecurity industry. Remember, the journey to achieving these higher-tier trophies may be challenging, but it’s an opportunity to push yourself and grow as a professional.

How to reflect on your work#

Reflecting on your work after passing an exercise is a crucial part of the learning process, as it helps you consolidate your understanding and identify areas for improvement. By analyzing the challenges you faced, the strategies you employed, and the solutions you developed, you can gain valuable insights into your strengths and weaknesses. This self-awareness enables you to recognize patterns, avoid making the same mistakes in the future, and develop more effective problem-solving skills. Furthermore, reflection fosters a growth mindset, encouraging you to continuously seek opportunities for personal and professional development. Ultimately, taking the time to reflect on your work after completing an exercise will not only enhance your learning experience but also contribute significantly to your long-term success.

  • How did completing this exercise enhance my understanding of the concepts and skills I have learned?

  • What challenges did I face during this exercise, and how did I overcome them?

  • What did I do well in this exercise, and how can I use these strengths to further develop my skills in cyber security?

  • In what areas did I struggle during this exercise, and what steps can I take to improve in these areas in the future?

  • How can I use what I learned from this exercise to perform similar tasks more efficiently and effectively in the future?

  • What additional skills or knowledge do I need to acquire to better prepare for a career in cyber security?

  • How can the skills and concepts I have learned from this exercise be applied to real-world cyber security scenarios?

  • What was the most valuable lesson or skill I gained from completing this exercise, and how can I use it to further my career in cyber security?

  • How can I continue to develop my skills in cyber security beyond this exercise, and what resources can I utilize to support my growth?

  • How can I use the feedback provided on my work to further enhance my skills and understanding of cyber security?