Wednesday, June 22, 2011
MIT - OpenCourseWare
After a long break, I'm back here with a well-known website for college students. Massachusetts Institute of Technology OpenCourseWare. The website is a compilation of MIT Course Materials. It includes nearly all the MIT courses taught. If you need some real-good video lectures about a topic, you can check OCW and have fun!
The reason why I chose this is about algorithms (as the blog name implies). It is really easy to understand the lectures. Actually, it is a good starting point for people with algorithms enthusiasm.
The Introduction to Algorithms course is invaluable with its full content (video-audio lectures, subtitles, assignments, their solutions and exams with solutions). Course topics include sorting, search trees, heaps, hashing, divide-and-conquer, dynamic programming, amortized analysis, graph algorithms, shortest paths, network flow, computational geometry, number-theoretic algorithms, polynomial and matrix calculations, caching, and parallel computing and their analysis.
I definitely advise you to check the lectures, if you are not familiar with the topics. They are very clear and informative.
MIT OCW - Introduction to Algorithms
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/
Tuesday, January 11, 2011
SPOJ - Sphere Online Judge
First of all, an Online Judge is a system that tests your programs with different inputs and checks whether the outputs of your program are true. Online Judges generally used for programming contests, however you can use some of them for practice.
SPOJ is a popular Online Judge System. It has ~90000 registered users, ~8000 problems and you can use ~40 programming languages. You can discuss the algorithms below the problem-texts and in the forum with other members.
I am sure if you are interested in algorithmic problem solving, then you will enjoy it!
Supported Languages:
C++ C++ (g++ 4.0.0-8)
C C (gcc 4.3.2)
PAS Pascal (fpc 2.2.4)
C++ C++ (g++ 4.3.2)
JAVA Java (JavaSE 6)
PYTH Python (python 2.5)
C99 C99 strict (gcc 4.3.2)
PERL Perl (perl 5.12.1)
C# C# (gmcs 2.0.1)
RUBY Ruby (ruby 1.9.0)
HASK Haskell (ghc 6.10.4)
BF Brainf**k (bff 1.0.3.1)
PYTH Python 3 (python 3.1.2)
PAS Pascal (gpc 20070904)
PHP PHP (php 5.2.6)
CAML Ocaml (ocamlopt 3.10.2)
ADA ADA 95 (gnat 4.3.2)
BASH Bash (bash-4.0.37)
LISP Common Lisp (clisp 2.44.1)
LISP Common Lisp (sbcl 1.0.18)
D D (gdc 4.1.3)
LUA Lua (luac 5.1.3)
ASM Assembler (nasm 2.03.01)
SCM Scheme (guile 1.8.5)
JAR JAR (JavaSE 6)
FORT Fortran 95 (gfortran 4.3.2)
GO Go (gc 2010-07-14)
PIKE Pike (pike 7.6.112)
ERL Erlang (erl 5.6.3)
SCAL Scala (scala 2.8.0)
PRLG Prolog (swipl 5.6.58)
WSPC Whitespace (wspace 0.3)
ICON Icon (iconc 9.4.3)
TCL Tcl (tclsh 8.5.3)
F# F# (fsharp 2.0.0)
NICE Nice (nicec 0.9.6)
NEM Nemerle (ncc 0.9.3)
SCM Scheme (stalin 0.11)
ICK Intercal (ick 0.28-4)
ST Smalltalk (gst 3.0.3)
JS JavaScript (rhino 1.7R1-2)
CLOJ Clojure (clojure 1.1.0)
CLPS Clips (clips 6.24)
PERL
44 programming languages.
BTW, you can not use some languages for some problems.
SPOJ - Sphere Online Judgehttp://www.spoj.pl/

