Jump to content


Photo

Coding


  • Please log in to reply
10 replies to this topic

#1 Clutch Factor

Clutch Factor

    Hall Of Fame

  • Member
  • 9,761 posts
  • Fav. Laker:Kobe Bryant

Posted July 10, 2014 - 09:47 PM

I've always wanted to learn about coding, but I've never had the time nor effort to do so. I have a little more than a month left until college semester begins, and while I do have other things to do and learn about, I thought I'd step into the water in terms of coding in my extra time. I do understand it may not be an easy task and will be very time-consuming.
 
What would be the best material(s) that teaches coding in an efficient manner? The one that sticks out the most to me is Codecademy. However, some of the reviews on Google aren't very positive about it (it is to be noted those reviews/articles are about a year old, and I think Codecademy has altered the site since then). I also found this book that contains chapters about coding: http://eloquentjavas.../contents.html 

 

Apparently there's HTML/CSS, Javascript, jQuery, Python, Ruby, PHP, and APIs. I'm not exactly sure the difference between all of those, but I can search that up.

 

Anyone recommend any sites/sources that can teach coding? 

 



#2 bfc1125roy

bfc1125roy

    Superstar

  • Member
  • 4,541 posts
  • Fan Since:2004
  • Fav. Laker:Kobe Bryant

Posted July 10, 2014 - 10:18 PM

Codeacademy is not bad. There are so many online tutorials out there, use any to learn the basics. But the best way to learn to code is to actually code vs reading. Once you get a general idea try to build something cool. You'll learn by trial and error, plus there are many great resources out there such as stackoverflow to guide you through troubleshooting. 


  • Clutch Factor likes this

#3 Clutch Factor

Clutch Factor

    Hall Of Fame

  • Member
  • 9,761 posts
  • Fav. Laker:Kobe Bryant

Posted July 10, 2014 - 10:34 PM

Codeacademy is not bad. There are so many online tutorials out there, use any to learn the basics. But the best way to learn to code is to actually code vs reading. Once you get a general idea try to build something cool. You'll learn by trial and error, plus there are many great resources out there such as stackoverflow to guide you through troubleshooting. 

 

Thanks for the response!

 

Yeah, there are a BUNCH of resources out there. Which is why I wanted to see if anyone here has used any and would recommend one by personal experience. I agree, interactive learning is probably the best way to learn, especially when it comes to coding. If I can't find anything else or if no one here has any recommendations, I'll most likely try Codecademy then.



#4 bigfetz

bigfetz

    Laker Fan

  • Moderator
  • 25,660 posts
  • Fan Since:2005

Posted July 10, 2014 - 10:41 PM

How to start out coding is one of the biggest arguments out there. There is no sure fire way. Some learn by doing a project, some by taking a class, some by taking online tutorials. 

 

I never tried code academy but I have heard good things. Though nothing beats just coding projects. Some times they make that stuff too obvious and you don't really learn what you should be learning. 

 

The biggest thing though to first user stand is programming logic. Its just a way of thinking. Its very different from how a normal person thinks so it takes time to develop. You gain the basics of this by learning a first language. After that it gets much much easier because most languages are very similar to one another. 

 

First you need to decide on a language. Don't worry about picking a bad one. I find that people really over exaggerate the importance of a first language. My first was javascript where I was taught from a horrible teacher. Though I still got some basics down. Basics being conditionals, looping, and simple operations. 

 

After you learn the basics is when you get into a huge step. Object orientated design. This is probably the most important thing to understand. Its very weird and somewhat odd to understand at first but later you will laugh at how simple it really was.

 

My suggestion is you stay away from web stuff for now, like Html/CSS because that just for styling and isn't really programming. Go with something you can easily compile and run. I would suggest java just because its very easy to use for simple operations. 

 

Here is a great easy to use app http://www.drjava.org/  to compile and run java in. Java will work for an OS so don't worry about your specs. It was my first IDE. Its great for beginners. 

 

Try creating what all programmers start out with, Hello world. Just a print statement saying those words. If you have any questions feel free to ask me here or PM. 


Edited by bigfetz, July 10, 2014 - 10:41 PM.

  • pkflyers, bfc1125roy and Clutch Factor like this

#5 -Wade-

-Wade-

    知己知彼,百戰不殆

  • Moderator
  • 6,473 posts
  • Name:Wade
  • Fav. Laker:♛ Kobe Bryant

Posted July 10, 2014 - 10:55 PM

HTML -- a markup language designed to create web pages.

CSS -- a styling language designed to style web pages.

Javascript -- a scripting language designed to make (web) applications interactive and dynamic.

jQuery -- a javascript library, which makes client-side scripting easier, but is not a programming language in and of itself.

 

Python -- a general purpose dynamic programming language. Very fast, modern, flexible, and powerful.

Ruby -- a general purpose object oriented programming language. Dynamic, highly usable, and powerful.

PHP -- a server-side and general purpose scripting language. Designed for web development, highly supported, and highly documented.

 

API -- Application Programming Interface, which is a specification for interacting with software (or allowing others to interact with your software). This is not a language in and of itself, but a model to define specific routines to manage data between applications.

 

 

 

Put to example:

 

HTML, CSS, and Javascript are generally all used in tandem. HTML marks up the website and basically creates the blueprint. CSS styles the website and basically writes the "details" that fill in the blueprint. Javascript manages dynamic changes that might be made to either the markup (HTML) or style (CSS) without having to refresh the page.

 

All websites use HTML and CSS. A lot of websites use Javascript. All HTML, CSS, and Javascript work on the client side (web browser).

 

 

In contrast, languages like Python, Ruby, and PHP are more general purpose and are often used on the server. This is where actual application or web development happens, as opposed to simply web design (HTML/CSS/JS). Using one of these languages, you handle everything from login systems and storing information in databases, to mathematical functions and methods that are used to display dynamic results on the front end.

 

For some reference:

 

Facebook and Wikipedia were built using PHP.

Twitter was built using Ruby.

Youtube and Google are built in Python.

 

All Facebook, Wikipedia, Twitter, Youtube, and Google use HTML, CSS, and Javascript.

 

Python is the fastest language between the three. PHP is most supported for web applications and is extensively documented. Ruby is powerful for mobile applications, as is Java (which is different from Javascript).

 

PHP+SQL has the greatest marketability and job availability. Python presents the greatest opportunity, represented through position shifts over time. Ruby experts are more rare to come by in comparison to PHP and Python experts, but are nonetheless important for web development, mobile development, and general application development.

 

Python is the most readable and is the easiest of the three to learn for new programmers. With that said, Python is also the most strict in terms of indentation enforcement. 

 

Ruby has an elegant feel to it and supports principles to minimize confusion.

 

PHP is most tailored for web development and will be a breeze for those who know some C.

 

 

When you share a post to Twitter directly from LakerNation, or login to YouTube using your Facebook account, you are using something called an API. LakerNation is using Twitter's API, whereas YouTube is using Facebook's API.

 

I would encourage you to study some of the principles and philosophies of programming before diving in. Here are some guiding questions I recommend you find answers to:

  • What is the difference between an interpreter and a compiler?
  • What is a high-level programming language?
  • What is a low-level programming language?
  • What is machine code?
  • What are number systems? What is binary? What is hexadecimal?
  • What is a data-oriented language?
  • What is assembly language?
  • What is the difference between server side and client side?
  • What is a functional language?
  • What is a procedural language?
  • What is object-oriented programming?
  • What is a GUI?
  • What is a CLI?

Once you have some of those questions answered, can distinguish between client side / server side, and understand the general differences between HTML/CSS/JS vs. PHP/SQL, then I would recommend you pick a language and begin studying it.

 

Depending on the language you choose, I could recommend to you a number of resources. CodeAcademy is a great start for learning Python. Here are some other great resources:

For your HTML5/CSS3/JS needs, check out:

W3schools and Tizag are alright, but they don't offer all of the best practices.

 

For a beginning general purpose language, I always recommend Python to people (because of the readability of its syntax). This is personal preference, but you may take it into consideration. If Python intimidates you, revert to a markup language like HTML. Although HTML/CSS is designated for making websites, it can instill confidence in those who become intimidated by other languages. There is no greater feeling than printing your first "Hello World," launching your first web page, and calling your first function().

 

For web development, some might even propose that you begin with PHP over Python. While Python can do everything PHP can (and then some), most shared web hosting is more supportive of PHP. You are going to need hands on access to a server, or a virtual private server, if you want to start rolling out web applications developed in Python or Ruby.

 

However, the benefits of learning Python or Ruby sometimes outweigh PHP. You can use Python for just about anything, whether it be physical computing and open source hardware, to mobile applications or desktop applications. I must mention, however, that PHP can be used for other purposes as well. It is just mostly intended for web application development.

 

 

I never tried code academy but I have heard good things. Though nothing beats just coding projects. Some times they make that stuff too obvious and you don't really learn what you should be learning. 

 

This is good advice. I would recommend that you learn Git:

 

It will produce better coding habits, will allow for collaboration, and allows for extensive documentation and revision history. Once you have the basics of Git down (which can be accomplished in less than 5 days with some effort), find a project on Github that interests you, fork it, and begin tinkering with the project! If you end up making the project better, commit your changes and feel good about improving a project! Welcome to the beautiful beautiful world of open source.


Edited by -Wade-, July 10, 2014 - 11:23 PM.
Get on board with Git

  • Kobe-Wan Kenobi, LakeShow805 and Clutch Factor like this

LeGj1r3.png

"I'm always a firm believer in us being able to make our own decisions." --Kobe Bryant

Q: When you take off your jersey for the final time, what will you leave behind on the court?
A: "My heart and soul." --Kobe Bryant


#6 L.A.K.E.R

L.A.K.E.R

    Gomu Gomu

  • Contributor
  • 14,996 posts
  • Location:California
  • Name:Shamim
  • Fan Since:2000
  • Fav. Laker:Kobe Bryant

Posted July 11, 2014 - 01:19 AM

Find one language that you're interested in and learn as much about it as you can. I've worked with C++, C and Java and really, once you know the basics behind one of these, the it's much easier to learn the others. There are a ton of resources online, you'll find yourself using them as reference very often when you actually code. But yeah, trial and error and actually running through code on your own is the best way to learn it. Once you see the effects that your code actually has, piece by piece, you start to see the big picture. There were so many concepts in my courses that I initially couldn't really visualize, but once I worked them out piece by piece it all came together and made sense.

If you enjoy problem solving, you'll like coding. It's pretty much hey, here's an obstacle in your way: Figure out how to do ________. And then you do it. It's tedious work at times, but very rewarding once you see something that you created on your own working perfectly.
  • pkflyers and Clutch Factor like this

#7 pkflyers

pkflyers

  • Member
  • 8,902 posts
  • Location:714/562

Posted July 11, 2014 - 09:37 AM

Picking a first language is important because you may loose interest if you pick something too hard like Scheme or ASM, so I honestly think you should checkout python first.

Compared to others, that language is almost like writing in plain english its so easy. You can create desktop programs and websites using that language.

You have to understand though, programming is something you learn by doing. You wont learn anything by watching videos or reading material, you have try things out yourself

The good thing is, almost everything is free online nowadays, so theres no reason not to try it out. You may like it

This is a good site to get you started (free videos, look on the right under "Computer Programming") https://buckysroom.org/videos.php

Here is an online compiler I recommend using http://ideone.com/
  • Clutch Factor likes this


b3vgxe.jpg


#8 leor_77

leor_77

    Hall Of Fame

  • Member
  • 8,470 posts

Posted July 11, 2014 - 11:04 AM

Finished my first year at a CC studying computer science (planning to transfer to a 4-year soon), and have been programming for about 1.5-2 years.

 

I really believe in learning C/C++ (both). Pretty much every other language is based on C, and once you learn it, you see why, and how it helps you. You need the foundations first, and you need them badly. To give you an example, when I first started out, I did this simple GUI thing with C# .NET that allowed me to enter in the URL of a picture, and then to download the picture. I learned how to do it from a YT video, and actually did it 5-6 times in a row...Yet, with all that, I still didn't know what the [expletive] I was doing.

 

Now, that I've learned programming, it actually makes sense, and I can do it and understand everything (you're just using ready-made libraries and methods, and just creating new objects of the classes, and executing their methods). Not sure if you're planning to go to school for this, or to learn by yourself, but I think that a hybrid is the best approach. At times, you will need assignment deadlines and tests to make sure you're not slacking off.


Edited by leor_77, July 11, 2014 - 11:05 AM.

  • pkflyers and Clutch Factor like this

#9 leor_77

leor_77

    Hall Of Fame

  • Member
  • 8,470 posts

Posted July 11, 2014 - 11:11 AM

I also started to learn Objective-C (iOS Programming). I wouldn't say it's hard, but it's funny how different it is - Apple just had to be different from everyone else.


  • Clutch Factor likes this

#10 wvlaker

wvlaker

    Rookie

  • Member
  • 226 posts
  • Fan Since:8 years old
  • Fav. Laker:Kobe Bryant

Posted July 11, 2014 - 11:29 AM

If you want to learn how to create websites using HTML5 and CSS3 this is a very good 30 day tutorial to help you get started. Most of the videos are under 10 minutes, so you can knock out 4 or 5 days in one sitting if you're focused. The instructor does an excellent job of guiding you through the basics of both languages and you will be able to build a basic website once you're done. You don't need any expensive software to get started, you can use Notepad! Good luck :)

 


  • Clutch Factor likes this

hey 

 


#11 Clutch Factor

Clutch Factor

    Hall Of Fame

  • Member
  • 9,761 posts
  • Fav. Laker:Kobe Bryant

Posted July 11, 2014 - 12:34 PM

Thanks so much for the responses, everyone! I'll definitely look into all the options and make a plan. I have not read everyone's posts yet, but will ask questions if I have any. (:






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users