Showing posts with label lethargy. Show all posts
Showing posts with label lethargy. Show all posts

Saturday, 28 October 2017

At The End Of Basic Front-End Dev Projects: My Current Issues w/FreeCodeCamp

Up until last week, FreeCodeCamp had been like a dream come true. It had brilliant small, measurable and achievable goals in order to help keep momentum in programming learning, even if you only had the energy for the smallest commitment in the day. It reminded me of the feeling I got when I very first coded with Codecademy: how simple it was to begin, as well as continue, straight from the homepage.



However, I have come to the end of the "Basic Front-End Development" block... And I've reached a sudden roadblock. Technically, yes, we should know everything we have been taught up to that point. I have a reasonable idea of how to use <div>'s and <div class>'s in order to group elements together. I even figured out, through my own research, the one thing I had always wondered... How to create a neat menu along the top, that also follows you as you scroll the page (it turns out it's just an unordered list, with some extra CSS!).

However, the biggest stumbling block was creating my own portfolio page. The "Tribute" project was much easier, as it was easy enough to create an "Ironic" page that incorporated the lyrics of Tenacious D's tribute. I found I completed a rudimentary page pretty quickly on my first attempt, without looking anything up.

Then I got to the Portfolio project. And, I put my hands up (as I increasingly regularly do): the biggest obstacle to my learning is that I am a top-tier perfectionist. If I know exactly what I want, I'll end up creating ridiculous amounts of work for myself to incorporate even the smallest, unimportant element... Even if it means I make no progress with the actual page.

This can be a helpful and important skill; as I mentioned, I have now learned something about creating navigation bars which, even weeks after first learning it, hasn't left me. The problem came when I really wanted that bar to contain a "now playing" section, displaying my currently playing Last.FM track.

In a nutshell, the biggest problem in creating a portfolio for myself is my own ridiculous set of standards. The task was significantly easier when I forced myself into the easier task of emulating my brother's stylish website... But even then, I came up with problems like trying to get a navigation bar centred, and the problems that developed with page colouring when I attempted that.

More than that, I feel as if FreeCodeCamp went from being a course that was very easy to follow, with gamification seemingly ingrained into its soul, to a task where I was suddenly thrown at the deep end. Again, technically this is stuff I have just been taught. But I feel the course could have benefited from another guided example for creating an entire web page within its learning environment (maybe with fewer hints and cues) before asking us to create our own site.

The thing is... I do have a rudimentary Portfolio page created from this as well. And I have made the decision just to submit it; as I know doing so will get me out of this rut, and looking at the continuing course, it goes back to the format of small, achievable tasks.  I intend to go back and improve it as I become more knowledgeable, as well as e-mail/submit this in some way to help improve the course (hell, I would even be willing to help create the learning materials for it).

Anyway, here I present https://glitchwalker.github.io (oh, yeah, I used GitHub instead of the site they suggested; as I already have it set up to update game mod projects, and I preferred the workflow of having the entire site working and editable on my own computer already).

Free Code Camp is free to use and is available at https://www.freecodecamp.org. The learning materials are also open source, and free to use within any setting.

Friday, 29 September 2017

Move to Learn Python the Hard Way

I had my last straw with the "Python Beginner to Advanced" course today. It was after I finished a task on API calls using POST requests to the Google URL minimizer. I thought I'd take what I learned to attempt some fancy stuff with my Last.FM library (or even basic stuff)... Yet realised I actually knew very little about what I needed to go. I had a decent, surface-level understanding... But couldn't get anything to work. I realised I needed a course a little deeper. I finally lost it with that course.

So first I tried Codecademy... Which gave me my very, very first coding experience years ago with its intuitive interface. I progressed fairly well, then we got to booleans. They seemed to think the best way to explain it was to copy, word for word, the code they had already explained before you actually type it. So you end up typing stuff you already know, just to get the tick and move on. Don't get me wrong; the course I ended up going with takes pride in asking you to type and retype verbatim what is written. But it at least leaves you to test it first before explaining why it works, then it makes sure you investigate yourself why it works (or, if there's a bug, doesn't work). I was so switched off with Codecademy I left an angry message on their feedback forum... Then hunted elsewhere.

I decided to focus on Learn Python3 The Hard Way for a number of reasons. Firstly... The website looks pretty. Joking; I mean, it's a pretty website, but I'd heard a lot of good things about the course. Not only that, but when I read through the materials earlier in the year it really appealed to my desire to understand code inside-out, rather than just copying snippets "because it works". Even though maybe 90% of the stuff I covered in the first 10 or so exercises was already information I knew, I appreciated the focus on encouraging me to comment each line of code in order to explain exactly what is going on. I felt like some of these ideas on what might be happening were finally given some form... Not only that, but I now feel much more confident creating something very basic from scratch than I ever did following the "Ums" and "Ahs" of the main course I'd been featuring up to now. The flow of activities often includes researching Google for the meaning of something, then coming back and integrating that with what I have already worked on (not that it should be mistaken for laziness on the author's part; he often has the concepts explained in a future exercise). There is also a great focus on hacking and "breaking" your code... The breaking part I find tedious I admit... I mean, I get he's getting us tuned onto debugging and figuring out what's wrong myself. But often I'm pretty honed in on where I make a mistake already just from the error messages I'm left with. Instead, I take "find ways to break your code" to mean hacking it so its purpose and operations become something entirely different from what was initially coded... And including inappropriate expletives wherever I can.

That being said, I have felt extremely lethargic today. Maybe it has been from focusing more on courses in the last week then I have done in a long, long time. I'm surprised I typed as much as I did for this post, as I just feel slow at this moment.

I'm still figuring out the best way to integrate the new course with my GitHub, nonetheless, the old work is still available there. Also, the course I am now following is "Learn Python The Hard Way" by Zed A. Shaw