CodeIT Suisse 2018

Competition is now complete!

Intership URLs

  • Microsite
  • Application form (I believe)
  • Congratulations to making it to this year's CodeIT Suisse Challenge. This page provides all information to get you and your team started.
    Please do find the time to digest everything here - there is a lot!

    Do make a note of the following too:
  • Wear your name badge at all times. This allows for coaches and staff to know who you are.
  • Be open to staff members asking about your code. They should occasionally be reviewing the code you check in to Heroku.
  • Remember that your performance, regardless of end result, can have a positive impact on a future application to the internship program.
  • Don't be afraid to ask questions! We would rather help you than have you twiddle your thumbs.
  • And finally have fun!
  • Prerequisites

    Technology Stack

    Make sure your weapon of choice is supported by Heroku. We only evaluate solutions that are deployed on Heroku - our system will make call backs to your application/server. It may be worth skimming through the challenges before finalizing your choice.

    Reaching Out For Help

    There are staff members around and also coaches assigned to your team. Please do feel free to reach out at any time during the competition.
    If you cannot directly get hold of a member of staff, or rather have a more general question to ask, please ask on the Discord server. Click on me!
    Once logged in to the Discord server, if your username no where resembles your actual name, please PM Dave Ip and correct roles shall be assigned.

    Challenges

    Remember, the team who achieves the maximum total score will win. Your team is expected to solve as many challenges as you can.
    We have different challenges with different maximum scores. Higher scores likely means higher difficulty.
    Most challenges will have multiple test cases/stages with increasing difficulty and increasing points.
    Choose your strategy wisely.
    Challenge Max. Score
    TallyExpense 500
    SkillTree 600
    PrimeSum 200
    Tetris 900
    CustomersAndHotel 600
    Broadcaster 700
    DeepLearning 700
    PhotoGps 300
    AirTrafficController 400
    TwoDinosaurs 700
    SortingGame 700

    Create your application in Heroku

    • Create your project (Sample project templates available here)
    • Execute below commands in the project root directory
      • run "git init"
      • run "heroku login"
      • run "heroku create <your-team-name>" (team name has to be unique in heroku, try a different name if it already exists.)
      • run "heroku access:add [email protected]" (or [email protected] if you are in Singapore)
      • run "git push heroku master" (Note down the url of your app)
    • Open Postman - send post request with input and verify your output.

    Register Team

    Provide the following information when registering your team. Only register your team once.
    • Team name Show us some creativity! But be politically correct :)
    • Url Use the heroku url of your app
    • Members Let us know who you are. After all we need to know whom to give the prizes too :)
    POST /api/teams
                {
                    "name": "Code Monkeys",
                    "url": "http://code-monkeys.herokuapp.com",
                    "members": ["King Kong","Rafiki", "Abu"]
                }
                

    Evaluate Solution

    You can evaluate your solution at any time, as many times as you want, but only one evaluation run per challenge can run at any given time. Maximum score out of all the evaluation runs will be used as your final score of that challenge.
    POST /api/evaluate
    {
        "team": "Code Monkeys",
        "challenge": "MatrixDeterminant"
    }
    
    The response will contain the evaluation runId.
    {
        "runId": "b2df17ca-73e1-42ab-a2cf-0eda141c2200"
    }
    
    You can use this id to query the details of that evaluation run.
    GET /api/evaluation-run/b2df17ca-73e1-42ab-a2cf-0eda141c2200
    
    {
      "runId": "b2df17ca-73e1-42ab-a2cf-0eda141c2200",
      "team": "Code Monkeys",
      "challenge": "Matrix Determinant",
      "status": "COMPLETED",
      "score": 100,
      "message": "Passed: 10. Failed: 0",
      "createdAt": "2017-09-23 13:30:00",
      "completedAt": "2017-09-23 13:30:30"
    }
    

    Leaderboard

    The ranking is based on the total number of scores across all challenges. If multiple teams end up with the same score, we will rank them ascending on completion time. Go to leaderboard

    Questions?

    If you have questions or run into issues, feel free to approach any of the coaches or ping us on Discord.

    Have fun!

    You are more than welcome to share your fun photos experiences over Facebook, Twitter, Instagram, ... #CodeITSuisse