Giter Club home page Giter Club logo

hellofoss-21-contributiveprogramming's Introduction

helloFOSS-21-ContributiveProgramming

Hello There! This project is a part of Hello FOSS '21 : The Noble Edition. The repository contains CP problems from various topics based on the theme of social good, and our task will be creating solution files for the problems, along with some additional tasks like creating a grader, test-case generators etc which has been discussed later on.

CP! But what's different?

You will be solving problems similar to competitive programming contests, however this time you won't be competing! Instead you can collaborate on problems.

You can:

  • Discuss Approaches
  • Find and resolve bugs in the code provided/ each others' code
  • Write programs to generate new test cases
  • Build an autograder

Guidelines

The topics have been split into 2 sections - Basic and Advanced. The basic section is a great way to get started with CP (in a non-competitive environment!). For the advanced section, you are expected to have a decent understanding of basic data structures and algorithms. However, don't worry if you don't know all the algorithms. You are free to Google stuff or collaborate on problems, as long as the implementation is yours.

The following is the list of topics. Please refer to the READMEs in the individual directories to understand the problem statement and input-output format.

Basic

  1. Binary Search
  2. Sorting
  3. Minimum Stack
  4. Dynamic Programming
  5. Number Theory :

Advanced

  1. Sweep Line Algorithms
  2. Disjoint Set Union
  3. Lowest Common Ancestor
  4. Knuth-Morris-Pratt Algorithm for Pattern Matching
  5. Compression using Huffman Encoding
  6. AVL Trees

Need a challenge? Try implementing Deletion in B-Trees!

Build a grader

You need to build a grader which takes 3 filenames as a command line argument : The solution file(.cpp), the input file(containing the test cases) and the expected output file(output.txt, which has not been provided in the repository).

The grader should be able to run the testcases on the solution file and compare the output with the expected output file. Also, make sure to handle extra whitespaces, as long as the outputs are correct, extra newlines or spaces shouldn't matter. You can code the grader in any programming language that you wish.

Join our Discord server for all related discussions.

hellofoss-21-contributiveprogramming's People

Contributors

aka2910 avatar alakhagr avatar ashwinramachandran2002 avatar captain-harsh avatar govindsaju avatar jashkabra avatar kalp121212 avatar nagendras9 avatar quantumcoder121 avatar safwankdb avatar scimaths avatar shruhh avatar subarnonr avatar thevaliantthird avatar zestyoreo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hellofoss-21-contributiveprogramming's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.