We need better introductory material

FWIW I’ve noticed that it’s very hard to get students to watch tutorial videos, much easier to get them to read some material.

3 Likes

I think that’s a very different situation though. We have had assistant professors who did tutorial videos as part of their “teaching course” (adjunktpædagogikum?), and most of them seem to have 3-4 views. But here we are talking about people who are out looking for information on Julia though, so the motivation will be much different.

That said, different people prefer different things. I do think that these videos have an appeal to people who are not coming from R, Matlab, Python, or anything else, but who are choosing their first language to solve some problem or learn something.

There are Jupyter notebook prepared and used in/for each webinar, so I don’t see the conflict. Just open the Jupyter notebook and follow that.

Fine, but notice that most of your objections start with “I find” and “I do”. Your background is developing software in and using Lisp, right? That’s hardly representative for the total pool of people who will hopefully find Julia useful. I’m mainly talking about people who are here to use the packages, not developers as such.

I think that’s sort of missing the point. These videos are built around notebooks. Those notebooks can easily be tested against the newest version of Julia and Julia packages. The video is a presentation of the notebooks at the time of recording, but the time it takes to do a webinar is probably much less than the time it takes from sitting down to write a notebook to having a fully polished notebook or series of notebooks.

I don’t think it’s that hard to produce webinars conditional on the notebook already being produced (which is what you’d want for example, so that has to be done either way). 10 year old kids are capable of producing high quality (not content-wise perhaps) online videos, so a tech oriented scientist should be able to as well.

2 Likes

I was specifically talking about Julia’s tutorial videos and students meaning to learn Julia. Not some adjunktpædagogikum-project produced videos I had lying around :smiley:

Certainly. I can’t speak for other people, though I do have some teaching experience.

My point is that I am not convinced that videos are a good tool for learning, compared to interactive notebooks or just blog posts. This is primarily because of the asynchronous aspect of learning: there will be parts that someone would want to dwell on, and other parts one may want to skim through in the first pass and come back to. The linear nature of videos makes this difficult (also, these points are well known, and hardly subjective).

Videos may be great for advertising capabilities of Julia though. While I respect the work that people have put into them, I disagree with

because I think that the effort/benefit ratio is really high, and that time is better spent on other things (eg improving the documentation).

Without indending to disparage anyone’s work, again I disagree. Most of the videos I have seen would benefit a lot from (heavy) editing. Talking fluently for hours without a lot of filler words is also a very difficult skill. I don’t have these skills either, and I think that very few people do.

I don’t really understand the objections. The result of a video being prepared brings everything you ask for. On top of that, the person sits down and records a walk-through of the notebook.

I do agree that they could perhaps be closer to lightning talks that full term courses in terms of length, but that’s a matter of experimenting and hopefully getting some feedback along the way.

To each his own is beautiful.

1 Like

You are of course correct about the above (if we abstract from the opportunity cost of time). Just to clarify: my objections are mainly to

I would prefer if this did not become an (implicit) requirement, and developers of major (and minor) projects would still feel OK with spending their time on other things instead (eg another notebook or more plain vanilla documentation, with examples). Just my 2 cents, I will not harp on this further.

1 Like

The reason why making a video is nice is because the effort is so low yet the outreach is so high… it gets people pumped to learn it and start searching for the relevant point in the docs. I agree though that it’s not for everyone, but if you’re already the “entertainer type” (did theater for 8 years here :smile:) then not only is it fun to do but it’s also like 1 hour of prep and go.

1 Like

Quite a while ago I suggested to create a central repository of tutorials, examples, etc, modelled on

https://uk.mathworks.com/examples/?s_tid=mlc_ME

Whatever you think of Matlab, this is quite a nice collection. I even wrote some myself showing how to implement some very basic PDE solvers (though haven’t updated those in a while).

If JuliaComputing wants to take this on, JuliaBox could even make it possible to run those examples interactively (rather than just reading them).

3 Likes

Thanks! :slight_smile: Some of these things coming from R are quite confusing. I will try that and see if I can get that to work!

Thanks, sorry I sound like I offended you. Not the purpose or intent of my post. Just thought a different perspective was needed from what I read. I found the intro video on youtube. I will watch soon. I honestly can’t say how much R has changed as I started learning only in 2012… But I agree that I’m sure Julia’s will develop much like R and get better with time on many of the things I commented on. I was just agreeing with the original post as I see many of the people converting to Julia are coming from C++ and not R. I don’t find Julia hard like C++ (the little I know), but I find it just as frustrating at times.

I understand it’s pre 1.0. No argument. But that can only last so long… People like myself may have bad experiences as you guys develop and things break and that will deter people from R from making the switch. Yes, that’s kind of what I’m saying. Many in R are not interested in development and so many ideas are coming now from developers and not thinking what will be easiest for a beginner. Lots of ideas coming from lots of places and it makes it extremely hard to learn. Many find R has a “steep” learning curve. For many on here, Julia is easy, but for many coming from R (not you), it will be quite challenging as I’m finding out. I will help from an animal breeding standpoint, but not developing Julia itself. We are starting to make the switch. BGLR and JWAS are two packages that have moved to R (genomic analyses in animal/plant breeding).

Oh yes, again, I understand on this one. Again, I’m just worried many will try it and get stuck as development continues and not want to try it again. Where R is stable and they can rely on it. I guess I’m just hoping for long term stability… As many of us can’t afford to re-write code as we get are in our graduate studies. I’ve only changed some code and had a few issues with dplyr and ggplot2 for the last maybe 2/3 years. Just in general to try to keep things the same as much as possible for less experienced users I see in R.

I just mean when something is weird in R I get fairly straightforward errors. You stated R has fixed much of this. I’m just telling you what I’ve seen. I’ve had error messages and figured it out, but not based on the errors which seem pretty generic right now. Some of them are very straightforward.

With the package manager I’ve tried to download packages and they have just not worked. Pkg.add(whatever) and it has completely crashed. We don’t have time for this. I’ve only had one issue with R packages and I was trying to download lmer on my Ubuntu machine. I had at least 3 packages fail to load using 0.5 I think… Just my observation.

Sorry, I just mean Atom isn’t quite RStudio. Thanks for the tip, I’ll try that. I just haven’t had good luck with Atom and don’t ever use it. I’ve had trouble loading julia and other things. And not very intuitive or easy to use for beginners (just for me at least). I probably just need to actually learn all the ins and outs of it. But for RStudio, I just click, download, it works every time with everything organized in a more familiar manor and easy to use. Just my opinion you don’t have to agree. But I know my girlfriend loves the RStudio interface and hates computers and that is easy for her (I’ve only managed to teach her some ggplot2 and dplyr). I spend most of my time working with computers and it’s frustrated me quite a bit to the point I just dropped it so maybe others feel the same? Maybe just me…

The symbols comment was just more of an example of some of the hurdles that are new for R users and to identify those quickly for a beginner guide that the original post talked about. I’m not saying we should no use any of the things I mentioned (like macros). I’m sure they have good reason to use symbols, but I didn’t know what they were or how to convert them or deal with them so I struggled. Just me. I’m just trying to throw out things I personally struggled to understand in my part time journey to learn Julia. I will admit, I don’t have a lot of time to devote to Julia. I just wanted to support the original post as I even think R is fairly weak in it’s basic docs. NOT the books and everything. Just when you help(function) it doesn’t give you much. I know someone went on a rant about docs in R and got some backlash for it. I don’t feel that strongly.

For instance, in DataFrames. I see 19 different arguments for the readtable() function. Yet in the examples when you do ?readtable I only get 2 of the options that show me how to use them. I was trying to use the eltypes argument and couldn’t for the life of me. I guess I didn’t need quotes. I couldn’t find this for days after searching dataframes docs and other julia docs. So I finally just emailed a guy and he answered. This is where Julia could maybe do a little more for new users just to add maybe 10/15 examples. This would make it easier for new users and not get frustrated by Julia (and I know many get frustrated with R and it’s quite a bit easier). These packages are great, so why not spend 20 minutes to add a few more examples?

Anyway, didn’t mean to offend you. Just some thoughts as an R user to help Julia get better. I really want to switch over but I can’t spend several hours to figure out basic things about Julia like I have mentioned. It will come with time, I’m sure it will get there as many of us are excited for 1.0.

1 Like

Thanks for the reply. Yes, I understand. I commented on another post. I’m only worried because Julia is getting some hype around (I’ve started seeing even Hadley mention it and if Hadley is mentioning it people will listen). So i don’t want new people to jump over and quite do to frustrations. Not trying to compare R to Julia. Just to say that people like myself have tried to move over and not found the needed docs to succeed. So my only point was to support the original post and say I’ve been very frustrated and quit do to lack of docs and many of us in the scientific world don’t have time to troubleshoot these problems. I’m 100% it will become much more stable. But in the mean time, maybe people will jump over and get frustrated and quit and you will lose a large group of R users that may have moved over. I think many of us are just anxious to jump over when it becomes stable. I see a lot of potential here. I just want to make sure people using Julia are not just focused on bringing over C++/Fortran/Python guys and may think more about ease of use for beginners like myself who don’t come from a programmers background. Many R users are scientific and not computer scientists and I’ve found myself confused by all the integration of the different languages that influenced Julia. Many of you are experts in many or all of these languages. So my post is strictly as a non programmer/ computer science mind that might help if there are even more intro docs. To help you guys bring over that crowd and not focus on the programmers view.

Yes, I certainly plan on trying to help in any way I can, but I can’t even figure out some simple things so it may be some time before I can help :). Many of us in the scientific (biology) world are getting excited about Julia. I’m just trying to help as what I see from my view when I look at Julia and frustrations I’ve faced. No doubt it will get better as stable versions come out and more development is done. I just don’t want you guys to forget about us average folks. Just to support the original post, not to be critical.

Hey, sorry I came across as offended. I wasn’t at all, in fact. Well a tiny bit about “Atom is horrible” because it’s the kind of sentence that can make people feel bad but will rarely actually lead to improvements, because it is non-actionable. But otherwise not at all :slight_smile:

I was just trying to give you point-by-point responses, something people tend to do when they are offended, but also when they respond to point-by-point critique (especially if they are scientists (I’m a biologist)). Note I also agreed with you a couple of times!

I agree, the in-REPL help currently isn’t very nice for keyword arguments. In R we’re used to getting the entire documentation with ?function, but because of multiple dispatch (I think) most documentation tends to be in larger “readthedocs” websites rather than being accessible in full at the REPL.

1 Like

For the record, I think it’s still slightly premature to have the big move-in from R. The (missing) data and model formulation frameworks just aren’t quite there yet (but really close).

2 Likes

Good point!

Sorry for dropping another source, but @ryanb’s RailsCasts were awesome for learning Rails and covered pretty much any topic you might ever have:

Granted, he burnt out by Episode 416 (in 2013). But even in 2018, you can google a Rails problem and his answer will be better than the most active stack overflow post.

His style of talking and giving code with a forum of people chiming in really eased me into that community.


summarizing:

  • i think @Tamas_Papp and @mkborregaard are completely spot on about people not wanting to watch videos (especially when forced)
  • with railscasts though, i was able to start off reading and then watch the corresponding video if necessary (which then became binge-able the more i watched them)
1 Like

Maybe next time you give Julia a go, when facing undocumented trouble, try asking questions here. I am sure people will be more than happy to help. Personally, much of my Julia learning experience happened here on Discourse. Of course sitting down and reading most of the docs helped significantly, but if you don’t have time for that and a google search didn’t really help you, then try reaching out for the community, it can actually be awesome at many times!

2 Likes

I certainly understand how dealing with issues can be frustrating when programming, especially in addition to research, where you encounter plenty of other challenges to deal with to keep you occupied :smile: I also agree that it is evident that Julia is not yet ready to be a replacement for R for users who demand a mature environment.

I am confident Julia and its package ecosystem will get there, but I am also sure that it will take a few years. I am wondering if the issue is simply about the management of expectations: perhaps when we extol the advantages of Julia, we should also emphasize that it is work in progress and should be approached with a specific mindset (“things will definitely break, but I can get help from the community to deal with it, and I will be learning a lot fixing things”).

1 Like

Yes, I’m not concerned about Julia maturing. From others that I know used it years ago they say it’s way better and more stable than it was then of course. I started learning maybe 2 years ago and it’s getting much better.

You are 100% about expectations. I guess my general point to this group is that maybe the Julia community needs to make that clear (which was not clear to me when I started Julia). There was no warning, “This is still pre 1.0 version, expect challenges when working with a beta version of this software”. Because I’m sure you guys know Julia is starting to pop up in my Twitter and R-Bloggers somewhat frequently (at least mentioned). I follow as much Julia stuff on Twitter as I can and things like these message boards. So I know it’s getting better, but an average Joe R programmer will jump over not knowing and get frustrated and tell all their R friends to not bother with Julia. I don’t want that to happen. So yes, the expectations for what we see on R-bloggers and Twitter are that there is this new amazing language, then we try it and it breaks those expectations pretty quick when we can’t convert a dataframe to a matrix array or do simple things like as.matrix() in R. So again to back up the original post, more clear and concise examples are good. I do see the Julia for R users (or noteworthy section), but some of these things are not clear and will not make sense to the average R programmer. So examples and better intro docs to the original post are still needed by the community. But with the rapid advancements I know this is very hard to keep up with. I’m just here to tell you guys what my group may see and to maybe tone down the expectations and try not to spread it too fast before it’s “stable”. Hope this makes sense. Not trying to be critical of you guys, just to point out that developers may not see things as a general user from a higher language may see things.

To be fair, you get this info each time you start up Julia, and the rest is implied by the version number:

tamas@tamas:~$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.6.2 (2017-12-13 18:08 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

julia> 

Hi

I’ve just finished a porting of the book “Think Python” to “Think Julia”. This is still draft material but my students with no or limited programming experience are advancing at a rapid pace. In the lectures (notebooks) I introduce them also some basic Python and C++ syntax but alle examples are in Julia.
I have tried to stay as close as possible to the original work and I am looking to publish a pure Julia version under an open license with agreement of the author of “Think Python” with the first 4 lectures reduced and a final chapter on some Julia goodies…

So feel free to use my notebooks and all remarks are welcome by opening an issue in Github.

20 Likes