• TIME TO 2024 UK RANKINGS

  • C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Computer Science courses

Joined
12/6/07
Messages
2
Points
11
Hello everyone!

I am currently studying Mathematics & Economics(combined program) at University of Toronto.

I am not really worried about math/stat preparation since my program requires a lot of math and stat courses.
But, I am not required to take any computer science courses.
(I am actually restricted from taking most of them except the first year courses)

So the courses I am actually allowed to take are these two:

Accelerated Introduction to Computer Science
An accelerated course covering object-oriented topics from CSC108H1 (classes, objects, methods and fields, and program design), as well as all the material of CSC148H1. Suitable for students with a solid programming background in Turing, C, Scheme, or a similar language, who are willing to accept a heavier workload than in CSC108H1 and CSC148H1.
Enriched Introduction to the Theory of Computation
The rigorous application of logic and proof techniques to Computer Science. Propositional and predicate logic; mathematical induction and other basic proof techniques; correctness proofs for iterative and recursive algorithms; recurrence equations and their solutions (including the "Master Theorem"); introduction to automata and formal languages.
This course covers the same topics as CSC236H1, together with selected material from CSC165H1, but at a faster pace, in greater depth and with more rigour, and with more challenging assignments. Greater emphasis will be placed on proofs and theoretical analysis. Certain topics briefly mentioned in CSC165H1 or CSC236H1 may be covered in more detail in this course, and some additional topics may also be covered.
I heard from a friend that they use several different programming languages.
Do you think that these two courses are actually worth taking?
Or should I find another way to learn programming?
 
One has to be clear what is "programming". It is not merely mastering the syntax of C++, or reading an understanding a book like "Java for Dummies".

To excel in software development, you need to think in a richer framework than you code.
It's very unlikely that we will see Turing in banks any time soon, Lisp & Smalltalk have been in monotonic decline for a decade.

But they contain ideas and ways of looking at things that are not to be found in C++, VBA, C# or Java, which at one level are actually pretty similar.

As a quant, or a s/w developer you will be a problem solver. You can't raise your inherent IQ, but you can expand the set of intellectual tools you apply to a problem.

I learned C before you were born, scary, but true. It is even possible that I learned C++ as well, since some undergrads were not born in 1989.

The important term here is the 7 year gap between my C and C++
you will presumably be working in the year 2030 or 2050.

I have no idea what computing techniques will dominate in 2050, but there are a lot of 7 year cycles between now and when you quit the game.

Understanding what is really going on, not just the syntax will allow you to survive changes. I sometimes find myself thinking in terms of lambda functions when programming Excel, it makes me more effective, even though Excel is simpler than that.

Finite state automata are something that most quants have zero idea, which can make them quite valuable in algorithmic trading...

C++ has all sorts of advanced ideas like closures that the quiche languages (C#, Java, J#) struggle to keep up with, but also goes lower to a hardware style level.

So take the tougher courses, and learn C++ yourself. There are only a handful of unis that do this properly, so you can get ahead of the herd.
 
Back
Top