The 100 Days of Code Journey

Greetings all…

For those of you that follow me on Twitter(@MrFresh), you’ve seen daily posts about my progress during this 100 Days of Code challenge. I’ve embarked on my third try at teaching myself how to code in Python. In short, the first was following tutorials on Codecademy, along with a book I bought, back in 2013. The second stint was trying an “Introduction To Computational Programming Using Python” course given by MIT, an online MITx course, commonly known as a MOOC (Massive Open Online Course). The first go around, I spent too much time just doing tutorial section after section. While that was ok, I wasn’t really applying what I was learning. The MOOC was good, but there were so many global students involved with much more programming experience than me, that I kinda felt out of place, found myself spending too much time on the course’s Facebook page, resulting in it being difficult to meet the class assignment due date deadlines..

They say the “third time’s a charm”. I’ve been putting in at least an hour everyday but this time around, I’m using the same book purchased years ago, “Python Crash Course – A Hand’s On, Project Based Introduction To Programming”…AND…building a project as as I learn. The latter is probably the most single important approach one can take when learning how to code. Picking something to build that you (or even someone others) can find useful, allows you to apply even the most minimal knowledge to something concrete. I’m seeing that this approach was the missing part in keeping me interested.

Here are a few other tips you may find useful:

  1. Don’t try to learn everything at one time – find an approach that will allow you to become grounded in the basics, and move forward only when you’re sure you have a grasp of them.
  2. Be mindful to avoid what I call “tutorial purgatory” – spending too much time watching tutorial after tutorial and not taking to write actual code. Try to write your own code similar to the exercises you follow, perhaps even modifying an exercise to add what you’ve learned in other areas.
  3. Find a way to document what you learn, via writing it down in a journal or doing so online (Evernote, One Note, GitHub, etc)
  4. Put in some time studying and writing code everyday – consistent actions end up forming habs.
  5. Take advantage of anyway you can with the coding community available to you – often times those there are willing to help you.
  6. Again, continually write code, even the smallest, simplest programs, with comments in the proper style. Not only will it help you learn coding itself but get you familiar with the code editor and IDE you work in.
  7. Participate in the #100DaysOfCode challenge. It’s one that is beneficial to anyone just starting out through those with vast experience.

The challenge, in and of itself, is often helpful because there are many going through it, as well as just starting, that provide a vibrant, robust community of those willing to help and provide motivation. I’m exactly three weeks in and look forward to putting in the work everyday at this point (even knowing that they’ll be some hard days ahead).

I keep my progress posted on Twitter, as a note page in my Evernote account, and in a small blue notebook. At some point, when I feel that GitHub will be useful for me, I’ll create and maintain my log there, just as many do already. So far, my project is coming along nicely, it’s nothing spectacular, but getting a glimpse of what I know Python can do, there will be lots of room for improving the code as I learn.

Thanks, 

Doug (github.com/dsrlab

References:

  1. 100 Days Of Code Official Website

#100DaysOfCode – Goal Setting (You must crawl before you can walk)

Greetings all….

Some of you know I’ve been participating in the #100DaysOfCode campaign from some of the previous posts on this blog. I’m learning to code in Python, and though this is the third attempt over the last few years, this campaign, as well as a totally different outlook than before, has allowed me to travel further along than the last two attempts. The accountability (if you will) to this Twitter-based campaign has worked well, broadened my network of those striving to do the same, and has provided a good dose of regular motivation. That’s all well and fine, but after 23 days in, and coming across a few articles, I’m realizing what I am missing (which is not specifically campaign related). What missing is the long term goal.

I listened to a podcast two weeks ago that REALLY walked down my street. In short, it’s the story about a current developer who is a little older than me, but the key, common characteristic is age – and how many figure that at a certain age, it’s too late to accomplish certain things. After listening to it, it provided (and still does) great motivation to debunk that attitude. If your interested, you can listen (or read the transcript): I’m 56 and learning to code. Here’s an epic beat-down of my critical inner self.

That said, I’ve decided to step back and provide some answers to some unknown questions. The journey to accomplishment involves sequence that I actually heard a developer talk about in a podcast two weeks ago that really hit hone with me. That led me to the questions in my outline, which look like this:

The Sequence
1. Goal Setting
2. Hard Work
3. Pain
4. Enjoyment
5. Goal Accomplished

The Questions
Q1 – What’s the motivation for me to learn Python (or any other coding language)?
A1 – The mptivation is to learn Python is that its specialty includes scientific computing. I want to be able to apply scientific computing to help solve problems I may have the opportunity to in my career at some point. Secondly it is to master a language that I could use in a career change or consulting scenario. Thirdly, it is to be the base coding language for supporting technical hobbies like Arduino project development

Q2 – What short and long term goals I hope to achieve?
A2a – Short Term: To become proficient enough where I can code programs to solve a variety of problems, contribute to open source projects and develop websites using the Flask frameoork (or similar framework that I finally decide will be most beneficial). To learn to apply the well know scientific computing libraries to help in coding well written programs.

A2b – Long Term: Provide services to those in need, do some form of consulting. Increase regular contributions to open-source projects

Q3 – What methods/activities do I plan to execute to in order to achieve the goals?
A3 –

Q4 – How do I plan to execute self-management (in order to most efficiently use the time available to me) to apply the methods and activities?
A4 –

The third and fourth questions may appear simple to answer but it’s the execution that I really need to make sure is realistic. So, here I am. It’s Saturday night, and I will get to some coding after I publish this, but will take the rest of the weekend to make sure I answer the questions. This really needs to get done, because doing tutorials, learning, and even working on my current coding project is fine, but without a realistic and tangible end in sight, I may not be taking the best approach.

We all want to arrive at the destination, but we want to make it the trip efficient and positive (despite roadblocks, detours, setbacks, etc). I strive to, though I may not always achieve, “work smarter and not harder”

Thanks for the read….

Fresh.

#100daysofcode – Day 16 – Comparative Syntax and my coding project – Python

10:45 pm. It was my plan to continue with the tutorial on Python Conditional Statement Syntax, but instead, I worked on my coding project. The data input code block is ugly, ugly enough that I see what needs to rewritten. It’s really cool posting status and reading other coder status about the #100DaysOfCode challenge we’re all on. Reading them is not only inspirational but motivational. That said, in the end, discipline always trumps both. For those who care to see my status on this journey, my Twitter ID is MrFresh.

It’s three minutes before 11pm on a Sunday night. Weekends are always too short, so they seem. Back to it tomorrow.

Peace,
Fresh

#100DaysOfCode – Day 8 – Strings and things, a “method” to the madness – Python

Greetings…

Here I am…eight straight days into this 100 day code challenge and my understanding and progress is greater than it was the first two attempts of learning. I’ve been through learning a bit of Python syntax, to include strings (multi-strings as well), Boolean values, methods, numbers, and the like. I’ve learned enough to have finally started my personal programming project today. While, it’s just the beginning, I’ll eventually learn how to manipulate the data to be entered and code the right formulas to achieve the simulation results.

As said before, engaging with the Twitter community tweeting their journey with the hashtag in the title of this post, has been quite motivational, as well as helpful.

As most coders, I’m still up, it’s 1:52 am where I am. Not bad as I had eaten, not one but, two steaks, salad, two baked potatoes and desert about 10:30pm and didn’t want to go straight to sleep aftewards. The SpaceX launch of Telstar 19V lifted off at 1:52am EST, so I watched that through first -stage reentry (which was successful) and separation of the spacecraft into GTO. This stuff NEVER gets boring.

For now, it’s finally bed time.

Until next time….peace.

Fresh!

#100DaysOfCode – Day 7: Continuing on Codecademy/Python Crash Course

NP: Infinite: A 1 hour Chill Mix

It’s a been a few days since I’ve posted an update on this coding journey, but I will say this revised approach is netting me better results than the first two times around. So far, I’e completed the syntax portion of Codecademy’s Python course and using the book “Python Crash Course – A Hands On Project Based Introduction to Programming” (PCC for short). The book is a good addition because, even though it’s not a one-for-one follow, it’s providing some additional detail (let’s say a bit more advanced) for the sections that it does align with on Codecademy. For example, Codecademy has already giving a brief over of numbers (integers, float, etc), whereas PCC is just beginning to cover it in the next section after the syntax lessons I’ve just completed there.

The #100DaysOfCode campaign on Twitter is really helpful and encouraging. Seeing where everyone is in their personal journey is not only enlightening, but motivational.

In any event, enough coding for the night (or I should say early morning) – time to catch zzz.

Thanks for the read,
Fresh

#100DaysOfCode – Day 2: Python at Codecademy and A Book

Greetings…

As mentioned in the previous blog post, I’m all set up and currently using my Macbook Air as the coding platform of choice. Right now I’m in Codecademy’s Python for Beginners couse, learning about variables, specifically variable substitution. This will come in handy for one of the project ideas I have (once I get the grasp of variables down). The book I’m referring to is the one I mentioned in my last blog post.

It’s 10:54pm on a Sunday night. I devoured a chicken wrap (one of four I made for lunch this week), and I SHOULD be heading to bed but, instead, acting like an infant that wants to stay up (insert eye rolling here)

I feel I wasted a good graphic on this short post – I’ll have to recycle it, LOL.

Good night.

#100DaysOfCode – Day 1 – 13 Jul 18: Back to Python (again)

[Now Playing: Sleepless Nights – a lo-fi hip hop mix (pt. 4)]

Greetings…
So here we are. About two weeks ago, I came across the following post on Instagram…

This resonates truth to me because there are a few things I have decided to start in life that obviously require constant development to reach certain goals and some of these got an honest start, but fell by the wayside. What happens as a result of this? You look back in frustration knowing how far you could have been by now.

Learning to code in Python is something I first started back in 2015 to strengthen my skill set, for two reasons: 1) I always enjoyed programming (coding) since I took my first college courses in BASIC and FORTRAN IV, back in the day. 3) In 2015, I was unemployed for sometime and thought seriously about a career change. I connected with a developer in a, now defunct, Twitter-like social network call ADN (App Developers Network), around that time, Zeb DeOs. Zeb turned out to be real cool – family man with an intense passion for software development and other things related. He was good enough to engage in some extended email traffic to answer a ton of questions about the many different coding languages, after which I decided that for what I’d like to eventually do, Python would be it.

Anyway, back to this restart. This is my third attempt at learning Python. The first two times were via a structured approach – both times were an MIT MOOC – Introduction to Python for Scientific Computing. Great course and packed with students worldwide with varyng degrees of aptitude BUT with the normal day-to-day ongoings coupled with the fact that i haven’t taken a structured programming course since college, it was kinda tough to hang and get assignments done on time, etc, etc. Directly prior to the first MOOC, I discovered Codecademy, an “online freemium interactive platform that offers free coding classes in 12 different programming languages including Python, Java, JavaScript, Ruby, SQL, and Sass, as well as markup languages HTML and CSS”. I’m back to taking this route, along with using a book called Python Crash Course – A Hands -On, Project-Based Introduction to Programming

This time around I’m not going to let the “pressure” of a structured course driving the learning curve, but, instead I’ve come up with two projects I’d like to code. I won’t say what they are right now, but one has increased complexity over the other Good things these are long term projects that I have something to look forward to After all, the best way to learn coding is to build something.

I’ve got Python 2.7 loaded on my Dell Laptop using Geany as the IDE. On the Macbook, Python 3.7 with the Sublime Text Editor as my IDE (it’s cross platform so I can easily use it with Windows, etc.) I may take a look at freemium course Microsoft has for learning Python, as long as it’s self-paced without the online classroom environment…we’ll see.

That’s it for now…

peace,
Doug

The Journey To Coding Nirvana

WelcomeBackPython

Greetings all,

It’s been awhile since I posted a weblog and this is a return to fulfill a desire to blog more often. Today I decided to write about “restarting”, in this case, it’s about my return to teaching myself how to code.

Like many things, picking up something, learning something out of sheer excitement and desire is often very easy in the beginning. It’s not until you encounter obstacles (of any sort) that you learn just how mnuch you really want to accomplish what it is you’ve set out to achieve. I can directly relate to this from my experience in working out/maintaining a physical fitness regimen. For me, it began with working out in the gym. It came easy and I was able to achieve satisfactory results as long as I maintained a regular habit of doing things. As often happens, life situations may prohibit those habitual activities for a day or two, which may turn into a week, then maybe months, even a year or more. The key is to sometimes force yourself to get back in the saddle and reinstate those habits that were netting you the results you were hopping for.

I draw this direct correlation to coding. I took my first programming courses a very LONG time ago in college, but did well in both – to the point that even took the skills I learned and coded simple programs to help me complete duties that were given to me as a young engineer. Coding and programming wasn’t a regular hobby for me, so I didn’t do much of it for years to come. That said, since my last go at coding, things have changed a GREAT deal, and in 2013, I felt it was time for me to ride that wave again and take advantage to explore all that was new in programming languages and what they can do, not only in the professional workforce arenas, but from a hobbyist standppoint. After all, I did well in coding way back then, I know I can do well in it again. In addition, the approaches to learning coding on your own today gives far greater flexibility than having to be confined to a formal classroom setting.

So there I was, back in 2013, after some research, finding myself on Codecademy to learn Python, a scxripting language that I dound was very relevant in my field of work as well as for programs I want to code for my own personal use. Python is a scripting language that is widely used in areas like software testing (spaecraft software, etc) and has wide ranging use in other scientific and technical fields. Along with Python, there is a long list of other languages (high and low level) that are suited for various things that I found I’d like to learn as well, such as Java, Javascript, Ruby, CSS, Hadoop, Linux, and this goes on….and on…and on.

coding nirvana

In my net travels, I ended up subscribing to adn.net (The Application Developer’s Network), a network much like Twitter, originally created for developers to forge relationships and discuss softeare development, but has turned into a nice social network as well. It was while I got to build me followers list that I met a programmer there by the username bayprogrammer who became very helpful and unselfish in sharing all he could about the nuts and bolts of coding with respect to the major (and minor) languages out there and what they are best used for. I’ll take a moment to thank him for investing the time he took to share the knowledge (and he continues to) with me.

So, here I am, starting again at a place where I got stumped. The difference is I know that if a push is not made, the achievement won’t be either. That being said, there are tons of resources on the net as well as two regular Python coding meetups every week here in the DC metro area. I know the satisfaction I can achieve in learning to code (and this is in line with and beyond the pish to get “everyone learning how to code” in the US these days). I’m a techie, a builder, and a creator….coding, I know, is for me. Wish me consistency and good fortune in this journey.

Thanks for the read, have a great day.

The Return to Coding….

Picture 10

Today was an interesting day, one of the more interesting days I’ve had with regards tech meetups. In the spring of 2013, I decided it was high time that I return to learning computer programming. Yeah, I had taken (and got good grades in) college level computer science programming courses, but it was ages ago. Fast forwarding to a myriad of internet resources on self-paced (in the very least) learning, I wanted to make moves to boost my skill set. I always liked coding/programming. The last programming project I did was to write a program calculate overall system reliability numbers for various satellite subsystems for a DoD satellite program I was working for, but that was MANY years ago – and in BASIC (but I digress).

I chose Python as the language to start my journey with. My learning vehicle of choice has been Codecademy and I’m quite pleased with it. Specifically I’d like to learn Python and apply it to engineering and scientific specific applications as a whole. In the mean time, I already have one project I’d like to code after gaining confident knowledge – the best way to learn anything is to jump in and start doing it, in essence.I had the good fortune of meeting with a local cloud computing solutions company recently at a local Starbucks (this also came about for participation on the mailing list). After meeting with their lead systems architect and the CEO, I hope to do some collaborating with them to some extent on two of the contracts they current have in place. A future meeting is scheduled.

Back today…I’m part of the DC Python Meetup mailing list. A few days ago, someone posted a question about the possibility of getting together for an impromptu study session, something just to get questions answered, do some coding, share resources and other bits of knowledge. I thought this was a good idea, and remembered seeing a post on the list from an administrator at MLK Library, who also offered to teach a beginner class. I reposted his email, that got the ball rolling. AFter all was said and done, within two days we had a huge room at the library’s Digital Commons area.

There were about 20 individuals in attendance, all experience levels and like the list, all very helpful. Before the session was out, one of the members quickly set up a group hackpad for collaboration/sharing of learning resources. By the end of the day, the library administrator allowed us to keep the room on a weekly basis as a Python Lab for “open office hours” coinciding with the library hours for general discussion, coding, hacking etc. The official Python classes start next Saturday. We agreed on a text and already have our first reading assignment. Along with finishing my course on Codecademy, I’ll highly looking forward to what will come out of these meetup sessions. I’m hoping these future developments will aid in the result of some future news I hope to share with you soon.

Before closing, I’ll give a quick shout to all the coders/developers on ADN that I’ve had the pleasure of chatting with. Thanks for all you (some of which don’t follow me, and vice versa…yet) share in your regular posts. Thanks especially to BayProgrammer for the extra effort in explaining the basic differences between static and dynamic coding languages, back end vs frontend development, considerations, and much more. I’m feeling like a kid at Christmas time in that there’s some much to learn, so many resources out there, it’s sort of overwhelming as to where to start, but I’m looking forward to being able to talk (and code) intelligently in the future. They say “code is art”, I’m about to be on my way to realizing this.

::: oceans of rhythm :::

Fresh