Time to write!

Well, it has been awhile! The title of the post has two meanings. The first is for my excitement at the chance to write a new blog post. My time has been limited due to work and family. My son was born! He now has a clean bill of health from our doctors but we had to admit him to the hospital for 10 days. That was pretty taxing on the whole family and I was coding into the wee hours in the hospital room. This was a time I won’t soon forget as I learned a lot about javaScript, and that pretty much explains the second meaning, that I actually have a little time this weekend to put some experiences into words.

With that, I’ll get started!

Long nights at the hospital were made bearable thanks to TheNetNinja’s javaScript Tutorials. I was able to get a good grasp on some new (and old) concepts and I anointed myself “done” with beginner tutorials It gave me the gumption to start the Random Quote Machine for freeCodeCamp.com‘s intermediate projects, which I have since completed.

CodePen – Random Quote Machine

I was very happy with it on the desktop but when I view it on my cell phone, I realize it is not responsive and the text is too large. I’m looking into media queries now to address this issue (which I will also incorporate into my Show Local Weather project, below).

CodePen – Show Local Weather – I am trying to understand why it doesn’t look right on CodePen, but it looks good on my own site:

Hosted site – Show Local Weather – Looks good here on my iphone6.

I only have the unit conversion functionality left to code and that shouldn’t be too difficult. PLEASE give me some feedback on my projects, I can use all the design ideas I can get!  Thanks again for reading!

My two-week cheat-sheet

Today is day 14 of my #100DaysOfCode. I feel like I have learned a lot and  progressing at a good pace. My wife and I added another child to the family so as can be expected, that had me doing only the 1hr minimum for a few days. I am back in full swing now and want to share what I’ve found helpful so far. At this point I feel good about HTML and CSS. Now, I’m no expert in either one yet, but feel very comfortable and can easily pull off simple tasks. I also know where to find the information I need when I run into something new. With JavaScript, I’ve only scratched the surface. I have messed around with it in the past and learned a little in a course I had last year (very little).

Below are the tutorials I have been using up to this point. I feel like these 4 have given me a good understanding of HTML and CSS:

For JavaScript I have used the below:

  • freeCodeCamp Basic JavaScript – Good intro to JS.
  • Gordon Zhu’s Practical JavaScript – Highly suggest this free course. Ties together a lot of loose ends from other tutorials.

With these tools I have been able to create some decent sites. These are my learning core to this point. I still have codecademy’s JavaScript modules to go through. Once completed my plan is to really start the grind on building some websites for my portfolio. I have signed up for #30Days30Sites and have been experimenting with GitHub so that I can post all of my sites there.

Sites for freeCodeCamp – My codepen profile

I have more sites I have worked on locally and will upload those to codepen in the next few days.

More JavaScript

The last few days have been a whirlwind for me, we added another member to the family on 5/26 and it has hard to juggle family time and coding. I am still working through freeCodeCamp‘s Basic JavaScript and Gordon Zhu’s Practical JavaScript. I feel like I’m learning, however, I haven’t had much chance to experiment on my own. That will be my focus the next few days. Below is a link to some reference materials I have been using to round out my studies. When I hit a wall of understand, I turn to these to attempt to clear things up:

Mozilla Developer Network

W3 JS tutorial

I’m beginning to understand how to manipulate the DOM and get my JavaScript code to interact with it instead of using the console my output. This was a stepping stone moment for me! Very cool to see your page come to life. I’ve got another 15% of the Practical JavaScript course to complete and about half of the Basic JavaScript tutorials. Once I finish those, I’ll discuss what I learned and where I plan on going to move forward!

Diving into JavaScript (and treading water)

The past few days have been some of the best so far for me and my learning goals! When I found freeCodeCamp, I cranked out the HTML5 and CSS section along with the first round of development projects, the Tribute Page and the Portfolio Page. I really enjoyed going through these tutorials and will repeat this very soon. The Tribute page (with code, here) proved to be easy enough and I used a lot of the concepts and tags that I picked up in the material. I was feeling pretty confident. I started the Portfolio Page and added the main section, dropped a picture in and tested it on different size screens. I added the portfolio section and screenshots of my work (along with placeholders). For the contact section, I created some buttons to link to my media sites and created a contact form (based on what I found here). What I consider v1 of the page is completed. It looks clunky and is unpredictable on different browsers and screen sizes. I decided I needed some more practice. I came across a (tweet) by @CodeChickCode that mentioned Practical JavaScript by Gordon Zhu, from watchandcode.com. I have started working through these videos and I am truly grateful I stumbled onto them. The course gives a great overall picture of what you are doing when creating JavaScript applications. Mr. Zhu has a unique and thorough way of explaining JavaScript. I will continue working through Practical JavaScript, freeCodeCamp Basic JavaScript section, and experimenting on my own.

#100Daysofcode

I have to decided to take on the #100Daysofcode challenge. I will be tweeting and blogging about my experience. I am going to start with freeCodeCamp at (https://www.freecodecamp.com) I have completed the HTML and CSS tutorial portion and am now working on my projects. My projects are here. Please take a look an tell me what you think! They are pretty rudimentary as i am a #CodeNewbie for sure. Java is currently taking a back seat to HTML, CSS3, and javaScript. I know it seems I am all over the place, but I am learning as I go and sticking with what feels natural to me. My next post will discuss what I’ve done in freeCodeCamp and also the materials I’ve been using to learn on my own.

Object Oriented Programming

When writing code, it is best to limit the duplication of code as much as possible. To that end, I am going to share here the articles and websites I used to get what I feel like is a good grasp on the idea of objects and OOP.

I started with a good understand of what objects and classes are, as defined by Oracle:

https://docs.oracle.com/javase/tutorial/java/concepts/

I also read part 5 of the transcript from a David Gries speech here:

https://www.cs.cornell.edu/gries/programlive/OOfirst.pdf

Next, I went through part 3 of Yakov Fain’s book Java Programming for Kids. Yes, its for kids but combined with the 2 listed above I was able to get what I consider a sound understand of how objects and classes work.

http://yfain.github.io/Java4Kids/#_meet_classes_the_main_language_constructs

Please share any insight on OOP that you care to. My mind is an open book at this point and I’m trying to take in everything I can. Thanks in advance.

Next I’m going to start on actual programming, the obligatory “Hello, World” type stuff as well as  operators, which I want to take a deep look at, it seems relational are usually taught early and the others added in as needed but I’d like to cover everything up front, we’ll see how that goes.

 

 

 

 

 

Discussion

I want to make it a point to discuss and explain everything I cover, as I cover it. I’m hoping this will give me a better understanding of everything. So, I would like to take a step back and expand on a few things I have learned so far.

First of all, Java.

Java was developed by James Gosling at Sun Microsystems and released in 1996. In 2006, Sun made Java available under the GNU General Public License (GPL). It is written to run on any type of processor because it uses a Java Virtual Machine (JVM) to run the software (bytecode) and translate it on the fly to a language any processor can understand.

  1. Program written in Java ->
  2. Compiled into bytecode (understood by JVM but not the OS) ->
  3. Run in the Java Virtual Machine ->
  4. Translated to machine language usable by any processor or operating system

The end-user must have Java installed on their machine to execute the program.

Next, the JDK.

The Java Developers Kit comes in 3 flavors, Standard Edition (SE), Enterprise Edition (EE) and Micro Edition (ME). We will be using SE (the links in my last post pointed to this edition). The kit comes with a collection of programming tools, some, like the compiler and loader, I will be using right away, others I will be learning more about as I go. The JDK comes with a complete JRE, JVM, and the Java API. The Java API is a set of classes written in Java that can be used to aid your programming by allowing you to call those classes instead of writing new ones for things like file access and displaying text on the screen. This kit is really everything you need to write and applications.

And Finally, the next step.

Next I will be going through some various Java tutorials and other texts with the goal of coming up with a good definition of Object Oriented Programming, how it works, and how to visualize it so that I have a complete understanding of the concept and how it can work for me.