What Are the Next Steps to Learn Real Programming?

  • Thread starter Thread starter synkk
  • Start date Start date
  • Tags Tags
    Programming
Click For Summary

Discussion Overview

The discussion centers around the next steps for individuals seeking to transition from basic programming knowledge to more advanced skills, particularly in the context of pursuing a career in financial analysis and modeling. Participants explore various programming languages, learning strategies, and educational paths relevant to this goal.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant expresses a desire to move beyond web development to focus on programming that involves more mathematics, particularly in relation to a future career in financial analysis.
  • Another suggests tackling specific problems, such as simulating Newtonian mechanics, as a way to gain practical programming experience and knowledge.
  • A participant provides an overview of Linux as an operating system and emphasizes the need for additional training to effectively use it for programming.
  • One contributor recommends taking computer science courses alongside a mathematics degree, particularly in algorithms and computer architecture.
  • A mathematics student shares their experience of taking an MIT opencourseware course in Python, suggesting that mastering one language can facilitate learning others.
  • Another participant advises examining mature open-source projects to understand design and implementation, and encourages modifying existing code to gain hands-on experience.
  • It is noted that C++ and Java are commonly used in quantitative finance, along with R and MATLAB for modeling purposes.

Areas of Agreement / Disagreement

Participants present a variety of approaches and recommendations for learning programming, with no clear consensus on the best path forward. Different opinions exist regarding the importance of specific programming languages and educational strategies.

Contextual Notes

Some participants highlight the need for foundational knowledge in algorithms and computer architecture, while others emphasize practical problem-solving and hands-on experience. The discussion reflects a range of assumptions about the prerequisites for effective programming in financial contexts.

Who May Find This Useful

This discussion may be useful for individuals interested in transitioning from basic programming to more advanced applications, particularly those pursuing careers in finance, mathematics, or software development.

synkk
Messages
216
Reaction score
0
How to begin "real" programming

Around a year ago I decided to start learning to program in order to make a little bit of money on the side. I learned javascript, html, css and a little php and python in order to start web development. My friend then designed for me websites, and I built them up to be sold. I made quite a bit of money doing this, and had a lot of fun, but now I want to start to actually make programs, or do some sort of modelling, anything which uses more maths basically (I'm starting a maths degree hopefully in September).

In the future, I really want to go into some sort of financial analyst job (front office type role) - I searched online for the programming languages they use, and most people were saying you need to know how to use excel well, and some other programming languages which I've never heard of. I read online to really learn programming it's best to just install linux (which I did) and just experiment with that. I installed it on my netbook, and I have no idea what to do, or what anything does. I really want to start to learn how to go into modelling/software development, and just learn how to understand programming really, rather than following some guide all the time.

I really don't want to go into web development in the future - and hope I can learn more useful languages to go into my hopeful career. If anyone could recommend what to do next it'd be appreciated, thanks.
 
Physics news on Phys.org
For me the best approach was always to attack some problem and to do combat scouting. For example - simulation of Newton mechanics in some planetary (or much larger) system. Yes, it was done zillion of times, but you will have to choose method, you will have to learn how to implement it, you will have to find the way of visualize the results. Plenty of work to do, and it will leave you with at least a basic working knowledge of the system.
 
Linux is an operating system, like Windows or Unix. The function of an operating system is to manage the various input and output devices of the computer, provide the user with a means to manage the files stored on the computer, and to assist the processor in loading and executing programs. In order to learn how to use Linux, another round of training is required. Pick up a book like Linux for Dummies and start training yourself.

In teaching yourself how to write applications, it will be easier to adapt to writing for certain operating systems. Those operating systems without a graphical user interface are somewhat easier to write programs for. With the graphical systems, you will need to be familiar with a lot of the details of the particular interface, and a specialized development environment which is tailored for programming can eas some of your burden. All in all, initially, a lot of your time is going to be spent learning how to operate your development tools and environment before you get to start writing code in earnest.
 
synkk said:
I'm starting a maths degree hopefully in September

Then take some computer science courses while you're there. Try to get through an algorithms course, and something that deals with computer architecture. The full degree is probably not worth it. In the meantime, do as borek says and find an interesting problem and attack.
 
I am a mathematics student in my final year of undergraduate studies at the University of Alberta, and I myself have taken up programming on the side. Math and compsci go hand in hand in many instances so I thought this to be fruitful.

I decided on taking an MIT opencourseware course (6.00-Python). It is very well done, and if you take the time to go through the whole course, you could benefit from it greatly. My understanding is once you get a strong grasp on a programming language like Python, learning other languages is not very difficult.
 
Get an open source project that is mature in its development and use and take a look at the source code.

Focus on the design of the project, its modules, the connections between them, the basic data definitions, the core API's (interfaces) and look at how extensions are created and executed within the framework of the project.

Do this in conjunction with all the non-domain specific stuff (algorithms, compilers, standard data structures, etc) and you'll be on your way to achieve your goal.

Also try modifying or adding features on your own as soon as you can to see how (painful) rewarding development can be.
 
C++ and Java are the primary languages used in quantitative finance. Some of the other languages used regularly are R and MATLAB (modeling).
 

Similar threads

  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 21 ·
Replies
21
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 43 ·
2
Replies
43
Views
8K
  • · Replies 21 ·
Replies
21
Views
7K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 58 ·
2
Replies
58
Views
5K
Replies
86
Views
3K
  • · Replies 25 ·
Replies
25
Views
1K
  • · Replies 1 ·
Replies
1
Views
3K