Mathematica is a software package that does much more than mathematics. Through the 20+ year history of the program it has developed from a text-based mathematics equation-solving and plotting program to a full-fledged graphical user interface front-end resting on top of a kernal that is capable of solving an extremely vast breadth and depth of problems in mathematics, phyiscs, engineering, and most other sciences. In fact, if there is a discipline where data is used in any way, Mathematica can be used to present and/or analyze that data in many different ways. Mathematica can even be used in areas where mathematics is not normally discussed. For example, you can input text from a poem or play and do an analysis on the word count, structure and other possibly interesting things. I've seen some neat examples of this kind of analysis and I will post links to them when I find them.
Here is a list of resources for using Mathematica starting from the basics to the more advanced.
Introduction
- http://www.wolfram.com/events/virtual-conference-2011/presentations/ (Showcast and demos of various applications of Mathematica)
- http://www.wolfram.com/broadcast/ (Various introductions and tutorials)
- http://documents.wolfram.com/flash/ (Funny animations explaining some common Mathematica functions)
- http://vimeo.com/user4552113/videos (Great videos for using pure functions, Part and patterns)
- Also see this post What is the best Mathematica tutorial for young people?
Basic advice for people new to Mathematica
Avoid iterative programming using loops like For, use instead functional programming functions Map, MapThread, FoldList ... and pure functions. This makes the code cleaner and faster.
- http://reference.wolfram.com/mathematica/guide/FunctionalProgramming.html
- http://reference.wolfram.com/mathematica/tutorial/PureFunctions.html
The backbone of Mathematica: Rules (more advanced)
- http://www.verbeia.com/mathematica/tips/HTMLLinks/Tricks_Misc_4.html
- What is the distinction between DownValues, UpValues, SubValues, and OwnValues?
Tutorials
- http://www.cs.purdue.edu/homes/ayg/CS590C/www/mathematica/math.html (Basic tutorial)
- http://reference.wolfram.com/mathematica/guide/HowToTopics.html (How to topics of the Mathematica help in web page format)
- http://library.wolfram.com/infocenter/MathSource/5216/ProgrammingFundamentals.pdf (Fundamentals of Mathematica Programming by Richard Gaylord, great tutorial for an overview of the logic behind Mathematica: patterns)
- http://library.wolfram.com/infocenter/MathSource/1847/ (Programming paradigms)
- http://library.wolfram.com/infocenter/Conferences/300/ (Mathematica Tutorial)
- http://bmia.bmt.tue.nl/Software/Downloads/Campus/TrainingMathematicaEnglish.zip
- http://math.sduhsd.net/MathematiClub/tutorials.htm
- http://www.austincc.edu/mmcguff/mathematica/
- http://www.mtholyoke.edu/courses/hnichols/phys303/
- http://www.apam.columbia.edu/courses/ap1601y/ (Introduction to Computational Mathematics and Physics)
- http://ftp.physics.uwa.edu.au/pub/MATH2200/2012/Lectures/ (Applied Mathematics)
http://ftp.physics.uwa.edu.au/pub/MATH2200/2009/Lectures (path for some lectures in pdf) - http://en.wikibooks.org/wiki/Mathematica
- http://stackoverflow.com/questions/4430998/mathematica-what-is-symbolic-programming (What is symbolic programming)
Tips and tricks
- http://stackoverflow.com/questions/4198961/what-is-in-your-mathematica-tool-bag (What is in your Mathematica Toolbag)
- http://www.verbeia.com/mathematica/tips/Tricks.html (Ted Ersek's tricks)
- http://library.wolfram.com/infocenter/MathSource/4557/ (Ted Ersek's tricks as notebook)
- http://web.ift.uib.no/~szhorvat/mmatricks.php (Some tricks)
- http://www.verbeia.com/mathematica/tips/tips.html (Verbeia's tips)
- http://www.nhn.ou.edu/~morrison/Mathematica/ (Tip sheets)
- As pointed out by Mr. Wizard, have a look at the available packages in your install directory for getting new ideas!
- http://library.wolfram.com/conferences/devconf99/lichtblau/ (Data structures and efficient algorithms)
- http://library.wolfram.com/infocenter/Conferences/7005/ (Principles of efficient MM programs, tips for writing fast code)
- http://library.wolfram.com/infocenter/Conferences/320/ (Generally Efficient Numerics Programming in Mathematica)
- http://library.wolfram.com/infocenter/TechNotes/391/ (Packed Arrays)
Tips for writing fast code
- http://www.dbaileyconsultancy.co.uk/m_performance/m_performance.html
- http://stackoverflow.com/questions/4721171/performance-tuning-in-mathematica/4723969#4723969
- http://blog.wolfram.com/2011/12/07/10-tips-for-writing-fast-mathematica-code/
Compile
Advanced evaluation of expressions
- http://library.wolfram.com/conferences/devconf99/villegas/UnevaluatedExpressions.nb (Advanced resource about the evaluation process)
- What are the use cases for different scoping constructs?
- Metaprogramming in Mathematica
- http://stackoverflow.com/q/6633236/884752 (Replace inside Held expression)
- http://home.comcast.net/~djmpark/Mathematica.html (Expression manipulation and some interesting packages)
FAQ
- http://12000.org/my_notes/faq/mma_notes/MMA.htm (FAQ)
- http://stackoverflow.com/questions/tagged/mathematica?sort=faq&pagesize=15 (FAQ on StackOverflow)
- http://mathematica.stackexchange.com/questions?sort=faq (FAQ on this site)
- http://www.mathematica-users.org/webMathematica/wiki/wiki.jsp?pageName=FAQs
- http://library.wolfram.com/conferences/conference98/Lichtblau/SymbolicFAQ.nb (Symbolic FAQ)
Wolfram Websites
- http://education.wolfram.com
- http://blog.wolfram.com
- http://twitter.com/#!/mathematicatip
- http://blog.stephenwolfram.com
- http://www.wolframalpha.com
- http://blog.wolframalpha.com
- http://www.mathematica-journal.com
- http://www.youtube.com/user/WolframResearch#g/a
- http://demonstrations.wolfram.com/
- http://reference.wolfram.com/mathematica/guide/Mathematica.html
- http://library.wolfram.com/infocenter/search/?search_results=1;pages_count;search_item_type=21;search_field_1=conference;search_string_1=Free%20Online%20Seminars (Slides of seminars)
- http://www.wolfram.com/support/learn/
- http://library.wolfram.com/
- http://www.wolfram.com/books/
- http://www.wolfram.com/mathematica/new-in-8/index.html
- http://computerbasedmath.org/
- http://www.wolfram.com/webresources.html (other Mathematica related sites)
Mathematica one liner competition
- http://www.wolfram.com/events/techconf2010/competition.html
- http://www.wolfram.com/events/technology-conference/2011/one-liners.html
Wolfram Technology Conferences
2011
2010
2009
2007
2006
2005
2004
2003
2001
1999
1997
Blogs
- http://mathematicacookbook.com/ (Blog of Mathematica Cookbook by Sal Mangano)
- http://mathematica-bits.blogspot.com/ (Blog of Yaroslav Bulatov dedicated to graph theory)
- http://12000.org (Blog of Nasser M. Abbasi)
- http://blog.matthen.com/ (Various interesting demos by Matt Henderson)
- http://textanddatamining.blogspot.com/ (Blog about data mining in texts)
- http://playingwithmathematica.com/learn-mathematica/ (Links to other learning resources, Blog)
- http://shuisman.com (Blog partly about Mathematica)
- http://mathgis.blogspot.com/ (Lunchtime playground)
- http://mathematics-diary.blogspot.com (Blog of Nilo de Roock)
- http://www.walkingrandomly.com (Blog about scientific programming languages)
Various Other Websites
- http://math.sduhsd.net/MathematiClub/ (Games, various interesting notebooks)
- http://www.mathematica-users.org (Mathematica users wiki)
- http://www.theodoregray.com/BrainRot/ (Conversation with Theodore Gray one of the historical developer of Mathematica)
- http://www.dbaileyconsultancy.co.uk/ (Super Widget Package, can be interesting, but using Dynamic with built-in Mathematica GUI components is now easier)
- http://www.verbeia.com/mathematica/code.html (Various interesting links to other packages)
- http://katlas.org/wiki/Main_Page (Knot Atlas, package available)
- http://www.xact.es/index.html (interesting open source tensor package suite)
- http://www.weber-und-partner.com/resources (Some applications to mathematical finance, package working as an interface to Quantlib)
- http://library.wolfram.com/infocenter/Conferences/8073/ (A formal approach for modeling and simulation)
- http://www.bugman123.com/ (Paul Nylander)
- http://vimeo.com/groups/mathematica/videos (Some cool videos in 3D made with MM)
Calculus
- http://www.wright.edu/~richard.mercer/Calculus/Lab/Download/index.html (Various notebooks about mathematics)
- http://www.ma.iup.edu/projects/CalcDEMma/advmath.html (Some notebooks about mathematics)
- https://sites.google.com/site/calcuplus/ (Introductory calculus course with CDF demos)
- http://library.wolfram.com/infocenter/TechNotes/6111/ (Numerical analysis, code of a lot of common numerical methods)
Forums
MathGroup
- https://groups.google.com/group/comp.soft-sys.math.mathematica
- http://www.mathkb.com/Uwe/Forums.aspx/mathematica/201107/1
- http://forums.wolfram.com/mathgroup/
StackX
- http://stackoverflow.com/questions/tagged/mathematica
- http://mathematica.stackexchange.com
- http://stackexchange.com/filters/27192/mathematica (all questions tagged mathematica on the StackExchange network)
Books
- http://reference.wolfram.com/legacy/v5_2/ (The Mathematica Book, available for free)
- http://www.mathprogramming-intro.org/ (Book by Leonid Shifrin, available for free)
- http://www.wolfram.com/learningcenter/tutorialcollection/ (Lots of extra documentation and examples, available for free)
- Mathematica Navigator
- Mathematica Cookbook
- Mathematica In Action
- The Mathematica GuideBooks
- Mathematica:A Problem-Centered Approach
Package for Preparing Publication-Quality Scientific Figures
- http://scidraw.nd.edu/levelscheme/
- http://home.comcast.net/~djmpark/Mathematica.html
- http://scientificarts.com/worklife/
- http://www.feynarts.de/
http://feynrules.irmp.ucl.ac.be/ (FeynRules) - http://library.wolfram.com/infocenter/Conferences/5782/ (Writing a book)
Interesting (non-free) tools
- http://www.wolfram.com/products/workbench/ (Official Mathematica IDE based on Eclipse, great for projects involving several packages)
- http://www.wolfram.com/products/applications/excel_link/