Showing posts with label computer science. Show all posts
Showing posts with label computer science. Show all posts

Sunday, January 15, 2012

Want to become a Codester?

Long time, no post! Well I was busy with some activities lately. Creating a coders group called Codesters being top of it. I with some of my college friends were wondering on how can we give our creative sides a path and goal. How can we connect with Aspiring Coders and Hackers in other colleges in India. So we came up with this idea and formed a group.
We named it Codesters meaning Code Masters. Our main focus will be on taking the love and passion of a computer science lover to next level by sharing our knowledge and coding with each other. And in time if we can have some idea that we think can solve a serious problem, then we will make that project as a full App(also open to business opportunities).  We will be having meetups regularly at Gurgaon, India. Those who can't be present in person can connect through Google+ Hangouts(We love them).

Well, the process of buying domain to forming rules and structure of our group was thrilling. Following are the steps that we went through while forming our group and its website:
  1. We met and discussed what our group will be about and its focus areas. How we can make it interetsing and fun. The first thing which I suggested was that our group will be open and all of its projects will be open-sourced. All agreed. We discussed who we will first approach for memberships - students in colleges and schools.
  2. Then we start discussing about the name of the group. Some conditions were there, like it should not be too long and easily pronounceable. We came up with many names but it should also be available as a top-level domain. We were not getting any right match; a name which can represent our Group and also be available. We set out that none of us(Five of us) will get up until domain name is finalized and registered. After half an hour of heavy discussion, we reached at this name - Codesters. One of us was about to register it on GoDaddy  as he can get heavy discount there. I being read about its actions lately(supporting SOPA in US) was against it. So we registered our domain at BigRock.
  3. We then talked about the memberships and how each member can contribute to us. We laid out the structure of group with two type of memberships:
    • Code-hoppers : These are the students who loves technology and programming. They like talking and discussing about ideas and programming in general. These will recieve our daily dose of some great happenings around the technology areas. 
    • Code-holics: Those who are absolutely mad code and softwares will be this type.They will be asked for more contribution. They will have to be present in meetups most of the time.
  4. We made small website of our group and a membership form on Google Docs. We decides to have all our code on Github and use Trello as a project management between members.
The process was exciting and result which we are satisfied. But its just the beginning. Our version 1 of site is from a HTML5 template from Initializr. Our version 2 is quite ready at our Alpha version page.

Anyone interested in membership Click here

Sunday, December 18, 2011

An introduction to Algorithms and resources to Get Going

Purpose of this Article:

To give a broad knowledge of what are computer algortihms and give helpful resources to anyone who wants to get started.

What are Algorithms:

Algorithms are used for calculation, data processing, and automated reasoning. In simple words an algorithm is a step-by-step procedure for calculations.
Starting from an initial state and initial input (perhaps empty), the instructions describe a computation that, when executed, will proceed through a finite number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input.

Each algorithm has advantages and disadvantages in different situations. Sorting is one place where a lot of research has been done, because computers spend a lot of time sorting lists. Here are five different algorithms that are used in sorting:
If you have a million integer values between 1 and 10 and you need to sort them, the bin sort is the right algorithm to use. If you have a million book titles, the quicksort might be the best algorithm. By knowing the strengths and weaknesses of the different algorithms, you pick the best one for the task at hand.

Expressing Algorithms

Algorithms can be expressed in many kinds of notation, including natural languages, pseudocode, flowcharts, programming languages or control tables (processed by interpreters). Natural language expressions of algorithms tend to be verbose and ambiguous, and are rarely used for complex or technical algorithms. Pseudocode, flowcharts and control tables are structured ways to express algorithms that avoid many of the ambiguities common in natural language statements. Programming languages are primarily intended for expressing algorithms in a form that can be executed by a computer, but are often used as a way to define or document algorithms.

Learning Resources:

Online resources:


Introductory textbooks:



Handbooks:


Other helpful resources to check out:



You may like to read:


Technologies you should know for Web-development