====== ImpactXchange 2024 / Student projects web page ====== The **ImpactXchange** hackathon is an event where the students co-design a green coding hackathon for Malaysian students in one week and test it themselves in the second week. ====== Participation in the course ====== * **Objective**: Design a two-week hackathon/course (Green Coding) to be held for Malaysian students in August 2024, with the following parts. * **Defining** the hackathon challenge * **Designing** the solution for the given challenge * Tools for **developing** the solution * **Measuring** the footprint of the solution * **Assessing** the impact of the solution * Participation onsite in the Linux classroom during the hackathon time or teamwise in zoom (952 720 9283). * Schedule: First-week Mon-Fri planning of the Hackathon, Second-week Mon-Tue testing of the hackathon concept. * Grading will be: Pass/Fail * Evaluation (for the winners): * Teams will be evaluated based on each part (Defining, Designing, Developing, Measuring, Assessing, and actually testing the Hack concept). {{ :ixc2024:impactxchange_figure.jpg?800 |}} ===== Phase 1: Defining the hackathon challenge ===== While defining the hackathon challenge, one should consider how to start the Green Coding Hack in Malaysia and instruct the students to start thinking of the challenge they want to solve using software solutions (Remember Elina's words in KTH that not all challenges are solvable by software). Requirements for the hackathon setup * Topic needs to be linked with **sustainability** and **software development** * Hackathon setup can be a high-level challenge (e.g., select an SDG and design and develop a solution for that), a predefined topic (e.g., Focus on SDG4 and education solutions in a developing countries), or a detailed level (e.g., each team should design and implement a dashboard for the given CSRD data visualization). In this task, you provide a proposal for all three approaches. You should consider the following when giving instructions * What is the group size you allow/prefer * Do you have any specific requirement for the topic a team selects * What do the students have/present when they have selected their topic The outcome of this phase: * Presentation of all 3 approaches: high-level to detailed (what you select in each of those is up to the team) presented as you would present them to the students of your hackathon. * Each team has 15 minutes to present their Hackathon setups. **ImpactXchange material** * [[ixc2024:Setup:start|Material for setting up the hackathon]] ===== Phase 2: Designing the solution for the given challenge ===== For the ImpactXchange hackathon in Finland, we use "Waste management" as an application domain to help identify the necessary technologies. In designing the solution, the technologies are divided into three parts (one per team) * Backend - some cloud environment behind your solution (e.g., Google Cloud), data management activities, ...) * Mobile frontend - selection of technologies that enable the development of mobile frontend for multiple environments * Web frontend - selection of technologies enabling whatever actions you plan for the web interface (e.g., management of the solution) Teams are supposed to * select technologies for the development of the intended features in each part of the implementation * find material/guidelines that help approach each part of the implementation * create guidelines for the hackathon participants to start developing different parts. Outcome: * [[ixc2024:Tech:Backend:start|Guidelines for backend development]] * [[ixc2024:Tech:MFrontend:start|Guidelines for mobile frontend development]] * [[ixc2024:Tech:WFrontend:start|Guidelines for web frontend development]] ===== Phase 3: Tools for developing the challenge ===== The work on this phase is divided in two parts * Search for suitable tools for the development of green code (analysis, development, guidelines) * Application of those tools on various parts of the solution architecture (backend, mobile frontend, web frontend) **What do we need to measure in green solution** * e.g. data transferred between the backend and frontend * ... Tools and frameworks for green code development * e.g. [[ixc2024:tech:tools:Vincit|Vincit planet centric toolkit]] - (short explanation here, more behind the link) * [[ixc2024:tech:tools:GreenPageAnalyzer|Aalto University - Green Page Analyzer]] - * [[ixc2024:tech:tools:GreenFrame|Green Frame]] - open-source solution that allows developers to decarbonize their websites by detecting carbon leaks * [[ixc2024:tech:tools:DigitalBeacon|Digital Beacon]] - compares first and return visit to the websit * [[ixc2024:tech:tools:Globemallow|Globemallow]] - a browser add-on that generates a report on the environmental sustainability of the website and gives advice on how to optimize it * [[ixc2024:tech:tools:WebsiteCarbon|Website Carbon]] - estimates the carbon emissions attributed to a website. * [[ixc2024:tech:tools:GoogleCloudCarbonFootprint|Google Cloud Carbon Footprint]] - Measures, reports, and reduces your cloud carbon emissions * [[ixc2024:tech:tools:EcoGrader|EcoGrader]] - Gives extremely comprehensive analysis of your website * [[ixc2024:tech:tools:Simapro|Simapro]] - Gives science-based sustainability insights,and helps you become informed * [[ixc2024:tech:tools:SonarSource|Sonar Source]] - Helps detect and inform developers of unsustainable coding practices * [[ixc2024:tech:tools:GreenSoftwareFoundation|Green Software Foundation]] - Helps with keeping sustainability in mind during the development process * [[ixc2024:tech:tools:GreenAlgorithms|Green Algorithms]] - Metrics on algorithm footprint * [[ixc2024:tech:tools:Blacklight|Blacklight]] - discovers trackers on a website * [[ixc2024:tech:tools:green-spector|Green Spector]] - measure & analyse environmental impact of Apps * [[ixc2024:tech:tools:emission-impact-dashboard|Emission Impact Dashboard]] - estimate your carbon emissions * [[ixc2024:tech:tools:joular-jx|Joular JX]] - Java-based agent for software power monitoring * [[ixc2024:tech:tools:power-api|Power API]] - set of tools for green computing * [[ixc2024:tech:tools:cloud-carbon-footprint | Cloud Carbon Footprint]] - measure & monitor carbon emissions * [[ixc2024:tech:tools:sonar-qube | Sonar Qube]] - tool to ensure good code quality * [[ixc2024:tech:tools:Containerization]] - Containerization promotes sustainability by enhancing resource utilization * [[ixc2024:tech:tools:eco-2-ai| Eco2AI]] - python library for CO2 emission tracking * [[ixc2024:tech:tools:carbon-aware-sdk| Carbon Aware SDK]] - toolset to measure carbon emission * [[ixc2024:tech:tools:lighthouse| Lighthouse]] - dev tools tab that offers most of above mentioned analyses * [[ixc2024:tech:tools:webpack| WebPack]] - Code and media minifaction tool ===== Phase 4: Measuring the footprint of the solution ===== Phase 4 aims to answer the questions of **how to evaluate** (in hackathon) **that your part** (backend, mobile, web) **is efficient** (green) and **how to follow these aspects on the development project** (both the team itself and the hackathon evaluators). Focus on approaches that help the team to follow their progress. In order to answer the questions, you need to know * What concrete metrics the team should follow * What is the process for following these metrics The outcome of this phase is guidelines for teams to follow their green progress in the development process. Remember Patricia Lago's words "unless we plan and design for sustainability, we won't get it. It just do not happen without proper planning" ===== Phase 5: Assessing the impact of the solution ===== Assessing the impact of the proposed solution aims to evaluate how the proposed solution changes/impacts the given challenge, i.e. we are thinking of the handprints of the software solution. SUSAF - Sustainability Awareness Framework is one possible approach to find possible impacts, but there are also others that can be used. [[ixc2024:ImpactAssessment|Guidelines for assessing the impacts of the solution]] ====== Phase 6: Running the ImpactXchange hackathon in Malaysia ====== In this phase, the teams propose a model for running the ImpactXchange hackathon in Malaysia. In Malaysia, we have two weeks to run the hackathon, from innovation to solutions and their assessment. * [[ixc2024:Hackmodel:Backendteam|Backend team]] * [[ixc2024:Hackmodel:Webfrontendteam|Web frontend team]] * [[ixc2024:Hackmodel:Mobilefrontendteam|Mobile frontend team]] ====== Phase 7: Finalizing the ImpactXchange hack ====== Presenting our hack results (to be evaluated) through the following template * {{ :ixc2024:template_for_impactxchange_presentation.pptx |Correct template for final presentation}} For those who are selected to run the hackathon in Malaysia in August the following documents need to be filled and accepted BEFORE our trip: * {{ :ixc2024:lisätietolomake_further_information_form.pdf |personal information document}} * {{ :ixc2024:matka-apurahahakemuspohja_2023.pdf |grant application form}} You need to arrange your travel, and we propose doing it as soon as possible so that the prices won't go up. The travel grant for flights is limited by the funder (around 1000e).The accommodation and food in Malaysia is covered by the project. After the trip you need to make a travel bill with the following document * {{ :ixc2024:matka-ja_kululaskulomake_2024.pdf |travel bill}} Visa requirements to Malaysia [[https://www.imi.gov.my/index.php/en/main-services/visa/visa-requirement-by-country/]] ====== Groups and their TEAM WikiPages ====== ^ Group ^ Application ^ Name 1 ^ Name 2 ^ Name 3 ^ Name 4 ^ Name 5 ^ Name 6 ^ Name | [[ixc2024:TEAM_1:start|The Winners]] | | Aleksa Stanivuk | Salsabeel Tantoush | Ruben Huygens | | | | | [[ixc2024:TEAM_2:start|The Mentors]] | | Arshia Saleem | Kiran Singh Saud | Muhammad Sharjeel Maqsood | | | | | [[ixc2024:TEAM_3:start|The Real Winners]] | | Jacob White | Hiba Bouhlal | Mbanyick B Joof | | | | \\ Add more table lines if those are needed for additional teams! \\