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

Choosing CS courses

Must-have's

  • CS 110

    Votes: 0 0.0%
  • CS 140

    Votes: 0 0.0%
  • CS 144

    Votes: 0 0.0%
  • CS 143

    Votes: 0 0.0%
  • CS 245

    Votes: 0 0.0%
  • CS 244B

    Votes: 0 0.0%
  • CS 149

    Votes: 0 0.0%

  • Total voters
    1
Joined
12/9/12
Messages
21
Points
11
Hi members,

I am grad student in Statistics at Stanford. For now, I am still confused about course selection for programming; so I need advice from those who are in the industry.

My career goal: quantitative jobs that relate to portfolio management and risks hedging.
My preference: I prefer doing mathematics and coding algorithm than digging deep to technical coding such as building system. (I would say I want to be an algorithmic programmer than a developer)

Courses that I will take: A lot of Machine Learning, a lot of optimization, a lot of finance; thus 1 intensive C++.

Courses that I am confused and need advice on:
It would be best if you can group them into must, should, and optional. It is also better if you explain why I need them.

Additional: Also, if you can think of any course that is useful but not in the list, please and please recommend me.

Thank you for your help.
 
Hi members,

I am grad student in Statistics at Stanford. For now, I am still confused about course selection for programming; so I need advice from those who are in the industry.

My career goal: quantitative jobs that relate to portfolio management and risks hedging.
My preference: I prefer doing mathematics and coding algorithm than digging deep to technical coding such as building system. (I would say I want to be an algorithmic programmer than a developer)

Courses that I will take: A lot of Machine Learning, a lot of optimization, a lot of finance; thus 1 intensive C++.

Courses that I am confused and need advice on:
It would be best if you can group them into must, should, and optional. It is also better if you explain whyI need them.


Additional: Also, if you can think of any course that is useful but not in the list, please and please recommend me.

Thank you for your help.

This list seems to be missing some essential old-fashioned stuff

1. Data structures and complexity analysis. (!)
2. Writing and maintaining software systems (real life kick in)
3. Programming.

CS 143 is very 80's.
 
Yeah, I want to go to finance and use computer science as a tool developing than hardware-related coding. I know programming now but I don't know much about the structure of the computer science world.

What would you think about courses like 140, 145, 144 and 149? Do they seem to be useful?

Surprisingly though, 149 requires 143 as prerequisite; that is the main reason I consider 143.
 
I wouldn't say is very 80's but it's not very useful if you want to go into finance (you want to go into finance, right?).
If you want to be a Boost library builder it is useful. People buy compilers, not build them.

And one can use Boost Spirit to build domain specific languages, which is almost the same thing.
 
If you're at Stanford, I'd recommend you strongly consider taking CS106X: http://www.stanford.edu/class/cs106x/
// that is, if you're serious about the "I know programming now" claim (check the prerequisites); the "why" is that this course will make you a better programmer;
 
If you're at Stanford, I'd recommend you strongly consider taking CS106X: http://www.stanford.edu/class/cs106x/
// that is, if you're serious about the "I know programming now" claim (check the prerequisites); the "why" is that this course will make you a better programmer;

I am taking 106B now, 106X is not offered this quarter; I will take CS 107, 110 and 161; those courses above are under the assumption that I would cleared all the prerequisite already (which mostly requires CS 107, 110, and 106B).

R u student here too?
 
Surprisingly though, 149 requires 143 as prerequisite; that is the main reason I consider 143.

This is very tenuous.
 
http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670

This book is the CS equivalent of "What they don't teach you at Harvard Business School".

After having done all these course does it mean you have become a reasonably decent programmer?


I'm not sure how you define a decent programmer; I don't know how to describe my classes that I will take because I haven't take them, but here is the course description:

CS 106B: Programming Abstractions (ENGR 70B)
Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities. Prerequisite: 106A or equivalent.
CS 107:Computer Organization and Systems
Introduction to the fundamental concepts of computer systems. Explores how computer systems execute programs and manipulate data, working from the C programming language down to the microprocessor. Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, elements of code compilation, memory organization and management, and performance evaluation and optimization. Prerequisites: 106B or X, or consent of instructor.
CS 110: Principles of Computer Systems
Principles and practice of engineering of computer software and hardware systems. Topics include: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; security, and encryption; and performance optimizations. Prerequisite: 107.
CS 161: Design and Analysis of Algorithms
Worst and average case analysis. Recurrences and asymptotics. Efficient algorithms for sorting, searching, and selection. Data structures: binary search trees, heaps, hash tables. Algorithm design techniques: divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, randomization. Algorithms for fundamental graph problems: minimum-cost spanning tree, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching.

I am not sure that CS 106B, 107, 110, and 161 make me decent enough, or I need more courses.
(also, courses mentioned in the topic have all of these as prerequisite)
 
It's good to do these courses.

Many kids who are now developers started programming on game/home computers. That's one scenario.

The real programming you learn outside the school bench.
 

Can you explain why this course is important?

Here is its description:

CS 242: Programming Languages

Central concepts in modern programming languages, impact on software development, language design trade-offs, and implementation considerations. Functional, imperative, and object-oriented paradigms. Formal semantic methods and program analysis. Modern type systems, higher order functions and closures, exceptions and continuations. Modularity, object-oriented languages, and concurrency. Runtime support for language features, interoperability, and security issues. Prerequisite: 107, or experience with Lisp, C, and an object-oriented language.

Is it similar to Theory of Language that Dominic mentions in this thread ?
 
Can you explain why this course is important?

Here is its description:

CS 242: Programming Languages

Central concepts in modern programming languages, impact on software development, language design trade-offs, and implementation considerations. Functional, imperative, and object-oriented paradigms. Formal semantic methods and program analysis. Modern type systems, higher order functions and closures, exceptions and continuations. Modularity, object-oriented languages, and concurrency. Runtime support for language features, interoperability, and security issues. Prerequisite: 107, or experience with Lisp, C, and an object-oriented language.

Is it similar to Theory of Language that Dominic mentions in this thread ?
Yeah its the same thing what Dominic has mentioned in other thread. People suggest this course because all the programming languages are build around these concepts.
 
Back
Top