Topic: Education Materials

First, I'm sorry if I am posting this to the wrong place.  It's my first post on this forum.

I need some direction on my journey to learn ruby.

My father has 25 years experience programming in cobol and a bachelors in computer sciences from the seventies.  I have no programming knowledge.

We've been working together to learn ruby using code academy and just finished today.  We're about to start 'Rails for Zombies.'

We both feel kind of lost in the context of what we're doing.  Like we are understanding the language, but still kind of lost in how that fits in with how the code could be implemented.

I am looking for an education tool that will prepare my father to reenter the it industry.  Something where he can be confident to apply and accept a position programming in Ruby.

Thank you all.

Re: Education Materials

Hi,
I too am from a COBOL background in the 1980's. Your dad has a HUGE mind shift to make.
I'll gladly help but probably better done through other means. Contact me privately through my profile (Just click on my name next to this post and send me a message. This is not something I offer lightly and nor do I normally respond to private messages but in your case I'll make an exception.

What you want and what you need are too often not the same thing!
When your head is hurting from trying to solve a problem, stop standing on it. When you are the right way up you will see the problem differently and you just might find the solution.
(Quote by me 15th July 2009)

Re: Education Materials

Justin, you have mail! Check your new messages link at the top of this page

What you want and what you need are too often not the same thing!
When your head is hurting from trying to solve a problem, stop standing on it. When you are the right way up you will see the problem differently and you just might find the solution.
(Quote by me 15th July 2009)

Re: Education Materials

How are you getting on with this?

What you want and what you need are too often not the same thing!
When your head is hurting from trying to solve a problem, stop standing on it. When you are the right way up you will see the problem differently and you just might find the solution.
(Quote by me 15th July 2009)

Re: Education Materials

Hey James, I've been meaning to get back to you.  I've taken a look at the product you suggested, but what you said about my fathers mind shift is what stuck out at me most.  I realize now that it is not just learning a new language that he needs so much as a complete reeducation of basic computer sciences and THEN the study of a few new languages.  We have been working on completing this:

https://www.cs50.net/lectures/

Tell me what you think.

Re: Education Materials

That looks pretty involved but I can't see that it offers much in OO design ideas but it does seem to cover a lot of approaches to web development and exposure to different languages which is a good thing and possibly a great place to start.

Moving on from traditional desktop/mainframe development to web development is quite a challenge, not least because you are moving from a statefull environment to a totally stateless environment.
HTML and CSS are dead simple but you need to understand the concept that there are in the simplest terms 2 computers involved in a web site and they are the PC or device that is running the browser and the other is the server that runs the website code (web server) that has the responsibility of receiving requests from the browser, processing those requests and sending meaningful data back to the browser.
On the surface of it that is not much to get your head round but when coming from a desktop environment it offers challenged that don't need to be considered, or in some cases don't even exist in a desktop or mainframe app, This is mainly down to the fact that variables just don't hang around between requests in a website. You send some data to the server, the server processes that data and you might want and often need to persist that data between requests, this is simple to do when everything is working in the same memory space but a real challenge in a website environment.

To achieve a state full environment you need to use cookies but they are dangerous and can only contain a limited amount of data but Rails handles cookies really well with the use of sessions and the option to choose a session store to fake state.
Also scaleability is a huge consideration. Even the most basic of websites can have hundreds of hits at any one time when bots and spiders start crawling your website. You must make your app as responsive as possible.

The other really BIG headache is SECURITY. It's dead easy to hack a web site to get sensitive information or spread a virus or just for the heck of it. In a website the security is down to the way you build your server (using a Linux OS is a good starting point, windows servers just don't cut it, less secure and need more resources in hardware terms so costs more for th same effect)

Perhaps some of the above is a little over your head at the moment but bear it in mind as you start to write web applications and it will become a lot clearer.

In a very similar vein to the link you posted but less structured is  w3schools. It is an awesome source of training material.
http://www.w3schools.com/
It's a monolithic site containing tutorials on all manner of web programming tools, languages etc... and is considered to be the most authoritative place for web development in a single place.

Get your head round the concept of the web. Learn basic HTML, CSS and javascript, cookies and then get into Rails and see how simple it makes things for you smile
Taking that approach will massively improve your understanding when it comes to RoR development.

What you want and what you need are too often not the same thing!
When your head is hurting from trying to solve a problem, stop standing on it. When you are the right way up you will see the problem differently and you just might find the solution.
(Quote by me 15th July 2009)

Re: Education Materials

A suggestion for you would be to install a Linux Os on your own P.C. and do your development under Linux rather than windows. It will help massively and nowadays Linux desktops such as Linux Mint (Highly recommended) offer a far nicer environment to work in than Windows. I use Linux Mint with the Mate desktop exclusively now. It's dead simple to install to run side by side with your windows OS, totally free to use and a real eye opener to open source software. You can download an ISO image of a "Live" dvd/cd burn it off onto disk or onto a usb stick, boot it up and run run it to see what you think before installing.

Check out http://www.linuxmint.com/ You will be seriously impressed.

Another good source of information is the Linux Format magazine. It covers all sorts of things related to the world of open source including PHP, Ruby and many other tutorials and keeps you abreast of what is going on in the world of computer gadgets, mobile phones, and the I.T. world in general.

What you want and what you need are too often not the same thing!
When your head is hurting from trying to solve a problem, stop standing on it. When you are the right way up you will see the problem differently and you just might find the solution.
(Quote by me 15th July 2009)