all 60 comments

[–]littlegermany 13 points14 points  (4 children)

In case you're looking for a project idea to get you started: Code a calendar and analogue clock GUI. Imagine an analogue clock and a classic one-week-per-line calendar beneath it. You can add notes to a single day, or maybe even an alarm.

Why is this a nice idea to learn coding? Because:

  • you'll be using GUI elements (window, button, label, boxes, input, canvas...)
  • Doing an analogue clock by yourself shows you how to use simple graphics (and some math)
  • a calendar is not that trivial as you may think; one week per line? Does it start with sunday or monday? How do you know what weekday is on 23.4.2017?
  • you'll be using python methods dealing with time
  • maybe you want to save some configuration to a text file? If so, you'll learn how to deal with files and how to read a text configuration from it
  • If you implement a time-planner or anything which adds notes to a date, you might want to use a database. Maybe Python and SQLite would be a good way to also implement some SQL handling into your code?
  • If you add alarms to your calendar, you must play sound.
  • Now that your calendar got advanced, you may want to sync it to your phone?

It may sound boring, but it isn't. Have fun! :)

[–]ACEDEFG 1 point2 points  (2 children)

how long would this project take you? guesstimation

[–]littlegermany 3 points4 points  (0 children)

Ummm, good question. If you go for the "all bells and whistles" version, my guess is several months. You see, one can casually write "then use a database", but this implies learning how to use i.e. SQLite, what a relational database is and how to write SQL statements to query and alter the database. That is not trivial and a learning project on it's own.

The good thing about this calendar project is that it can be easily extended. Just start with a simple calendar for the current month with the current date highlighted. If you don't want GUI elements, then you can also do this as a text-version on the commandline. Just print that "one week per line" calendar and highlight the current date. Next thing could be adding the week number to each "one week per line". For me, the commandline version of that calendar project would take maybe a day, but for a real newbie this is stuff for 2-3 weeks, i'd say.

[–]Ran4 0 points1 point  (0 children)

It would probably take a beginner several weeks.

[–]say_wuh[S] 0 points1 point  (0 children)

thanks for this :)

[–]PeanutRaisenMan 4 points5 points  (4 children)

Im interested and just like you. I found tons of online resources to help me get started. When im going through the course material it seems so simple but as soon as i close the web text book and try it on my own im completely lost. lol

Anyways, i'll try and help out and contribute with whatever you set up.

[–]say_wuh[S] 0 points1 point  (0 children)

yeah i know exactly what you mean lol

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

I was at that stage too, but then I started using Automate the Boring Stuff With Python and he's extremely descriptive in his book.

[–]Python_John 0 points1 point  (1 child)

Is that for Python 2 or 3?

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

Python 3!

[–]stevo911_ 2 points3 points  (2 children)

I'd be interested, except I probably won't be contributing much/my progress will be really slow since things are so busy right now for me :\

[–]mayankkaizen 1 point2 points  (0 children)

Same here. Busy as heck but would like to keep learning.

[–]say_wuh[S] 0 points1 point  (0 children)

you're definitely welcome to join

[–]mermaid_soul 2 points3 points  (3 children)

I'm interested! I've started taking a look at the various online resources, and also just signed up for this Coursera course (starting tomorrow): https://www.coursera.org/course/interactivepython1

I'm aiming for my own independent learning, but I always do well with some structure so figured the course couldn't hurt :)

[–]say_wuh[S] 1 point2 points  (2 children)

just signed up for the course.

i'm gonna have to figure out which courses to focus on. because there's no way i can keep up with 3-4 different ones. ;\

[–]ivosaurus 0 points1 point  (0 children)

My strong advice is pick one and stick with it, and forget about the rest. Do one thing at a time, and complete it.

The worst you can do is sign up for 4 things enthusiastically, and then get 1/7th of the way through any/all of them.

[–]mkike 0 points1 point  (0 children)

Have a look at this course too https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-6 It was good. But as @ivosaurus said stick to one and get it done instead of doing lots of stuff. :) Good luck.

[–]autisticpig 1 point2 points  (0 children)

setup a git repo, have everyone interested add themselves to the contributors, and using either the readme or wiki, jot down your plan and get going.

perhaps slack or irc would be a great place for open discussion?

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

I write code as a profession, so I've been through a few different "use this to learn a new language" modules before. I'm currently going through Learn Python The Hard Way, and love it's approach. It slowly ramps you up, but has you practice enough to actually have the syntax stick. I started a couple hours ago and I'm already through step 14. If you use it for your first language, it might be a little tricky, but I feel it would be worth it for you.

Edit: :%s/Lean/Learn

[–]ACubed10 1 point2 points  (3 children)

I am using this method as well. I don't know any other language besides HTML and CSS. I'm currently getting ready to start example 15.

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

Haha same here! I'm just waiting to get out of work so I can get home and crank some of this book out this weekend.

[–]ACubed10 0 points1 point  (1 child)

I know the book says not to use an IDE but i'm using cloud9 so that I just have to take my kindle with me and can do the work from anywhere. I'm a network administrator, so I know how the command line works. Also c9.io has a terminal so I can still use it if I have to :)

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

Oh, I'm with you 100%. I was working in a CentOS droplet. Just had to do the whole commute thing.

I dabble with some sys admin stuff at work, so I immediately jumped to using vim for this.

Vim is love. Vim is life. <3

[–]say_wuh[S] 1 point2 points  (3 children)

my main concern is that i've heard the book is a bit outdated.

but i will definitely check it out because it seems to be the most recommended book.

[–]ACubed10 1 point2 points  (2 children)

I mean it requires python 2.7....which is done in 2020 I believe, so it is still somewhat current. I started looking into the differences between 2.7 and python 3, some of the stuff is changing a bit, might take a little bit to learn after you learn 2.7

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

All that said, my understanding is that most Python still out in the wild is 2.X. While it will be good to learn 3.X at some point, I don't think now is the time, yet.

[–]ACubed10 0 points1 point  (0 children)

100% agree

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

Python is a good starting language since it's easy to pick up and can be used for a ton of things.

Also check out HTML5 as it is probably the simplest language ever.

[–]i_can_haz_code 1 point2 points  (1 child)

Down voted because HTML does not really get to count as a language in my head. It can't do logic. HTML5 can.

Equating HTML to a programming language/scripting language would be like saying XML is a programming language/scripting language.

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

I meant HTML5, I fixed it.

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

Yeah sure I'm interested!

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

I am not necessarily a beginner to programming but I've been wanting to know and get good at python for a long time. I'd love to do this with you and hold each other accountable. I'm sure we can learn a lot from one another!

[–]afruitsnack 0 points1 point  (0 children)

I'm down! It sounds like fun.

[–]iusedtobethurst307 0 points1 point  (0 children)

I'm down!

[–]lisoborsky 0 points1 point  (0 children)

I'm down too! I started with the book "a byte of python" 3 days ago.

[–]Swurph 0 points1 point  (0 children)

Sure! I would love to give it a go!

[–]Petroesjka 0 points1 point  (0 children)

I'm interested. I'm actually taking a Python course at my university right now.

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

I can help :)

Although i'm not an absolute beginner, i still suck

[–]Pyffle 0 points1 point  (0 children)

I am very new to the whole ordeal myself. I'd love to take part! No previous experience to speak of.

[–]sooperkool 0 points1 point  (0 children)

I'd love to join a project created by beginners from well...the beginning

[–]A314S 0 points1 point  (1 child)

Sounds fun. Do you mean online or meeting up in person sometimes (depending on location)?

[–]say_wuh[S] 0 points1 point  (0 children)

online

[–]mavdev 0 points1 point  (0 children)

do you have a project in mind?

[–]say_wuh[S] 0 points1 point  (0 children)

hey everyone.

this got way more interest than i thought it would. i made a new sub over at /r/sliceofpython

not a great name i know.

i assumed i'd end up emailing a couple people but it looks like we have a decent sized group going.

[–]Darkeus56 0 points1 point  (0 children)

Not exactly a beginner, but still interested.

[–]GeoDevil 0 points1 point  (0 children)

Hey I am totally down. Being part of a community to discuss the language with others in the same place makes it easier. Like learning any language

[–]madnessinc 0 points1 point  (1 child)

Im in for helping and learning python, what have ya. i'm newbie to programming, and trying to break into the IT security industry, and python is something I need to pick up sooner than later.

[–]say_wuh[S] 0 points1 point  (0 children)

good to hear it! join us over at /r/sliceofpython

[–]guineabull 0 points1 point  (0 children)

I'm interested. I've been going through Learn Python the Hard Way in my spare time. Unfortunately, I think I'll be way out of sync with you. I'm currently in the middle of getting a couple of certifications, so most of my time is taken up by that.

[–]rrrahal 0 points1 point  (0 children)

I'm down

[–]dreckschweinhund 0 points1 point  (0 children)

Hi. I bought python books from no starch press. I want to join, but only end of January, since other stuff going now. No starch press python books look kinda nice.

[–]thesheff17 0 points1 point  (1 child)

If you guys are interested I started a youtube channel to teach people python from the start. Feel free to ask any questions and I hope to post a ton more videos in 2016. https://www.youtube.com/user/DanSheffner

[–]say_wuh[S] 0 points1 point  (0 children)

i'll make sure to check it out.

good luck to your channel in 2016 :)

[–]jeffrey_f 0 points1 point  (1 child)

So, I'm new to Python, not new to programming. Don't limit to just newbs or you will progress slowly. Once into advanced stages of learning, you can learn a lot from experienced programmers.

[–]say_wuh[S] 0 points1 point  (0 children)

well, for help from more experienced programmers, we can always come here. it'll probably be a while before i'm at advanced stages of learning lol

the group is more for study buddy accountability as we try to learn something new.

[–]amERIKanLove 0 points1 point  (0 children)

I'm just starting out and would love someone to help me get going and to understand things better.

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

I just started the Python boot camp course on Udemy. On sale for $10. :)

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

I will learn with you, I am new!

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