Intern Engage is a program for engineering students across India graduating in 2024. It is designed to provide a platform for engineering students to accelerate their growth and foster industry-relevant skills through mentorship, coding challenges, workshops and networking opportunities.
What's in it for me?
Intern Engage offers multiple engagement and evaluation touchpoints where participants will interact with Microsoft mentors, leaders, interns throughout the course of the program.
Based on consistency and performance during the program, participants will be offered the opportunity to interview and intern with Microsoft India.
- Students graduating in 2024 enrolled in a full-time engineering program Bachelors, Masters, Integrated Dual Degree & related degrees
- 6 CGPA and above
Registration closed. Applications under screening. Next steps will be shared with the applicants via email.
Choose any one challenge from the three (3) options given below. You could choose to develop a browser-based web application or a native mobile application.
You are free to use any technology, framework, programming language(s), database(s), and cloud platform of your choice.
Develop a browser-based application or a native mobile application to demonstrate application of Face Recognition technology.
You could choose to demonstrate application of Face Recognition in any area of application of your choice, for example:
- Preventing crime
- Device security
- Smarter advertising
- Finding mission people or lost pets
- Diagnose diseases
- Tracking attendance
- Facilitate secure transactions
You are free to choose any Face API you are comfortable with.
Develop an application to demonstrate how the Automotive Industry could harness data to take informed decisions.
You could choose to use the data set provided, or use any open-source data set available you might have access to, or create your own.
- Download sample Dataset
- Demonstrate the use of data analytics in identifying:
- Customer segments, Most popular car specification combination (engine type, fuel, mileage, etc), Right time to launch a new car, etc
- Any other queries you can think of
Demonstrate through your app the different kinds of algorithms that a web-streaming app (like Netflix) or an audio-streaming app (like Spotify) may use for their Recommendation Engine.
Focus on any algorithm that you choose to highlight, for example:
- Demonstrate what kind of role would a sorting algorithm play in a Recommendation Engine?
- What is the most efficient sorting algorithm to use in this scenario, and why?
- Demonstrate what kind of role would a search algorithm play in a Recommendation Engine? Which search algorithm does your app use, and why?
- Any other algorithm that you can think of.
This is how we roll!
WHAT DO I NEED TO SUBMIT?
(During Submission phase)
The submission phase of the competition begins on May 27, 2022.
- Demonstrate how your product works.
- Video should not exceed 4 minutes in length.
- You would be required to upload the video to your favorite video-sharing platform and share the link with us.
A panel of Judges will grade each criteria with a score of 1 - 10. Take each criteria seriously.
Programs with similar feature set will be grouped under corresponding categories and may be measured for performance wherever applicable. The telmetry may include metrics such as:
- Execution Time
- Memory Consumption
- Program Size
- CPU Utilization
- Cycle Time
- Application Response Time
- Database Throughput
- Database Response Time
- HTTP Response Time
- HTTP Error Rate (%)
- AVG. Throughput (rpm)
- AVG. Memory (mb)
- AVG. Interaction Time (ms)
- Any other applicable metrics
Your source code may be evaluated for coding best practices. These are some of the parameters the panel of Judges may consider during code review:
Comments and Documentation: Perhaps one of the first things you learn as a developer is to comment your code. At first it may seem like a waste of time, following the mentality of ‘If they are a developer too – they can understand it’. While it is true some of the time, commenting your code and providing proper documentation will guide the other developers through the algorithm and logic that you implemented. But don’t get carried away and comment every line of code! Obvious code should be left as is.
Use consistent indentation: There is no right or wrong indentation that everyone should follow. The best style, is a consistent style. Once you start competing in large projects you’ll immediately understand the importance of consistent code styling.
Follow the DRY Principle: DRY stands for “Don’t Repeat Yourself. The same piece of code should not be repeated over and over again.
Code Grouping: More often than not, certain tasks require a few lines of code. It is a good idea to keep these tasks within separate blocks of code, with some spaces between them.
Avoid Deep Nesting: Too many levels of nesting can make code harder to read and follow.
Limit line length: Long lines are hard to read. It is a good practice to avoid writing horizontally long lines of code.
File and folder structure: You should avoid writing all of your code in one of 1-2 files. That won’t break your app but it would be a nightmare to read, debug and maintain your application later. Keeping a clean folder structure will make the code a lot more readable and maintainable.
Naming conventions: Use of proper naming conventions is a well known best practice. Is a very common issue where developers use variables like X1, Y1 and forget to replace them with meaningful ones, causing confusion and making the code less readable.
Keep the code simple: The code should always be simple. Complicated logic for achieving simple tasks is something you want to avoid as the logic one programmer implemented a requirement may not make perfect sense to another. So, always keep the code as simple as possible.
CI/CD & TDD: Adopt Continous Integration/Continous Delivery and a Test Driven Development approach.
CI/CD was created for agile development. It organizes development into functional user stories. These user stories are put into smaller groups of work, sprints. The idea of continuous integration is to find issues quickly, giving each developer feedback on their work and TDD evaluates that work quickly. With TDD, you build the test and then develop functionality until the code passes the test. Each time, when you make new addition to the code, its test can be added to the suite of tests that are run when you build the integrated work. This ensures that new additions don’t break the functioning work that came before them, and developers whose code does in fact “break the build” can be notified quickly.
You will receive points for every functional feature you create.
You will not receive any points for a feature that is just representational and does not work.
The Judges may use the following parameters as a guide to evaluate the UI of your prototype:
Accessible: Minimal accessibility requirements have been addressed.
Actionable: It should be clear how to achieve tasks/goals that your app/site/service is designed for; functionality should be clear (it is obvious what to press and what not to, etc.)
Consistent: Consistent: Consistency of information architecture (IA), visual and interaction design throughout the site/app/service. Your app/site/service should have a clear navigation, understandable labelling, well-defined iconography, orientation within the app/service/site is clear, links and CTAs (Call-To-Action) are obvious, well-labelled and consistently presented.
Cross-Platform: Works well across multiple platforms (unless specifically designed not to be multi-platform).
Flow: Does the user know where to start on the page? Is the path from start to finish clearly defined?
Visual: Your app/site/service should have an aesthetically pleasing visual design.
Your video demo should not exceed more than 4 minutes.
An excellent demonstration should be informative and follow a logical sequence and show how to do something. The Judges may use the following parameters to evaluate your video demonstration:
Oral Introduction: Did you Introduce yourself well? Were you able to capture Judge's attention?
Presentation: Did your Presentation informed the panel of Judges well of the topic being presented? Was your demo easy to follow and understand? Did the Judges find your information accurate and complete?
Creativity: Were you able to convey your topic creatively so Judges would remember your demonstration?
Performance: Did you show good inflection, proper pronunciation, used expression to demonstrate points, appeared conversational and natural? Was your voice loud and clear enough to hear?
Overall Impression: Judge's attention was captured and maintained, demonstration was informative and followed a logical sequence.
You might secure extra points if your product has that unexpected quality or functionality that's able to wow the Panel of Judges.
This could be related to UI/UX or that special feature set you may build.
Workshops & Ask Me Anything Sessions
|Topic||Date||Starts at (IST)||Ends at (IST)||Action|
|Online Test, Phase 1||April 24||10:00 AM||11:59 PM|
|Online Test, Phase 2||April 27||7:00 PM||11:59 PM|
|Kickoff Webinar||May 04||5:00 PM||6:00 PM|
|AMA Session, 1||May 05||2:55 PM||4:00 PM|
|AMA Session, 2||May 09||2:55 PM||4:00 PM|
|Assignment 1||May 09||6:00 PM||May 10, 11:59 PM|
|AMA Session, 3||May 10||4:00 PM||5:00 PM||See Recording|
|AMA Session 4||May 13||3:55 PM||5:00 PM|
|Assignment 2||May 13||5:30 PM||May 14 @ 11:59 PM|
|Tutorial: How to analyse an algorithm (using Merge Sort as an example)||May 16||Watch anytime||Watch anytime||Watch|
|Tutorial: Writing pseudo code (using Merge Sort as an example)||May 16||Watch anytime||Watch anytime||Watch|
|Tutorial: Algorithm Analysis (using Merge Sort as an example)||May 16||Watch anytime||Watch anytime||Watch|
|Tutorial: Guiding Principles for Analysis of Algorithms||May 18||Watch anytime||Watch anytime||Watch|
|Tutorial: Overview of QuickSort Algorithm||May 18||Watch anytime||Watch anytime||Watch|
|Tutorial: Partitioning around a Pivot||May 18||Watch anytime||Watch anytime||Watch|
|Tutorial: Correctness of Quicksort||May 18||Watch anytime||Watch anytime||Watch|
|Tutorial: Choosing a Good Pivot||May 18||Watch anytime||Watch anytime||Watch|
|Assignment 3||May 17||10:00 AM||May 18 @ 11:59 PM||Submit Assignment|
|AMA Session 5||May 18, 2022||5:30 PM||6:30 PM||Join Webinar|
|AMA Session, 6||TBD||4:00 PM||5:00 PM||Join Meeting|
|Assignment 4||TBD||5:00 PM||May 19 @ 11:59 PM||Submit Assignment|
|Assignment 5||May 19||4:00 PM||May 20 @ 11:59 PM||Submit Assignment|
|Workshop on Bayes's Rule & Overfitting Algorithms
+AMA Session 8
|May 23||4:00 PM||5:30 PM||Join Webinar|
|Assignment 6||May 23||5:30 PM||May 24 @ 11:59 PM||Submit Assignment|
|AMA Session, 9||May 24||4:00 PM||5:00 PM||Join Meeting|
|Assignment 7||May 24||5:00 PM||May 25 @ 11:59 PM||Submit Assignment|
|Workshop on Relaxation & Randomness Algorithms
+AMA Session 10
|May 25||4:00 PM||5:30 PM||Join Webinar|
|Assignment 8||May 25||5:30 PM||May 26 @ 11:59 PM||Submit Assignment|
|Final Submission||May 27||09:00 AM||May 29 @ 11:59 PM||Submit Final Project|
TBA - To Be Announced