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

Will the course teach good software principles that are often neglected by Python users?

Joined
11/5/18
Messages
303
Points
53
Basically, as someone who has only used Python for data science you get away with abstracting away a lot of stuff with packages at the expense of actually learning the inner workings of Python, and practical skills like scalable code, design, debugging, etc.

(Is this course still even being offered...)
 
Basically, as someone who has only used Python for data science you get away with abstracting away a lot of stuff with packages at the expense of actually learning the inner workings of Python, and practical skills like scalable code, design, debugging, etc.

(Is this course still even being offered...)
This will be a brand-new offering on QN, coming very soon. The details of the course (including syllabus, faq, and pre-register form) are here: Python for Finance with Intro to Data Science

The course teaches Python from the ground up; it takes a very practical approach to learning while instilling good coding habits (grounded in industry norms) along the way.
 
I am assuming we will be prepared for production-level coding in industry after this?

Very interested in this course to up my skills from beginner-intermediate to intermediate-advanced. From what I see on LinkedIn the top buy-side shops likes to hire Quants who are very good programmers, oftentimes majoring in CS and having done software engineering internships, if they are coming in at the undergrad level (like I am).
Yes, the course is quite comprehensive in topics, and as you progress beyond level 1, it has some very practical 'toy' exercises and a case study to solidify your knowledge. There are also documents called 'Tips, Tricks, & Pitfalls' provided with each level, that contain useful pointers of issues that often come up in practice.

There are some additional 'production' topics such as unit testing, design patterns, and code management (i.e. GIT) that are beyond the scope of the course, but may be presented as followup 'mini-modules' in the future (along with other topics).

A 'very good programmer', from my experience, is one who has progressed beyond the 'science' of coding, and has mastered the 'art'. The course gives you the tools, practice, and guidance (i.e. personal code feedback) you need to get well on your way there; but ultimately, practicing and debugging through/reviewing other people's code is paramount.

It's also worth noting that if your goal is to become a good software engineer, versus simply becoming good at Python, then I'd recommend learning C++ first, as there are a lot of important, low level aspects of programming and design that get lost when learning Python first (see FAQ: Python Online Course).

Disclaimer: I am the course originator.
 
I think I just need to be good at Python as someone who is already a quant in an asset management firm. Hopefully we will be able to have access to the mini-modules as well!
 
I would interested in the course if it helps you structure your work better. For me my python notebooks I’ll be all over the place and don’t have good structure. Would be nice to do some data science structures well.
 
I would interested in the course if it helps you structure your work better. For me my python notebooks I’ll be all over the place and don’t have good structure. Would be nice to do some data science structures well.
One of the great things about Python is that it can be used in practice, to some extent, with only limited knowledge of the language. This benefit can also be a major drawback though, as there are many 'superficial' Python coders out there, writing inefficient and unmaintainable code. What was initially a simple script to do some quick data analysis in a notebook, starts to build up, code gets duplicated, and becomes a nightmare to run, extend, and maintain.

The first part of the course focuses on Python as a programming language (using PyCharm). Many of the exercises and project are full Python programs, and there is a strong focus on writing well structured code, similar to the QN C++ courses.

The second part of the course utilizes Anaconda/JupyterLab and focuses on data: Tabular data, data visualization, and a brief high level intro to ML, with some interesting examples/applications.
 
Will the course teach good software principles that are often neglected by Python users?

1. Not so much neglect, more like no one out there (yet) to tell them how. I have several Python books but most are anaemic at the design level IMHO.
2. Universities have their strengths for sure, but in general the concept of writing flexible and maintainable software systems does not seem to be on the radar.
3. Without good decomposition techniques, Python programs run the risk of becoming 'great balls of mud'.
 
I would interested in the course if it helps you structure your work better. For me my python notebooks I’ll be all over the place and don’t have good structure. Would be nice to do some data science structures well.
Is that the same as 'data structure', likes dict, set, matrices, HDF5?
 
Back
Top