• 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!

DISCUSSION on second rated MFE programs

Andy, I believe your info and thoughts below deserves a seperate, new thread. I will even adventure to say, make it a sticky!

Maybe a thread titled - best practices in FE education




I feel compelled to share my experience with the Baruch MFE program after reading that.

My MFE education actually started during the summer when we took 4 refresher courses (C++, Linear algebra, Calculus, Probability). C++ refresher is an one month course (2 days a week, 3 hours a day). For people who never program before, there wasn't much of "Hello World" kind of exercise and the pace was fast. By the 3, 4 lecture, we were coding bond pricer, discount cashflow, etc. By the end of the C++ refresher, were were doing things that you would expect to see in the real course. I would suggest people who don't program for a living to really take it up a notch just to keep up with the pace during refresher.

The refreshers start in early June and lasts till late August just before the Fall semester starts. During the math refresher courses, you need to do exercises using the C++ code you build in the C++ refresher to solve it. Think of all the exercises in John Hull book (Black Scholes, option pricers, etc).

The last refresher course is Probability where you got a taste of what is to come in the Fall. The semester I refer here is real semester (16 weeks), not mini-semester.

C++:
I took 4 courses (3 credits each): C++, Numerical method, Financial Instruments, Real Analysis in the first semester. Even though there is officially only 1 dedicated C++ course but all the exercises of the first 3 courses are done in C++. In some case, we did more coding in other courses than in the dedicated C++ class itself. At one time, we had to build and expand our code base till it got around 5000 lines or so to solve all kind of stuff. That was in the Numerical method taught by Prof. Stefanica.

The current students seem to do more than we did in our year. Besides the Mark Joshi book, they also used Aboslute C++ by Walter Savitch, Duffy's book, and the Effective C++ series by Scott Myers.

I also heard that they did a bit of Excel add-in XLL and a bit of VBA so definitely they do expand the material accordingly.

I also had to use C++ in Numerical Method 2 class and Interest Rate class in 2nd and 3rd semester respectively.

So when people look at Baruch program, they only see one C++ course and don't realize how much we do in our program. Not counting the refresher, a Baruch student has to code in C++ in 5 courses throughout the program. I don't know of any program out there that teaches or forces the students to use C++ as much as we do.

Stochastic Calculus:
The first semester would be calculus-based probability. The second semester would be stochastic calculus. Besides the main books we use (Shreve volume I and II), we also use Measure, Integral and Probability by Marek Capinski, Peter E. Kopp, Probability Essentials (Paperback) by Jean Jacod, Philip Protter.

Anyone taking the courses would tell you that the treatment is rigorous and intensive. These two courses are the ones that most people fail or drop out of the program entirely.
Yes. Seriously. I know people have failed or dropped out of these courses. Most happens to part time students who find it extremely difficult to keep up with these demanding courses. I also know of cases where they use their 2-3 weeks of vacation time to stay home and study for this course final exam. If any part time student thinks that they can just walk right in and devote the same amount of time, energy required for this class as a full time student, they are in for a rude awakening. Or they do drop out quickly.

In these courses, passing grade is a cause to throw big parties. Grade inflation is non-existent. It's so hard and demanding that some have nightmares.

I think most student will agree that these 2 probability + stochastic calculus are among the most demanding of all courses. The faculty is of a no nonsense mindset so there is no cut corner there.

Now, in light of what happens elsewhere, I hope you have a sense of what we are going through to earn the reputation of a hard working, serious and rigorous program.
 
Stochastic Calculus:
.. rigorous and intensive...

I think most student will agree that these 2 probability + stochastic calculus are among the most demanding of all courses. The faculty is of a no nonsense mindset so there is no cut corner there.

This is an understament but you will be thankful because you will learn... a lot.
 
An interesting development is that DMK's postings on Wilmott.com have all been deleted.
This was done from his user ID, not by the moderator.

So has he been "leaned on" by his professors ?
 
Too bad. We now lost the inside source of that program. Somebody must have talked to him or Dominic's post on WM did him in.

I think we now know anything there is to know about Fordham program. If some students decide to come back and update us on any new developments, we love to hear from them.

Moving on, here are some corresponds between a prospective student and several Columbia MSOR students. This gives light onto many questions being asked here and around the forums : whether MSOR students can take any FE courses, and what is going on with the placement scene.

MY EMAIL:
Sorry for sending this email from out of the blue, but I was hoping you could answer a few questions for me. I was denied admission into the MSFE program at Columbia but was recommended for the MSOR program. It seems that I can still pursue a career in FE with an MSOR degree by taking FE electives. I wanted to know if it was easy getting into the FE classes or were you always given second priority which meant sometimes the class would get full and you had to take some other classes. Can MSOR students take the same classes as MSFE students or can they only take classes like Introduction to FE and Pricing Models etc. I hope to finish the program in 3 semesters and take some finance classes from the business school. Do you think that MSFE students have an advantage over MSOR students when it comes to job placements or is it a level playing field? Can you please comment on the MSOR program at Columbia. Not much feedback is available on the internet....just FE program stuff is.

Thank you for your help. I understand if you're busy right now with the Spring semester and can't get back to me immediately.


RESPONSE #1
Hi there,
To be honest, the current economic scenario makes it hard to predict the job scenario for FE graduates. The smartest always get jobs. Regarding courses, there are some courses that are marked as specific for FE, but OR students are generally allowed to enroll. For the most part, it does not make a difference which program you do, though the FE program is supposed to carry a ‘brand’ name.
And you can do only one course per semester from the business school, so you can take a max. of 3 b-school courses during the course of your program.


RESPONSE #2
This happens every year....and many people come thinking that OR can manage with fe..SAME WITH ME...and in terms of knowledge u mite fall short of them by a small margin..but when u go to interviews and submit ur resume FE guys are obv. given higher priority unless u hav somethin stronger to show on ur resume..and well the FE guys itself are struggling with the placements..so from OR dont even expect to get a job easily though at the end of the day u mite get one...but interms of knowledge yes you dont have much to lose if ur goin for OR but in terms of placements OR is at a disadv ...
And if ur lukin for placements only try CMU or sumthin bcos there placement is stronger for FE though the faculty and stuff at columbia is amazin...


RESPONSE #3
Hi
You might have got your answers by now I guess. But my 2 cents - You are right about the most part - during fall the FE courses are restricted to FE students. During spring though, you can take FE electives, some of which do give a priority to FEs, but a lot of OR students take these classes too.
Well, my personal view is ,I found it to be a level-playing field for OR and FE as far as jobs are concerned, but you might want to get additional feedback from other people on that.
Hope this answers your questions.
 
While we've been dicussing the Fordham program, I just found out today that another eerily similar program is set to admit its first cohort in Jan 2009 : UCLA Anderson MFE program. (http://mfe.anderson.ucla.edu)

The website looks slick. The brochure is very glossy and nice.

Here are a few things that reminds me of Fordham:

1) No C++ course offered (admission requirement : familiarity with Matlab and SAS)
2) Teach Corp finance and Accounting
MFE 237A - Fundamentals of Corporate Finance and Accounting This course provides students an understanding of the fi nancial statements and tax liabilities of firms.
3) Internship is an integral part of the program :)
MFE 237N - Applied Finance Project Every MFE student will be required to complete an applied quantitative finance project that explores a quantitative finance problem that might be met in practice and involves the development or use of some of the tools developed in the MFE program. Participation requires prior approval of the project by the supervising faculty member.
The Internship/Applied Financial Project is an integral part of the MFE program. Students gain practical experience applying their financial engineering knowledge in a
real-world setting.
4) Full time only
5) 1 year long
6) 50K tuition
7) Housed inside business school
8) 2 co-directors

If this is good, then UCB got some competition in the west coast region. If not, then this is just another attempt by business school to jump into the MFE bandwagon.
 
I wouldn't pass judgement until the program gets in full swing. For all you know, they might be great. You shouldn't form an opinion of a new program so fast.
 
I am just amazed at what tuition is being charged for these brand new programs... I might have a skewed perspective, being used to the Baruch MFE tuition, but still, 50K is more than what either Columbia and NYU are charging...
 
There are lot of interesting information to be found if one does a simple google search

What I found:

The UCLA MFE program has been approved to receive its first cohort in Jan 2003. Something must had happened to cause a 5 years delay.

The following is part of a proposal between UCB and UCLA to create a joint MFE program. UCLA approved this proposal in 10/2001 but UCB did not approve it or something. Maybe this caused the delay. Read the article for full details

From 022802 Joint MFE with UCLA

The program will not require any additional staff. The entire faculties of the finance areas of the Anderson and HaasSchools are interested in and capable of teaching in this program. We are now formulating ways to conduct some of the classes via long-distance learning techniques. We plan to have each of the faculties teach about half of the classes.

FUNDING: We intend that the joint MFE will be self-supporting. Each program review will include a financial assessment and we are prepared to discontinue the program if it is not continuously self-supporting.

The MFE program will share in the overhead costs of the AndersonSchool accrued by the Rosenfeld Library. UCLA will share in the cost of running the Center for Financial Engineering and Risk Management at the HaasSchool as it applies to technical support of the MFE. Facilities for staff and instruction for the MFE program are adequately provided by utilizing existing space. However, we will incur a start-up cost for installing the distance learning equipment in a dedicated classroom that will be used for non-MFE classes as well. Ongoing expenses of the MFE will be completely borne by the student fees collected.

STUDENTS: 30 students initially, growing to steady state of 60 in fourth year.
EMPLOYMENT IMPLICATIONS: The demand for an MFE-type program has grown tremendously over the last few years. Striking evidence is the proliferation of similar programs offered by various departments at leading U.S. universities. There are at least eleven such programs offered by such institutions as the University of Chicago, Columbia University, the University of Southern California, the Claremont Graduate University, and Stanford University. Potential employers from among the world’s top financial firms have shown their interest by providing sponsorships for the Haas program.

UC CAMPUSES AND OTHER CALIFORNIA INSTITUTIONS WITH SIMILAR OFFERINGS: The only UC campus offering an MFE program is the HaasSchool at Berkeley. UCLA has proposed to formalize our current “partnership” relation (in which some of our faculty teach in the program) with this program by offering the MFE jointly. There are a number of programs in the United States that have applied mathematics programs that focus on finance. The MFE differs in its emphasis on a balance between economic/markets theory, financial economics and computational technology. There are other such programs currently offered by such California institutions as University of Southern California and StanfordUniversity.

ANTICIPATED CAMPUS REVIEW AND IMPLEMENTATION DATES:The Haas School received approval to offer the MFE and began the program Spring Quarter 2001 with 50 students. UCLA would like to solicit applications during Fall Quarter 2002 for a class that will enter in the Spring of 2003. They propose to start enrollment at 30 and reach the steady state level of 60 in the fourth year. The Anderson School Faculty approved this proposal at a department meeting held on October 26, 2001, and it is currently under review at the Haas School.
From UCLA Anderson School of Management | The UCLA Anderson Strategy Moving Forward 2007 to 2010 | Priorities
Among promising program innovations are a limited number of MS degrees with clear and attractive market opportunities. The MS in Financial Engineering (MFE) is slated for launch in January 2008, with a minimum of 40 students, growing to a steady state of 60-70 by the entering class of January 2010. Other MS degrees may have potential, provided an academic area within Anderson is interested in championing the degree and is responsive to shared risks and incentives associated with a new degree offering. Anderson funds would seed such a program if deemed viable. However, the program must generate positive cash flow within 3 years to be sustainable.
Advisory boards should be created for all research centers and niche programs (e.g., the MFE).
 

Attachments

  • UCB Joint MFE with UCLA.pdf
    30.5 KB · Views: 45
UCLA is a better known school, but even so it is just so very hard to guarantee internships.
It could be done, but at huge effort. I could imagine an established program working its alumni network effectively, but of course that's not an option here.

The C++ issue at several universities is the intersection of greed, incompetence and internal politics.
Business schools are rarely friends with CompSci departments, and of course don't want to share the money. They thus convince themselves that C++ isn't important (or hilariously "a matter of syntax")
To be fair UCLA does not explicitly say they don't do computers properly, and I've got an enquiry on that front with them.

I don't really care if it is in a Business school, physics dept or in the cafeteria, but I agree that B-schools want to keep the cash so don't always get in the best from their university.

They have a Bloomberg in the library, but no mention of a general facility for finance work.
I do wonder about the fides of a places that spends a paragraph to say they provide internet access as if that's new and cool.

The curriculum does seem to suffer from being in a BSchool, with a lot of corporate finance stuff. There is good money to be made in CF of course, but I don't see it as quant.

I fret a little about the use of binomial trees. To be sure they are on the CQF, but only so that one may sneer at them. BTs are used only as a teaching aid, not recommended as a solution.
But they might argue with that.

I'm not bidding to be the director of a MFE program, but if I were, I'd top up with stuff that banks wanted. Indeed the Wilmott CQF now has >50 hours of me doing just that, and one keeps finding more.

Actually that's an important issue for any finance programme, when Paul Wilmott started the Oxford MFE, it was one of the first anywhere. Now there are so many MFE programmes that even P&D don't have an exhaustive list, much less a precise evaluation of them all.
It's highly competitive out there.
 
The C++ issue at several universities is the intersection of greed, incompetence and internal politics.
Business schools are rarely friends with CompSci departments, and of course don't want to share the money. They thus convince themselves that C++ isn't important (or hilariously "a matter of syntax")

When I did some comp sci in the eighties ( part time for a light hearted break from medicine ), we used Miranda ( FP of the day in those dark days ), Modula -2 , Occam, Ada and C++. However, the better comp sci schools quite rightly abandoned C++ decades ago.
The students generally use a functional or multiparadigm language in the first year (eg: F#, haskell, ML, Ocaml, Scheme, Oz/Mozart, Erlang, Mercury) For imperative programming, Java has been common for the last decade.

These days, C++ is the fodder of community colleges and service courses in non-compsci degrees. Although it has a valuable niche in real time, finance, graphics and game programming, it is unlikely that any Comp Sci department will want to offer courses in C++

And actually Dominic, the differences between various imperative languages IS largely a matter of syntax, once you have learnt half a dozen of them. The mental readjustments required if you are shifting to a logic programing language or a functional programming language or an aspect oriented programming language are an order of magnitude greater than that required to go from Java to C++ or the other way around. I learnt C++ 20 years ago and do not recall it being significantly harder than learning C. The main differences were idiomatic and pragmatic. Certain programming practices are inefficient in C++.
 
The students generally use a functional or multiparadigm language in the first year (eg: F#, haskell, ML, Ocaml, Scheme, Oz/Mozart, Erlang, Mercury) For imperative programming, Java has been common for the last decade.
I assume you are talking about the present, right?

And actually Dominic, the differences between various imperative languages IS largely a matter of syntax, once you have learnt half a dozen of them. The mental readjustments required if you are shifting to a logic programing language or a functional programming language or an aspect oriented programming language are an order of magnitude greater than that required to go from Java to C++ or the other way around. I learnt C++ 20 years ago and do not recall it being significantly harder than learning C. The main differences were idiomatic and pragmatic. Certain programming practices are inefficient in C++.

It looks like you haven't touched C++ a lot. C++ in their latest incarnation and used to the fullest is very very different from Java or C. You can always do the transition at the most common level but when you are talking about getting something done fast and reliable, it is not that simple. This is definitely a discussion for other thread though.

BTW, I totally agree with Dominic. You must be smoking some "good stuff" in order to think that moving code from Matlab, VBA to C++ is just a "matter of syntax".
 
You must be smoking some "good stuff" in order to think that moving code from Matlab, VBA to C++ is just a "matter of syntax".

Moving from C++ to Java is not trivial. However, it is a nonevent compared to porting from C++ to Ocaml, Haskell or Erlang. You obviously have not programmed in a logic or a functional language. Moving code to one of them is an order of magnitude harder than moving code from one imperative language ( eg: C++ ) to another (eg: Java)

For starters, in pure FPs languages like Haskell you lose the ability to even change the values of variables . So you cant index over an array by incrementing a counter or change the contents of a cell in the array. Even worse, many of the data structures and algorithms that those who have only used conventional imperative languages think of as being fundamental, suddenly vanish. Consider how that might impact on your code. You might want to glance at Okasaki's Purely Functional Data Structures to get some idea of how completely the universe changes when you put FP glasses on Amazon.com: Purely Functional Data Structures: Chris Okasaki: Books

Compared to that, Matlab ( inspired by the imperative languages Fortran and Algol ) to C++ (inspired by the imperative langauges BCPL, C, C with Objects and Simula ) is really just a matter of syntax. At the moment, for amusement, I am moving an agent based model from Matlab to Netlogo and RepastJ. And even though the languages are very different, it really is "just a matter of syntax". If I was porting to Goo, Arc or Ocaml, I am afraid that it would not be "just a matter of syntax"
 
I assume you are talking about the present, right?

Yes. And the point I am making is that just as you would not get the faculty at your local MBA school to teach you roman history or phrenology, Comp Sci department are not the partners to turn to for C++ tutoring. For your C++ tutoring needs, you should contact people like Dominic, Herb Sutter, Bruce Eckell or P.J Plauger, not comp sci departments

From the comp sci perspective, C++ is ancient history. Bjarne produced his first cut at C++ in 1983 and his book was published in 1985. That is 25 years ago, around 7 generations in the comps sci world. Adding STL, RTTI and exceptions to C++ does not make it a modern language. Yes, I know that closures are coming in [FONT=tahoma,arial,sans-serif][SIZE=-1]C++0x, the next version of C++. http://en.wikipedia.org/wiki/C%2B%2B0x Guess what, we have had them for forty years in other languages.[/SIZE][/FONT]

C++ has an extremely valuable role in some niche industries including embedded systems, military weapons fire control systems, graphics, games and financial systems.
Just not in mainstream computer science anymore.
 
Moving from C++ to Java is not trivial. However, it is a nonevent compared to porting from C++ to Ocaml, Haskell or Erlang. You obviously have not programmed in a logic or a functional language. Moving code to one of them is an order of magnitude harder than moving code from one imperative language ( eg: C++ ) to another (eg: Java)

For starters, in pure FPs languages like Haskell you lose the ability to even change the values of variables . So you cant index over an array by incrementing a counter or change the contents of a cell in the array. Even worse, many of the data structures and algorithms that those who have only used conventional imperative languages think of as being fundamental, suddenly vanish. Consider how that might impact on your code. You might want to glance at Okasaki's Purely Functional Data Structures to get some idea of how completely the universe changes when you put FP glasses on Amazon.com: Purely Functional Data Structures: Chris Okasaki: Books

Compared to that, Matlab to C++ is really just a matter of syntax. At the moment, for amusement, I am moving an agent based model from Matlab to Netlogo and RepastJ. And even though the languages are very different, it really is "just a matter of syntax". If I was porting to Goo, Arc or Ocaml, I am afraid that it would not be "just a matter of syntax"

I understand your point now. Compared to a move to functional languages, moving from VBA and Matlab to C++ is just a matter of syntax. I happen to know functional languages and I have gone through Okasaki's book (plus others - If you want to learn OCaml, hit Harrop's book). I do know what it entails to move to functional languages. My experience with logic languages is restricted to Prolog but the thinking it's so "out of left field" that I dont want to comment.

However, I still think that "just a matter of syntax" is not as trivial as you put it in your comment. It's not a radical change of thinking like a switch to functional languages but it is not as simple as "just a matter of syntax". IMO, a comment of "just a matter of syntax" is an oversimplification of what it really takes to move something to C++ from VBA or Matlab (although Matlab can generate C code for you nowadays).
 
I would suggest you to consider the location.
Those schools are all great schools.
Think about when you need to interview for a job or internship, location matters.
When the market is good, location doesn't really matter.
Given the current climate, not many companies are willing to pay you to travel for interview, very often they will consider the local students first.
 
These days, C++ is the fodder of community colleges and service courses in non-compsci degrees

Indeed that is often true, which is why CS degrees are falling into disrepute.

Although it has a valuable niche in real time, finance, graphics and game programming, it is unlikely that any Comp Sci department will want to offer courses in C++
It isn't quite that bad yet, indeed I did Maths/Comp Sci back when it was damned tough to get in, and my old place still does it. Hence I volunteered to help them do their new MFE.

And actually Dominic, the differences between various imperative languages IS largely a matter of syntax, once you have learnt half a dozen of them.
For money I've programmed C/C++, Pascal, Smalltalk, Basic, Fortran, Cobol, Rexx, and a few scripting languages, as well as functional/lispoid languages.

And yes I agree with you, but that was not the assertion, which was that VBA was only different tro C++ by syntax.

The mental readjustments required if you are shifting to a logic programing language or a functional programming language or an aspect oriented programming language are an order of magnitude greater than that required to go from Java to C++ or the other way around.
I think a good ptrogrammer has very little adjustment to make apart from reprogramming his fingers to use [] instead of () for arrays.
from my earlier comments, I believe that one should think in a richer domain than the one you code in. When teaching C++ recently to non-CS types, I had to keep catching myself from using lambda functions as an "explanation", because that would just have sucked up too much time.

I learnt C++ 20 years ago and do not recall it being significantly harder than learning C.
So did I, and the reason of course was that back then C++ was not very different from C.

I think Israel and I part company on whether C++ has a role in undergrad CompSci.
Firstlyof course "embedded systems, military weapons fire control systems, graphics, games and financial systems" are a large % of what programmers do. Also most major applications you might buy are in C++. Also they are the domains that require most understanding of computers, where CS types souhld win, as opposed to GUI design which they typically don't, or the price for their work is diminished by being so competed with.
But I don't see writing bits of Excel 2012 as a valid target for most CS programs :)

However Operating Systems are wholly a domain of C++, and I assert that O/Ses are a critical part of a good CS degree.
 
I wish I could work in those cool newfangled languages but...

Regarding the assertion that comp sci programs shouldn't teach "vocational" languages, but only new things worthy of Serious Study:

There is a massive differential in what languages are seen worthy of serious research and publications and what is actually useful in the job market. It may very well be that functional languages mentioned earlier are the new new thing. And as far as C++, I imagine you would have a tough time writing papers about C++ that would get accepted into journals, since it's been studied so deeply, and it doesn't have things like garbage collectors and direct support for aspect-oriented programming and whatever else that has been so fruitful for academic study.

However, when it comes to actually *doing* things, you have to program in the languages everyone else is coding. At the end of the day, you need to learn a marketable language, and if you look on Dice or whatever other job site you have, the old language are still the ones people are employing in development. The number of industry jobs requiring functional languages - or even those that give you the _opportunity_ to work with functional languages - are much smaller. If your response to this is "CS shouldn't be job training", then what is the alternative? CS as a prelude to further studies in academia? Might as well major in literary critical theory if that's your job path.
 
While the last few posts about C++ are terrific, I have no idea how this thread becomes a C++ thread. We can either rename the thread or move the C++ discussions to another thread :-k

Hopefully we can go back to the original flow of discussion about programs.

So my question is why on earth haven't more MFE programs posted their placement stats.
If a program has a 100% placement rate for internship and jobs, shouldn't they put it in size 20 blinking fonts on their homepage ?
Isn't it one of the biggest selling points of a professional program ?
If I remember correctly, only Baruch, CMU and UCB make the stats public on their websites.

I keep hearing about this top program, that Ivy program has 100% placement rate. If they are way above their competitors, what they have to lose by not putting detailed stats for the prospective students to see.

Instead, what we have at the moment is a state of mass confusion. Prospective students are left to guess or rely on words of mouth about a program. When you are about to put down up to 100K for a master degree, you gotta have absolutely every piece of concrete data that you can find.

OR (putting on conspiracy theorist's hat)

The real stats are not all that good. Schools with not-so-stellar placement records have no incentives to post that up. Schools that live on perception will just not post it on purpose. How else would you explain about top program not publishing their student internship and job stats ?

Dominic, what are your takes ? What do you hear ?
 
Thank you very much luso.

If location is important, then isn't it that Columbia > U Chicago > CMU?

But I have heard several people say that Columbia's master program is not good. Andy also said something about it. (See previous post in this thread)

When thinking about the bad market, should I also consider the school's career service? Will the career service be precious? Or it will not make much difference between schools? I think MSCF@CMU is located in the B-School, and it's career service should be better than those in the engineering or mathematics department?

Any comments or other perspective?
 
Back
Top