Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Bas Kuunk
Bas Kuunk
21,308 Points

What track and courses are best for me?

Hi all!

I try to be exact in my question, so thanks in advance for reading this long post!

As many in this community, I'm highly motivated to learn coding as a side-project next to my current job. That means I'm busy and I like to learn as much as possible in the evening hours. The time constraint and wide choice of courses make it hard to choose which track and courses to try, so I'd appreciate some advice from experienced developers who'll know what I want to learn.

What I've learned so far: I finished the Treehouse course 'How to make a website' and several elementary online courses on other sites regarding: HTML, CSS, Javascript JQuery, Wordpress, PHP, Matlab and Python. My knowledge in these languages is quite limited, but I must say I'm a very quick self-sufficient learner. Furthermore, I have a solid foundation in advanced mathematics and machine learning, so learning advanced skills in Python or some other language would be more of a challenge than an obstacle. I have only used Python for image recognition, not for web development, so I'm not informed about its applications in that regard. I already have a domain, an external host server and have Wordpress installed, which I'm thinking I should deinstall.

What I want to make: I want to make a website similar to Pinterest. It'll need to integrate a big database of images and possibly later on: metadata on the images for filter purposes. Furthermore, users may upload their own image to the database. The images will be clustered into classes and the database must be searchable by selecting a certain cluster. Each image may only belong to one cluster and every cluster will contain 50-2000 high-resolution images. I am developing an image processing algorithm in Python to then make suggestions as to which cluster the user's uploaded image may belong. Think about attributing handwritings to be written by a particular person and recognizing this purely image-based, without metadata. If Python would prove to be unsuited to integrate, learning another language is no obstacle to me. When you've selected a class, an image gallery should fill the screen like Pinterest, where you can scroll down and download while scrolling. I seek advice in what languages to spend my time, keeping in mind the two functions: (1) search database by entering a class; and (2) upload an image and get one or more suggestions as to which class the image belongs.

What I don't want: As of yet, I'm not interested in styling and making it beautiful. I want it to be functional and want to experiment with the searchability and implementation of the machine learning algorithm. For the concept of learning, the database can remain small and conceptual so it can be hosted externally. I further want the algorithm to be secure, so others cannot steal my hard work.

What I think I should learn: SQL seems useful for its obvious database applications. I think building on Python is valuable due to its strong and broad applications, especially considering the computationally extremely intense algorithm I'm producing, I'm not sure as to the application of Python to web development and what other languages I'd need, but basic HTML, CSS are never a waste of time. I'm not sure if PHP or Ruby on Rails is useful if you know Python.

Please advise, it's greatly appreciated!

Simon Coates
Simon Coates
28,694 Points

There's a python track and a couple tracks for python frameworks (tracks are at https://teamtreehouse.com/tracks). I think python should be sufficient for purposes - so you probably don't need to do another server side language. Databases are at https://teamtreehouse.com/library/topic:databases/q:Databases, but there's a retired database course at https://teamtreehouse.com/library/database-foundations . The database content at treehouse is a little bit light.

1 Answer

Bas Kuunk
Bas Kuunk
21,308 Points

Thanks Simon! But can Python fully or adequately replace PHP/Ruby on Rails in its functionalities? Or will I also need to cover at least one of those two?

Simon Coates
Simon Coates
28,694 Points

some posts on picking between languages.

https://teamtreehouse.com/community/python-for-web-development: "Python is a very powerful language for web development. It is being used by some of the biggest tech companies in the world and scales very well. It is also a very widely accepted language,...If you are worried about learning Python and not another language, I wouldn't worry too much. Once you learn one of these object-orientated languages, it is fairly easy to pick up the other, and each is as powerful and as useful as the other."

https://teamtreehouse.com/community/php-vs-python-vs-ruby-help "All 3 will do what you want to,"

https://teamtreehouse.com/community/python-vs-php "Generally, it doesn't matter. Pick the language that you're most comfortable with and that has the features you need. With very few exceptions and very minor differences, one language is as good as another."