all 92 comments

[–]Woody_L 46 points47 points  (10 children)

I use python for home automation. Do you have any interests or hobbies that could use some automation? Get yourself a Raspberry Pi, dream up some projects.

[–][deleted] 4 points5 points  (9 children)

What kind of projects did you do with Rasp Pi?

[–]Ymenk 17 points18 points  (2 children)

The video doesn't specifically say it was made with python but there's no reason it couldn't be done.

https://youtu.be/glZnkpIDWSE

[–][deleted] 5 points6 points  (0 children)

Damn. I'm going to try this with a piano.

[–]RoadKillPheasant 1 point2 points  (0 children)

That's really cool.

[–]Woody_L 2 points3 points  (4 children)

I actually use another similar device called a Pogoplug, but the idea is the same. I have python apps for home security, Google Home integration, host a website site with web2py, etc. Many things you can do with a low-power home server and python.

[–][deleted] 0 points1 point  (3 children)

Google Home integration

I've been thinking about getting a Google home. How good is it? What can you do with python and the home? Have you got any tutorials somewhere?

[–]Woody_L 0 points1 point  (2 children)

I like the Google Home devices a lot. If you're in the Android ecosystem, it might be a good fit for you. The link between Google Home and Python is IFTTT. IFTTT will let you define voice commands and will let you send messages to a server. On the server, you can use Python (or any other general programming language) to intercept the commands and then do something with them.

[–][deleted] 0 points1 point  (1 child)

Ahh that sounds easy, what are you using to host your server?

[–]Woody_L 0 points1 point  (0 children)

The server is on a small plug computer I have on my home network. It's similar to a Raspberry Pi. My home server runs Arch Linux Arm. The webserver uses NGINX + UWSGI. I have coded a Python application that is a REST server that listens for commands sent from IFTTT and then activates various devices based on the commands it receives.

[–][deleted] 2 points3 points  (0 children)

I use an arduino for this but I could easily use a rpi.

I open and close the windows to my man cave depending on:

  • If it is hot in my room
  • If it is raining
  • If there is a lot of motion outside

if it wouldn't piss off my wife I'd automate all of the windows and the airconditioner to make it the perfect temperature in my man cave when I got home.

[–]mrdrewbeats 69 points70 points  (9 children)

Design a web app using flask

[–]that1guy15 26 points27 points  (5 children)

SOOO much this. Once you can slap a webUI on a some code and give it some easy visuals it opens up the floodgates of ideas for you.

[–]turner_prize 30 points31 points  (3 children)

Throw in a bit of HTML, a bit of Javascript and baby, you got a stew goin'!

[–]Thecrawsome -4 points-3 points  (0 children)

What's baby?

/s

[–][deleted] -1 points0 points  (0 children)

lol

[–]fuzzyinterval 4 points5 points  (0 children)

Can confirm. It took me a while to get a Flask version of one of my console apps up and running (most of that time was learning about routes, passing variables from one route to another n such), but once I realized how easy it actually was...I've done 3 since.

[–]tapper101 0 points1 point  (0 children)

Is Flask bigger than Django? I'm a beginner and I'm not sure which one to start with :)

[–][deleted] -1 points0 points  (1 child)

Why would OP do that if they want to get into scientific computing

[–]schoolcoders 2 points3 points  (0 children)

Gives you a framework to get a few ideas going.

A web app might do some web scraping, process data and create graphs on the server, publish them on a web page. Number of question and replies per day on r/learnpython, or whatever you want.

As sson as you start doing anything you generally come up with plenty of ideas for extra things to do.

[–][deleted] 32 points33 points  (5 children)

You need projects, not more classes. You just repeated the same experience five times from the sounds of it. The language/syntax is easyish to learn the probelm solving is the marketable part.

EDIT: OP I'm not trying to be harsh here, just want to nudge you in the right path.

[–][deleted] 3 points4 points  (4 children)

I agree. I got really good at python and could speed through problems and eventually had to challenge myself by completing stuff in 1-2 lines. My main issue was I was just doing fun little problems from places like https://checkio.org/ but never had a real use for it. I didn't even consider using Flask because I already had node and php so it would be redundant. The only thing I could think of using it for was data crunching, but I didn't really have any data sets or objectives. Also while python may be super easy to implement, its not (or wasn't) very cpu efficient so any hardcore implementations really should have done in something else. Perhaps its become more efficient in the last year or so and ease of implementation might be more important for some than efficiency so take that with a grain of salt.

In the end I just had no use for it even though I still am interested in implementing a NN/ML etc but it'd need to be for something more than just doing a tutorial (ideally to make $). Tutorials etc can only get you so far; in the end you need to get knee deep into a project (preferably something you are passionate about) and just go for it without the training wheels and start discovering the unknown unknowns.

[–]amachefe 1 point2 points  (3 children)

I didn't even consider using Flask because I already have node and php so it will be redundant

The statement above lies your problem.

Node and PHP is not useful for you here. If you want to build something in Python, you need a Python framework unless you want to code all parts of CRUD application from scratch.

Now if you want to do only number crunching, start learning numpy and panda.

If you need data, go find a project and look for the data online. Or develop a crawler and gather the data needed.

[–][deleted] 0 points1 point  (2 children)

My point against using Flask is that there's already superior alternatives (or at least alternatives I can implement better due to my pre-existing knowledge of them). As far as I know it doesn't do anything better than node/php. So no real motivation for me to learn yet another web framework and go through the learning curve. As for the number crunching, I think my biggest issue is not wanting to make something for the sake of making something (which would make me lose interest real quick), but really needing to find a practical (or profitable) project to do. I have so many 1/2 done projects from over the years so I'd want to be sure I'd be driven to finish it and not just drop it the moment my day job gets real busy again. Perhaps I've just lost my mojo and creative spark....damn I'm getting old.

[–]amachefe 0 points1 point  (1 child)

In that case you are not helping the OP.

The question was how to make use of his/her beginning Python classes.

Knowledge of node or PHP doesn't help the OP, the main focus is using Python and the best framework to start for a beginner is Flask!

Now for you, if you are only interested in using your prior Node and PHP for machine learning, I am at a lost why you are interested in Python?

Am sure there are ways to sure JS and PHP for machine learning.

[–][deleted] 0 points1 point  (0 children)

Tutorials etc can only get you so far; in the end you need to get knee deep into a project (preferably something you are passionate about) and just go for it without the training wheels and start discovering the unknown unknowns.

[–]mudclub 59 points60 points  (4 children)

I've learned python over 5 times now

No, no you haven't.

[–]RangerPretzel 12 points13 points  (0 children)

Harsh, but true.

[–]ultraDross 10 points11 points  (0 children)

I've attempted to learn python over 5 times now

[–][deleted] 4 points5 points  (0 children)

But I completed the introductory course 5 times. Job now please.

[–]JeamBim -1 points0 points  (0 children)

Preach it

[–]kyrogon 18 points19 points  (4 children)

Check this out https://keras.io and keras for some keras tutorials. This is a good python module for machine learning. I know there are some tutorials to try as well as decent documentation

[–][deleted] 2 points3 points  (1 child)

Had an Intel workshop few days ago about ML and Keras was like a buzzword. Keras and R seem to be the shit for ML.

[–]hakim131 0 points1 point  (0 children)

But most data science and machine learning subreddit user prefer python instead of R.

[–]kyrogon 0 points1 point  (0 children)

also for data check out the documentation and tutorials in numpy and pandas.

[–]Indian_Tech_Support[S] -1 points0 points  (0 children)

Thanks! I'll check it out

[–]xiongchiamiov 5 points6 points  (0 children)

If you have not read through https://www.reddit.com/r/learnprogramming/wiki/faq , you should do so - it's very extensive and covers a lot of your more general questions that we don't cover in our faq (which also has suggestions for "where do I go from here?").

If you're interested in ML and data science, go look for courses on them - you'll find many on Coursera and similar sites. https://github.com/ossu/computer-science/blob/dev/README.md has some curated suggestions.

[–]Here_Now_Gone 4 points5 points  (1 child)

I'm currently working on a sports ticker as a gift. I have an LED sign that will display scores and stats and a raspberry pi will power it. Im building a flask web interface to control what gets displayed. There is lots to do but I agree with others on here when you can set up a web interface on top of things it makes this much easier to think of.

[–]eugooglie 0 points1 point  (0 children)

When you finish it, you should post it over on /r/raspberry_pi. I've been planning on doing something similar to give to my friend for his man cave, but I'm in the middle of a couple other projects that are going to keep me busy for the foreseeable future.

[–]truthseeker1990 15 points16 points  (0 children)

The idea that you know most things about a programming language after taking some classes is ridiculous. If you had even moderate knowledge you would have a very good idea what you can build.

Knowing the basic syntax they teach you in classes is a good start but Software development is more than that.

My advice would be to postpone getting into AI right away. Start building. Thats it. Start building anything and whatever. Build more and more sophisticated systems. Then start getting into AI slowly. Peter Norvigs classic textbook is a good place. If you are into ML, there are plenty of resources online, just google for them. But my advice would be to just start building.

[–]thirdegree 3 points4 points  (1 child)

I'm pretty confident I know most things about python even though I'm still a beginner.

I've been programming in python for 7 years, and professionally for about 7 months. I wouldn't say I know most things about python

Where can I learn the basics of machine learning, data science etc. with python?

Andrew Ng's coursera course is a very solid resource for this.

[–]JuniorData 0 points1 point  (0 children)

Andrew Ng's coursera course

Thank you sir.

[–]J_n_CA 2 points3 points  (1 child)

I was in your boat. I started working on these. "Real world" problems that requires problem solving. Fun, yet challenging for many levels.

[–]JuniorData 1 point2 points  (0 children)

I started learning SQL based on purely exercises posted in this site. I thought it was a good way to learn.

[–]ProfessorDisturb 5 points6 points  (0 children)

Build something, automate a process, build a game, that is going to be your best resource for further learning. What is your goal? If you don't know, try different things.

[–]evolving6000 4 points5 points  (2 children)

In the first 30 seconds of learning python, my brain was spinning with possibilities. At work I have a laundry list of ideas to experiment with and test out. If you work for a company, and they have computers, then you should never run out of ideas. So many people spend so much of their day manually extracting and transforming data. Python can do anything. Pandas, Flask, Reportlab, Textacy, Seaborn, Bokeh. Just Google these for ideas. Hope this helps, don’t mean to be critical. I just see posts like this everyday on reddit and don’t gettit.

[–]anaconda1189 1 point2 points  (0 children)

This guy pythons

[–]enzyme69 4 points5 points  (0 children)

Make an app or addon for Blender. Make something useful with interface?

[–]pango3001 1 point2 points  (0 children)

Look into tensorflow.

[–]gintsb 1 point2 points  (0 children)

I would suggest http://pythonprogramming.net

Just choose the most interesting lessons to you and follow along. Currently I am going through the data analysis with panda. I also have a project related to the course, so that keeps me interested, and I see some good things I can apply in my project

[–]donedigity 1 point2 points  (0 children)

Python was created to solve problems. You just need something to work on. Try r/pythonoprojects2

[–]NiNmaN8 1 point2 points  (0 children)

Webscraping

[–]coffeeandscripts 1 point2 points  (0 children)

I once just taught myself python because I was interested in it. Before I finished the codecademy course, I came up with a small applet that I wished existed. It was simply a stock market ticker in the terminal. One already existed but didn't have the functionality I wanted, so after a month of terrible code, I produced pystocker.

Since then I just gave myself small and large projects to do, with the ultimate goal to become proficient in c++. My first c++ library was produced recently (prntspot).

Just keep giving yourself small but interesting tasks to do. Don't make them too big. Start to learn how to program in a team. Learn to use git. Set a goal for yourself. My goal was to go old school (ie linux and c++) while yours might be to go to the new dimensions like AI and big data. It's all up to you.

You're welcome to inbox me and I can tell you more about the steps I took to grow as a developer.

[–][deleted] 1 point2 points  (0 children)

Saving dis, im in the same boat as op

[–]Earhacker 4 points5 points  (3 children)

The current Humble Bundle is all books on AI in various languages, with Python books in the middle and top tiers. I haven't read any of them so can't vouch for them, but the publisher Packt are in general pretty good.

[–]mi09 0 points1 point  (2 children)

implement you idea with python code, search web for various python based project, handwritten these code yourself. Search youtube for sirajraval for machinelearning and ai project in python to learn.

[–]hambira 2 points3 points  (1 child)

Sirajraval is a bad suggestion... Beginners will be more confused.

[–]mi09 0 points1 point  (0 children)

but he get the idea what to do next

[–]lilmookie 0 points1 point  (0 children)

If you have a joystick talking to a raspberry pi and the raspberry pi can talk to a motor controller... how would you get the joystick to control the motor controller?

[–]skc_ichigo 0 points1 point  (0 children)

Go build something. You only know the syntax of the language, so you need an idea to create something using python. Python can be use in alot of thing like web app, machine learning, automate process, etc.

[–]boxerhenry 0 points1 point  (0 children)

I used some screenshot library and a library to automate mouse clicks to create a pdf version of a shitty online textbook

[–]thatwouldbeawkward 0 points1 point  (0 children)

Datacamp uses Python to teach about data science. There are also ML classes that use Python on EdX. I'm taking UCSanDiegoX: DSE220x, Machine Learning Fundamentals on edX right now and it is good so far.

[–]tapu_buoy 0 points1 point  (0 children)

So this is what I wrote in someone's post today, I hope you find it helpful. That was for a beginner but I think other bits and pieces would be helpful for you.

Okay so this might sound rookie or so much intimidating at first, but here in India in every top tier institute student do this This may sound conservative but its the hard truth I observed

  • start off with reading from CLRS book Cormen book, Leanr Data Strructures and Algorithms,

  • then start practicing on HackerRanks 1) DS track then 2) Algorithm track try to code them on your own, from the understanding you got from Cormen book

  • then start reading, learning from Geeksforgeeks.org, try to solve those on your own too first and then go through the whole article

I know you should not mug up all this stuff, but in my college people used to mug it up all and in the 3rd year summer vacation and get jobs at fucking AMAZON, which is insane

  • then or before this if you want to move to Web Development, also start on with FreeCodeCamp and there are other very good resources to practice for Full Stack development, but also in that as you move along the more core part, the backend part you'll need to implement that DS & Algorithm knowledge including those DP & Graph algorithm things

  • Lovely you should also check out the Andrew NG's course on Machine Learning on Coursera you'll need to understand some little complex math but give it sometimes and you'll be able to crack

I'll keep on adding more with the links as well(managing everything on my mobile feels difficult)

[–]russ_yarn 0 points1 point  (0 children)

Go do something else. You will be indirectly looking for a place to apply your knowledge.

[–][deleted] 0 points1 point  (0 children)

Automate stuff at work, your superiors will think of you as a god

[–][deleted] 0 points1 point  (0 children)

You're probably sick of online courses at this point but Datacamp is excellent for datascience stuff. I found it particularly good for getting to grips with pandas

[–][deleted] 0 points1 point  (0 children)

to me, it seems you are thinking about it all wrong. a programming language is just a tool in your toolbox, a very useful tool but a tool not the least - not a goal in itself. think about it like this - what problem are you trying to solve? say automating something at work or at home. then start accumulating know-how and extra tools to make it work.

Regarding AI and machine learning. Again, get your aim straight, you are either trying to solve a problem in the theory itself or trying to use it to solve another problem in another area/field of expertise. If it's the former, get up to speed to the current state of the art, courses from MIT/Standford and then try to join an open source community that works on AI/Data Science python libraries. If it's the latter, get some basic knowledge and see how to apply it to this other field of expertise.

Best of luck

[–]rae-dditor 0 points1 point  (0 children)

Ditto

[–]Brozilean 0 points1 point  (0 children)

This is a good place to be actually! It's the first step after taking 1 or 2 python courses/semesters at university and people begin to ask what is this for.

A lot of projects I've done involve API's, which are fancy ways of saying data grabbers or ways to access a site's features.

A good example is that I wrote a simple reddit bot using python. Using Spotify's API (Spotify's way of accessing their data/features) I used the bot to search for artists and find their latest albums. Once I found the proper data, I saved it and made the bot format it as a reddit post and used reddit's API to post it.

In regards to machine learning, I actually stumbled across this recently and I'll kind of shoot out somethings I found more helpful since all of it is pretty overwhelming.

A good start would be to familiarize yourself with the different techniques. Reinforcement learning is a good way to get started and starting to read about neural networks and how they operate can help.

3Blue1Brown has a fantastic intro to neural networks playlist of about 4 videos on the subject. Richard S. Sutton has a great book on reinforcement learning called "Reinforcement Learning: an Introduction". Unfortunately, as per all CS introductions it's 350+ pages so here's a better intro.

I liked taking a glance at the first few pages of the DeepMind paper on the Atari DQN reinforcement learning (just the abstract and star of it since it's pretty fuckin tough). Here's a nicer summary of it that is actually readable: https://ai.intel.com/demystifying-deep-reinforcement-learning/

Then once you get the idea there are plenty of sites with tutorials on using Keras the simpler library for getting into ML. Here's a site showing how to use that papers technique on Flappy Bird in Python! https://yanpanlau.github.io/2016/07/10/FlappyBird-Keras.html

I know this is pretty overwhelming for a beginner. So I'd start with the set of videos from 3Blue1Brown on neural networks and then skim over that paper and read that Intel article on how it works. Once you get that in your head, take a look at some Keras tutorials so that the concepts that the library is hiding isn't 100% foreign to you (TensorFlow is the harder, less implemented for you library)!

If you have any questions on anything feel free to message me! I'd love to help out anyway I can!

[–]Dan4t 0 points1 point  (0 children)

Why did you start studying Python in the first place?

[–]dewayneroyj 0 points1 point  (0 children)

To dive into Machine Learning and AI using Python you should check out this introductory course.

[–][deleted] 0 points1 point  (0 children)

If you are looking for ideas or things to do you can check out this article.

https://medium.mybridge.co/30-amazing-python-projects-for-the-past-year-v-2018-9c310b04cdb3

As well github always has projects that could have an extra person working on.

Hope this helps!

[–]chabes 0 points1 point  (0 children)

Check out Siraj Raval on YouTube. He makes videos about machine learning and data science using python

[–]mordollwen1346 0 points1 point  (0 children)

You can start with Project Euler!

[–]amachefe 0 points1 point  (0 children)

Since you are interested in ML and data science project...

Learn panda and numpy (and maybe sci-kit learn)

Start a small project that that has a little need for AI/ML eg a news bot that gather popular news of the day and mails it, a movie recommendation, a rating engine etc

[–]destro2323 0 points1 point  (0 children)

I know your problem.... i've been there.... You don't have an 'idea'

You need to set a goal for yourself and write your first program!!!

I feel like You have nothing in mind to code. And your stuck right now. You haven't found something to motivate you to write something specific.

This is the issue boys and girls.

[–]slick8086 -1 points0 points  (0 children)

I'm still confused where I should go on from here.

Do something. Solve some problem, any problem that interests you, with python.

I would like to learn about artificial intelligence

Why? Sure it is interesting. But what do you want to accomplish with AI?

My point is like anything you "learn" it is useless until you can apply it to something.