Send to KindleNew Course Offerings
We’re rapidly expanding our course offerings here at RubyLearning, trying to keep up with the enormous and ever-growing interest in Ruby. But we need your YOUR help because, as you know, Ruby is a big subject, and we’d like to be sure to focus in on the areas of most interest to you.
A Note regarding the courses mentioned in the poll below:
- Ruby Testing and TDD: (starting from the concepts of testing in general, Test::Unit and other tools are discussed. RSpec is not discussed. Suited for people trying to code test code.)
- Ruby GUI: (GUI programming. Which library do you recommend – Shoes, FXRuby?)
- Ruby: Git and GitHub: (A short course where you study Git and GitHub. Basic operations are discussed. Publishing a gem using GitHub.)
- Ruby & SQLite3 database: (Learn SQLite3 using Ruby. Beneficial for those who already know another database and for those are relatively new to database itself.)
- JRuby: This course is already available, but wanted to check whether you want it.
- Merb: This is becoming very popular in the community.
Please take a moment to complete a brief poll about the new course offerings we’re considering. Also, please post your suggestions as comments to this blog post. It won’t take more than a minute or two.
THE POLL IS NOW CLOSED
Technorati Tags: Poll, Ruby, Ruby Courses, The Ruby Programming Language
Posted by Satish Talim
{ 61 comments… read them below or add one }
Next Comments →
This is an excellent idea! I have chosen two of the 6 that I feel most strongly about. I realize that each has its place.
Thanks, Satish!
There are many people who can’t write test code. People are trying, but it’s hard. Especially for those who don’t have experience with Java and C#, it seems quite difficult to understand. Most of the books on testing are using Java and C#. This holds true with books on advanced topics such as design patterns and refactoring (though we have one “Design Patterns” book and an upcoming refactoring book).
Lack of resources is one reason. PeepCode episode on testing is rather obsolete as I understand RSpec episodes are still applicable to current Rails situations. The very first episode on testing is using a very old version of Rails and some test methods are already deprecated. “The Rails Way 2nd edition” spares a lot of pages on testing both (Test::Unit and RSpec). But it’s not a step-by-step tutorial which beginners can follow. “Programming Ruby” has a chapter on testing. But it is also like a reference.
Confusion among learners. The Rails definitions on unit and functional are not strictly correct. What’s the difference between TDD and BDD? A good TDD is BDD? What’s the difference between mocking and stubbing? So is mocking in Rails actually stubbing? What’s testing in Ruby itself? How does Rails expend the idea? All the questions are puzzling to users.
I think understanding the very basic concepts on testing and xDD with bare Ruby (i.e., not with Rails or RSpec) gives a great start for programmers. Once people understand some concepts and Test::Unit, it will not be very difficult to start learning other tools like RSpec.
I hope that RubyLearning will fill the gap and help Ruby programmers.
What takaaki said and a +1 for shoes
As long as time allows I’m interested in just about any thing related to Ruby. I’m very interested in TDD and Merb.
TDD because it’s important yet seems to be just out of the reach of people starting Ruby/Rails development.
Merb is an important piece of Ruby’s future for web development.
Ed we already have an existing course “Ruby and Shoes“.
Hi,
It would nice if you can consider offering tutorials on ” Merb ” from scratch.
Merb will turn out to be a fastest moving and growing framework very soon.
Since there is not enough documentation available for Merb, this tutorial is right in time, when someone has to start.
Thanks
I’ve yet to start TDD/BDD as a practice. I know I should.
So if I’d enrol that’s what I’d go for.
It’s been great if RSpec was there too. But anyway, interested in Test::Unit too. It’s been seeing some attention again lately.
Gaveen: The reason why RSpec is not introduced here is that this course will have too many contents. If we make the testing course successful, I would love to see the next testing course that covers RSpec. Understanding Test::Unit will give you a better start for learning RSpec, in my view. There are a lot of online resources available for RSpec, but some of them assume that readers have knowledge and skills of Test::Unit.
Use it or lose it. I think all these course offerings are excellent. The more ways you can learn how to incorporate,test, interface, connect, and manifest Ruby the better.
I have choosen 2, of the six, which i would like to continue, Ruby Testing, Ruby GUI with Shoes. I fully agree with takaaki that “I think understanding the very basic concepts on testing and xDD with bare Ruby (i.e., not with Rails or RSpec) gives a great start for programmers. Once people understand some concepts and Test::Unit, it will not be very difficult to start learning other tools like RSpec.”.
One more thing of my self interest. How about network/socket programming in Ruby. Is there any possibility to include this topic. Hope to see some one interested!!!
Nabin we have a Network/Socket programming in Ruby course ready. Not sure what the response to this course would be though.
I would like to see more information on the TDD and Merb courses
I chose ruby and sqlite3. I feel for hobbyist noobs like me, I should learn the basics very well to have a good foundation for further additiional and advanced learning. I would have also chosen Ruby GUI as a second choice as I feel it is important to learn GUI for bringing user friendly experience to the programs.
I choose Ruby Testing and TDD. I have a certain affinity towards testing.
If I had another choice, I would have chose Merb.
Regarding the Testing course, we plan to introduce the concepts on testing first. Understanding why we need to write test code and having a common ground on some of the terminologies are important. Different levels of testing: unit testing, functional testing, integration testing and so on. The concepts of TDD and BDD and how they relate to each other are important. After sharing the knowledge, we can move to actually writing test code using Test::Unit. Familiarizing yourself with Test::Unit is vital. We will also introduce other useful tools for testing such as ZenTest, spec/unit, test/spec, rubydoctest, flog, reek, heckle and flay. We are not sure if we can introduce mocking and stubbing. So most likely there will be no mocha or FlexMock.
We are currently thinking about a 2 or 3-week course. The biggest goal is a) to break your mental block about testing, b) to understand why xDD is encouraged and c) to be used to writing test with Test::Unit and d) get to know other tools to help testing.
We expect participants to have a good discussion on the concepts. As is true with the Ruby Core course, the discussion is a crucial aspect. We don’t give material for you to memorize. Instead we provide materials and discussion questions to make you think and discuss with the other students.
This is just what we have in mind right now. If we think there’s not enough time to discuss every tool we want to introduce, we will reserve the tools for a more advanced course. With these reasons, we think we don’t have time to introduce RSpec for this course. But it’s not that we hate RSpec. RubyLearning already introduced RSpec in one of the intermediate courses.
Well I am excited more about TDD, but yes even Git is an interesting topic.
Tough question. If I was to choose only two, then it would be TDD/BDD and JRuby. But that’s because I’m more concerned on having Ruby in enterprise environments, then on online applications (Rails/Merb) or in personal projects. Ruby has severe caveats and pitfalls for Enterprise acceptance, in my opinion: Unicode, Threads, Database support …
TDD/BDD is a must, in any language. After one learns more and more about those methodologies one wonders why one didn’t learn it before. Same goes for Version Control. How can one code and maintain that code without the “umbrella” of version control? For this, Subversion/Git/Mercurial/darcs/you_name_it are always a plus. One just has to learn about the system and use it.
Last one, but not least, are the GUI and Database courses. These will probably, like Shoes is doing now – in my opinion – for Ruby, will be the “entrance” into everyone’s desktop. First get the desktop, then move onto the enterprise servers. But it’s tricky. GUI concepts are very hard and so are all the issues around coding with non-objected-oriented relational databases – to ORM or not to ORM, that’s the main question.
So, I’d pick each and everyone… although currently I’m not all that interested in Rails or Merb courses.
I think, as many people have said, that TDD/BDD is essential, and, although I’m used to do it with Java, I’m not familiar with TDD on ruby, so I think that’s very important.
On the other side, I think Git is a very powerful VCS and it’s getting very popular and it is very compatible with Agile methodologies, so I think that would be very interesting.
Also, congratulations for the great work on rubylearning. This is just awesome
Hi Satish
Coming from a non OO PHP background and with 5 months of intensive ruby / rails development, I have most trouble with the OO aspects of ruby. I really need to learn how to have small controllers / fat models and some kind of basic design patterns training. Got the books but I find very difficult to apply the concepts to my application.
Thanks
Merb is pretty much a Rails clone for most of the part. Why waste all your time to teach something that’s already easy to learn if you know Rails ?
I vote for Ruby GUI. Shooes ! And also Test::Unit. Testing is 100 times more important than the framework you select.
I wish more (Basic)Learning programming with Ruby and solid fundamental to learn OOP.
regards
koko
koko There’s a Ruby Core course that offers Ruby and OOP. Check http://rubylearning.org/
koko we have been running, since 2006, a free online two month course on basic Ruby. The next batch (FORPC101-9C)is scheduled from 6th Dec. 2008. This covers what you mention.
I’m rather interested to learn about merb. I’m currently well into Rails but a new perspective is no disadvantage. Similarly, i’m happy with mySQL. In fact, I’ve configured my version of Rails 2 to use mySQL rather than SQlite 3 on the grounds of my familiarity with mySQL but again, I’d like to have a look at SQlite.
I know little about testing so some exposure there would be OK.
BTW i like the nifty avatars – the line drawing ones, are they available anywhere?
For Desktop development, I think you should concentrate efforts in Shoes instead of fxRuby or wxRuby, for instance. I’d love to take the Shoes course but I don’t have a Paypal account nor a credit card. It would be much better if I could do a deposit in a Brazilian Bank such as Caixa Econômica or Banco do Brasil.
I think that Git usage is an interesting topic. One question exists something similar to Trac in Ruby? It would be nice to use.
Greets
Hi, Courses of TDD and BDD and git with Ruby is very important because it not a good portion of people use SVN and CVS. And tests TDD and BDD is very important, since it has almost no equipment and almost never discusses these issues …
Did you consider using wxruby for GUI development? I like wxWidgets and their portability, and there are a lot of widgets to use. All you need for that is a wxruby gem…
I borrow Herminio Torres’ words about testing and TDD.
I don’t need to say I’m a fan of Shoes, so I voted it too.
I also think Merb is an important plot, but, if we’re going to start a framework-based course, then I think we should start with Rails.
My votes for some good guides to TDD. I’d love to see some tutorials that create a simple blog or shop site but are written with the test first philosophy.
@Rodolinux: This is off topic, but since you asked,
You can use Trac with Git. There’s at least one Git plugin for Trac and I’ve seen it been used by several FOSS projects. And my personal experience with it is also good.
However, I tend to much prefer Redmine for this kind of purpose plus more. And better, it’s written with Rails.
It seems like many are like me, interested mostly in TDD and GUI.
I’m an old school programmer, working on a project where TDD is supposed to be used. It’s been explained to me, but I’ve never had any formal TDD training. I find it difficult to change my ways after so many years. I know it’s just a matter of study and practice, study and practice, etc …
And, I know that knowing a GUI package would greatly enhance some of my Ruby programs.
So, these two got my votes.
Luke: Even if we plan a course on testing, we don’t include Rails or Merb. So making a blog or shop web app will not be included in the course.
Raecoo: Matt Aimonetti (Merb Core Developer) and Yehuda Katz (Merb Maintainer) have suggested the Introductory Merb course contents with inputs from Foy Savas (Author, The Merb Way).
I would like to go for Ruby & SQLite3 database
& Ruby Testing and TDD for testing…
Hi All, Its better to have the Test cases details. Like if you have test cases for your code then its very good and you can cover all conditions for testing if tester miss it.
Also Merb is having lots of similar functionalities of Rails, I dont think its better than Rails, except some spacial features.
I like to go for Ruby GUI and TDD
Thanks
Æ!!
I’m voting for a TDD course, because i’m not familiarized with programming with tests, and i’m learning it now, so, a course will help me so much on it!
Git and GitHub is a good choice too! GitHub makes my code easier to be shared! =)
Cheers,
Willian Molinari
It says “Randomly selected three respondents would be entitled to a free course at RubyLearning, of their choice.” – but I presume that’s not the poll, but the comments? Otherwise how would you know how to contact random poll repliers?
I would particularly be interesting in testing as it applies to Rails – I can grasp the concept of testing a general class fairly easily (although a course on the specific syntax etc of Test::Unit would be nice) – but the bigger problem I have is testing controllers, and also deciding what to test and how to do it (testing ‘everything’ is a nice short answer, but not really that helpful!
)
Anyway, I’m sure anything would be interesting. More Ruby knowledge in the world is always good.
I’m really interested, like many others, in testing and GUI. I’ve been programming in Ruby and reading blogs about it for some months now, and a recurring topic is how testing is important so I think this course is a must have. Also I’m trying to learn Rails + Databases on my own, so I think the Ruby + SQLite3 course is very interesting. And that’s why these three got my votes.
Amanda you are right about “but I presume that’s not the poll, but the comments” – I shall correct it now.
start learning from what i like much
I primarily keep intrest in working in rails.But learning Jruby and Merb will add some added advantages for my technical background..!….so I have voted for the same…!…..
vote for Ruby GUI and TDD :This section provides the sequence of steps to create a Ruby GUI ….!!!
I would love to learn this more…..!!!
Really it’s pe a tough question.
I am voting GUI because I like that section of work…….since I am working in rails I would like merb also, It is also a very good framework of ruby,,,and sqlite is necesaary for every work
I want to be a software lumberjack. So I am all for Sockets and all things dry and ‘basic’. In fact, the continuing Web-Application Hype will obstruct people’s view on the infinite range of tasks, the language can cope with. So I try to rather avoid that area completely.
I am interested in ruby GUI-shoes
it’s good foe everyone
I’d go for the TDD (very important… and in the long run results in a very productive workflow… write code THAT WORKS).. even conceptually I’m totally for the TDD.
GUIs are in my newbie opinion what’s lacking in ruby to make it more appealing in terms of integration/interaction with the user.
Database integration is quintessential for any application (IMO) so its a must, namley to use with active record and the Rails framework where you can work the DB itself from scratch using the migrate and activerecord
Jruby is quite essential for anyone trying to bridge JavaScript and ruby altogether…
Sorry for the short post… and possibly for some false assumptions..
@Luis: Just a correction: JRuby is the bridge btw. Java and Ruby.
TDD is important the same way that eating your vegetables is important–it’s something I should do more of.
But I think a course in TDD would be helpful in learning various concepts along with tricks of the trade.
glad to see it’s #1 in the poll so far.
Next Comments →
{ 9 trackbacks }