Algorithms Tutorial: a starting point for learning computer science algorithms
Register

We are the best invite forum on the internet! Here you will find free invites, free seedboxes, free bonuses, and much more. Our members know the true meaning of sharing and have created a truly global bittorent community! Our site has the most up to date information on all private trackers and our members will guide you and introduce you to this truly secretive and enlightened club. Ready to get started? Register now!


Results 1 to 3 of 3
Like Tree1Likes
  • 1 Post By roamer

Thread: Algorithms Tutorial: a starting point for learning computer science algorithms

  1. #1

    Join Date
    Sep 2011
    Location
    USA!
    Posts
    168

    Default Algorithms Tutorial: a starting point for learning computer science algorithms

    This is meant to be a guide for those wishing to start learning computer science from an algorithms point of view.

    First some motivation. What is an algorithm? In general, an algorithm is an ordered set of instructions needed to complete some task. An example of this can be a set of instructions to (1) Get in your car, (2) drive to stop and shop, (3) purchase eggs, beer, diapers, and milk (note: these are often bought together) (4) drive home. For our purposes, an algorithm is a computational procedure that takes some data as input and produces more data as output. The most classical example of this is given n integers <x_1,x_2,...,x_n>, produce an ordering <x'_1,x'_2,...,x'_n> such that x'_1<=x'_2<=...<=x'_n. This is referred to as sorting a set of n integers and is important for many applications.

    What is the best way to learn algorithms? In general, the best way is to take a course on algorithm. Sure, you can self teach yourself but taking a course allows you to easily ask questions, get feedback, and motivate yourself to do the work. If you do not have access to an algorithms course then read further :D

    (1-Required) First, you must acquire the proper material. In the world of algorithms there is but 1 textbook that is used in the top tier schools. This is Introduction to Algorithms 3rd Edition by Cormen, Leiserson, Rivest, and Stein. It is possibly even to acquire the solutions manual if you look hard enough :D This book can be used as a 1st and 2nd semester textbook in algorithms.

    (2-Required) Choose a language to learn algorithms with. Cormen et al. does a good job in producing pseudo-code that is easily read but, to fully understand how an algorithm works, I suggest that you implement it. You can use a language that is interpreted, but I do not recommend it. Compiled programs will in general, run faster and be more memory efficient and therefore be more valuable in the algorithms community (see 4.1 Interpreted vs. Compiled Languages for some details on compiled vs interpreted). I highly recommend either learning algorithms with Java or C++. Personally, I use Java for almost everything. I find it easier to work with and it has comparable speed and memory efficiency (heh, not really) to C++. If you choose an interpreted language you should use Python.

    (3-Required) Choose an environment to program in. Sure, you can program your code in notepad, but there are many IDE (Integrated Developing Environment) that make the coder's life easier. Depends on the language you choose there are many options. I recommend Eclipse. There are plugins for other languages (including python and C++).

    (4-Optional) Find a respected college's online course. For instance, MIT and Stanford both have a lot of course material online. Make use of it! For example MIT OpenCourseWare | Electrical Engineering and Computer Science | 6.046J Introduction to Algorithms (SMA 5503), Fall 2005 | Home. (MIT uses the Cormen book) Use these! They are free! On a side note, Stanford recently offered free courses in AI and machine learning! They are more than just dumping material online, they actually grade exams and give you a certificate of completion. For more information, visit ai-class.com - Introduction to Artificial Intelligence - Fall 2011 or Machine Learning - Stanford University or Introduction to Databases - Stanford University.

    (5-Required) Either follow the class in (4) or follow the Cormen book. You might need a Java/Python/C++ tutorial before you start programming the algorithms in the book. Program the algorithms that aren't immediately clear to you. Do the exercises! Ask for help! Stackoverflow is a GREAT resource for help with coding.



    If you can successfully retain 75% of what's in the Cormen book then you are WAY ahead of most undergraduate CS students in algorithms. However, this is a very large commitment and it will take a lot of time and effort.

    Hopefully this tutorial was useful to someone. Feel free to PM or reply here with any questions or comments!
    Last edited by roamer; September 16th, 2011 at 06:15 PM. Reason: changed formatting a bit
    vitokaizer likes this.


  2. To remove ads become VIP. Inquire about advertising here.
  3. #2

    Join Date
    Sep 2011
    Location
    USA!
    Posts
    168

    Default

    Maybe this thread would be better served in the software section?

    Not many views in a months time :(

    Would it be possible to move?

  4. #3

    Join Date
    Feb 2011
    Posts
    83

    Default

    thank you :)
    i am studying it at school..we are learning in JAVA

Similar Threads

  1. [Tutorial] rssdler setup + config for rtorrent user
    By Scorpion in forum Seedbox Tutorials
    Replies: 1
    Last Post: August 4th, 2011, 07:40 PM
  2. Replies: 5
    Last Post: September 28th, 2010, 05:49 AM
  3. Rep points for approved suggestions
    By luhar in forum Suggestions
    Replies: 5
    Last Post: July 9th, 2010, 07:35 AM
  4. Replies: 3
    Last Post: May 13th, 2010, 06:01 AM
  5. Alternative start menu for Windows 7
    By Ra.1 in forum Operating Systems
    Replies: 0
    Last Post: April 8th, 2010, 09:20 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •