Ask yourself, "Can I intelligently discuss any of the following ideas?"
Architecture
This is a great architecture overview.

Languages
The languages I am focusing on in decreasing order of importance are
- Java
- general-purpose, concurrent, class-based, and object-oriented, and is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere".
- HTML
- Python
- a general-purpose high-level programming language whose design philosophy emphasizes code readability. Python supports multiple programming paradigms, primarily but not limited to object oriented, imperative and, to a lesser extent, functional programming styles. It features a fully dynamic type system and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl. Like other dynamic languages, Python is often used as a scripting language, but is also used in a wide range of non-scripting contexts.
- ActionScript
- used primarily for the development of websites and software targetting the Adobe Flash Player platform, used on Web pages in the form of embedded SWF files. ActionScript 3.0 has a similar syntax to ActionScript 2.0 but a different set of APIs for creating objects.
- C++
- MATLAB
- Matrix Laboratory written in C. Libraries written in Java, ActiveX or .NET can be directly called from MATLAB and many MATLAB libraries (for example XML or SQL support) are implemented as wrappers around Java or ActiveX libraries.
- C#
- Javascript
- Fortran 90
- C
- Mathematica
- Maple
- Practical Symbolic Manipulations