[julia-users] Re: Mathematical Computing course in Julia

2016-04-20 Thread Henri Girard
Thank you very much... I am trying to start julia with jupyter notebook and 
your course is really helpfull
Kind regards
Henri

Le vendredi 15 avril 2016 04:17:40 UTC+2, Sheehan Olver a écrit :
>
>
>
> I'm currently lecturing the course MATH3076/3976 Mathematical Computing at 
> U. Sydney in Julia, and thought that others may be interested in the 
> resources I've provided:
>
> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>
> The lecture notes and labs are all Jupyter notebooks.  I've also included 
> a "cheat sheet" of Julia commands used in the course
>
>
> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>
> The course is ongoing (it's about half through) and will continue to take 
> shape, but any feedback is of course welcome!
>
>
> Sheehan Olver
>


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-17 Thread Scott Jones


On Saturday, April 16, 2016 at 6:57:51 AM UTC-4, Tim Holy wrote:
>
> I agree line numbers have been a persistent problem in julia. In a 
> language 
> that inlines as aggressively as julia, and uses macros and metaprogramming 
> to 
> generate code, it's not a trivial problem---in some cases you might even 
> wonder what "line number" really means. 
>
> Fortunately, you'll be pleased to hear that, due to some fantastic work by 
> multiple people, in the current development version of julia your example 
> gives the following: 
>

I'll second what Tim said,  tracking down bugs is just *SOOO* much easier 
now in v0.5 (master) with the correct line numbers.
It's precisely because of the aggressive inlining and metaprogramming that 
without good line number reporting debugging is so difficult in older 
versions of Julia.
I've been testing Gallium also (but it dies when trying to step through my 
code, so for a while more I'm stuck with adding debugging statements) I'm 
*very* much looking forward to Gallium getting released!
I end up doing initial debugging on v0.5 because of that, and then do 
further testing on v0.4.5 (which is what we are using for deployment) to 
make sure there are no version specific problems.

Kudos to all those who've been working on improving the whole debugging 
experience in Julia!


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-17 Thread Daniel Carrera
It works! Thanks!

On 17 April 2016 at 00:30, Steven G. Johnson  wrote:

>
>
> On Saturday, April 16, 2016 at 12:44:54 AM UTC-4, Daniel Carrera wrote:
>>
>> Is there a way to try out your instructions on a computer where I have
>> previously installed IJulia and PyPlot? Or do I have to remove and re-add
>> IJulia and PyPlot?
>>
>
> Yes, just substitute Pkg.build for Pkg.add in my instructions.
>
>
>> If I follow these instructions, will Julia also keep Jupyter and Python
>> updated? (i.e. every time I run Pkg.update()). Right now I have an eclectic
>> mix where Python is updated with apt, Jupyter with pip3, and Julia packages
>> with Pkg.update().
>>
>
> I don't think Conda auto-upgrades its installation when you do
> Pkg.update().  But if you do "import Conda; Conda.update()" then it will
> update all its packages (including Python, Jupyter, and Matplotlib) to the
> latest version.
>


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-16 Thread Steven G. Johnson


On Saturday, April 16, 2016 at 12:44:54 AM UTC-4, Daniel Carrera wrote:
>
> Is there a way to try out your instructions on a computer where I have 
> previously installed IJulia and PyPlot? Or do I have to remove and re-add 
> IJulia and PyPlot?
>

Yes, just substitute Pkg.build for Pkg.add in my instructions.
 

> If I follow these instructions, will Julia also keep Jupyter and Python 
> updated? (i.e. every time I run Pkg.update()). Right now I have an eclectic 
> mix where Python is updated with apt, Jupyter with pip3, and Julia packages 
> with Pkg.update().
>

I don't think Conda auto-upgrades its installation when you do 
Pkg.update().  But if you do "import Conda; Conda.update()" then it will 
update all its packages (including Python, Jupyter, and Matplotlib) to the 
latest version. 


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-16 Thread Peter Kovesi
Thanks Tim.  That is very good news indeed!

On Saturday, April 16, 2016 at 6:57:51 PM UTC+8, Tim Holy wrote:
>
> I agree line numbers have been a persistent problem in julia. In a 
> language 
> that inlines as aggressively as julia, and uses macros and metaprogramming 
> to 
> generate code, it's not a trivial problem---in some cases you might even 
> wonder what "line number" really means. 
>
> Fortunately, you'll be pleased to hear that, due to some fantastic work by 
> multiple people, in the current development version of julia your example 
> gives the following: 
>
> julia> include("/tmp/linenumbers.jl") 
> ERROR: LoadError: ArgumentError: invalid type for argument a in method 
> definition for foo at /tmp/linenumbers.jl:5 
>  in include(::ASCIIString) at ./boot.jl:234 
>  in include_from_node1(::ASCIIString) at ./loading.jl:417 
>  in eval(::Module, ::Any) at ./boot.jl:237 
> while loading /tmp/linenumbers.jl, in expression starting on line 4 
>
> Not only is the error message much easier to interpret, but every one of 
> those 
> line numbers is correct. This appears to hold generally---in recent 
> julia-0.5 
> builds, I have yet to notice an incorrect line number anywhere. One could 
> construct examples where code is built up by expressions that 
> (deliberately or 
> not) get this wrong, but for any "typical" usage this appears to be fixed. 
>
> Best, 
> --Tim 
>
> On Friday, April 15, 2016 07:01:05 PM Peter Kovesi wrote: 
> > Sheehan, That's a very nice looking course but I think you are very 
> brave 
> > to use Julia at this stage. 
> > I love the language but (at this stage of the language's development) 
> the 
> > error reporting is highly problematic.  For example this morning I made 
> a 
> > classic mistake 
> > 
> > function foo(a::real) # Should have been:   function foo(a::Real) 
> >  ... 
> > end 
> > 
> > The function was defined at line 998, the error was reported at line 
> 433, 
> >  565 lines away!  The message was 
> > "ERROR: LoadError: TypeError: Tuple: in parameter, expected Type{T}, got 
> > Function" 
> > 
> > Good luck to your students! 
> > 
> > Working in Julia requires a practice of defensive incremental coding in 
> the 
> > extreme.  Every few lines of code that are added need to be tested 
> before 
> > carrying on.  That way you know that any errors are in the few lines of 
> > code that were just added and not at whatever spurious location was 
> being 
> > suggested. 
> > 
> > Let me say again I love the language.  However the error reporting is a 
> > source of extreme frustration to me. 
> > 
> > A key pathway to getting Julia more widely adopted would be for it to be 
> > used for teaching purposes.  However, at the moment I fear that any 
> attempt 
> > to do so would surely end in tears. 
> > 
> > Peter Kovesi 
> > 
> > On Friday, April 15, 2016 at 10:17:40 AM UTC+8, Sheehan Olver wrote: 
> > > I'm currently lecturing the course MATH3076/3976 Mathematical 
> Computing at 
> > > U. Sydney in Julia, and thought that others may be interested in the 
> > > resources I've provided: 
> > > 
> > > http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/ 
> > > 
> > > The lecture notes and labs are all Jupyter notebooks.  I've also 
> included 
> > > a "cheat sheet" of Julia commands used in the course 
> > > 
> > > 
> > > 
> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MAT 
> > > H3976/cheatsheet.ipynb 
> > > 
> > > The course is ongoing (it's about half through) and will continue to 
> take 
> > > shape, but any feedback is of course welcome! 
> > > 
> > > 
> > > Sheehan Olver 
>
>

Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-16 Thread Tim Holy
I agree line numbers have been a persistent problem in julia. In a language 
that inlines as aggressively as julia, and uses macros and metaprogramming to 
generate code, it's not a trivial problem---in some cases you might even 
wonder what "line number" really means.

Fortunately, you'll be pleased to hear that, due to some fantastic work by 
multiple people, in the current development version of julia your example 
gives the following:

julia> include("/tmp/linenumbers.jl")
ERROR: LoadError: ArgumentError: invalid type for argument a in method 
definition for foo at /tmp/linenumbers.jl:5
 in include(::ASCIIString) at ./boot.jl:234
 in include_from_node1(::ASCIIString) at ./loading.jl:417
 in eval(::Module, ::Any) at ./boot.jl:237
while loading /tmp/linenumbers.jl, in expression starting on line 4

Not only is the error message much easier to interpret, but every one of those 
line numbers is correct. This appears to hold generally---in recent julia-0.5 
builds, I have yet to notice an incorrect line number anywhere. One could 
construct examples where code is built up by expressions that (deliberately or 
not) get this wrong, but for any "typical" usage this appears to be fixed.

Best,
--Tim

On Friday, April 15, 2016 07:01:05 PM Peter Kovesi wrote:
> Sheehan, That's a very nice looking course but I think you are very brave
> to use Julia at this stage.
> I love the language but (at this stage of the language's development) the
> error reporting is highly problematic.  For example this morning I made a
> classic mistake
> 
> function foo(a::real) # Should have been:   function foo(a::Real)
>  ...
> end
> 
> The function was defined at line 998, the error was reported at line 433,
>  565 lines away!  The message was
> "ERROR: LoadError: TypeError: Tuple: in parameter, expected Type{T}, got
> Function"
> 
> Good luck to your students!
> 
> Working in Julia requires a practice of defensive incremental coding in the
> extreme.  Every few lines of code that are added need to be tested before
> carrying on.  That way you know that any errors are in the few lines of
> code that were just added and not at whatever spurious location was being
> suggested.
> 
> Let me say again I love the language.  However the error reporting is a
> source of extreme frustration to me.
> 
> A key pathway to getting Julia more widely adopted would be for it to be
> used for teaching purposes.  However, at the moment I fear that any attempt
> to do so would surely end in tears.
> 
> Peter Kovesi
> 
> On Friday, April 15, 2016 at 10:17:40 AM UTC+8, Sheehan Olver wrote:
> > I'm currently lecturing the course MATH3076/3976 Mathematical Computing at
> > U. Sydney in Julia, and thought that others may be interested in the
> > resources I've provided:
> > 
> > http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
> > 
> > The lecture notes and labs are all Jupyter notebooks.  I've also included
> > a "cheat sheet" of Julia commands used in the course
> > 
> > 
> > http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MAT
> > H3976/cheatsheet.ipynb
> > 
> > The course is ongoing (it's about half through) and will continue to take
> > shape, but any feedback is of course welcome!
> > 
> > 
> > Sheehan Olver



Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-16 Thread Sheehan Olver
I had IJulia installed on our lab machines in a shared folder specified in 
LOAD_PATH.  Then had the students copy the Jupyter config file to their local 
directory.  This way they could each run their own Jupyter server.

This has worked fairly well.  If students want to install on their own 
machines, then that's their own responsibility. 

I avoided JuliaBox as I ran into issues with it in the past.



Sent from my iPhone

> On 16 Apr 2016, at 19:34, Daniel Carrera  wrote:
> 
> 
>> On 16 April 2016 at 10:33, Tamas Papp  wrote:
>> 
>> In a university you usually have an IT department who would maintain the
>> server; it is very unusual that these kind of tasks would be the
>> responsibility of the lecturer. Many universities already run Jupyter so
>> it is easy to add Julia, and if they don't, setting it up is not that
>> big of a deal for IT -- you should be able to convince them.
> 
> 
> To start with, I am not a lecturer (other than in the sense that I do a 
> little bit of teaching). I have never seen a university that serve a new web 
> app for 50,000 students campus-wide because one PhD student in astronomy with 
> a class of 30 doesn't like Matlab. When I am a lecturer in charge of a course 
> I would have freedom to choose the course software, and I will be able to 
> ditch Matlab because I don't like it. At that moment, I would probably tell 
> the students to use JuliaBox or to install Julia+Jupyter on their computer 
> using Steven's instructions.
> 
> Cheers,
> Daniel.
> 


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-16 Thread Daniel Carrera
On 16 April 2016 at 10:33, Tamas Papp  wrote:

>
> In a university you usually have an IT department who would maintain the
> server; it is very unusual that these kind of tasks would be the
> responsibility of the lecturer. Many universities already run Jupyter so
> it is easy to add Julia, and if they don't, setting it up is not that
> big of a deal for IT -- you should be able to convince them.
>


To start with, I am not a lecturer (other than in the sense that I do a
little bit of teaching). I have never seen a university that serve a new
web app for 50,000 students campus-wide because one PhD student in
astronomy with a class of 30 doesn't like Matlab. When I am a lecturer in
charge of a course I would have freedom to choose the course software, and
I will be able to ditch Matlab because I don't like it. At that moment, I
would probably tell the students to use JuliaBox or to install
Julia+Jupyter on their computer using Steven's instructions.

Cheers,
Daniel.


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-16 Thread Tamas Papp
On Fri, Apr 15 2016, Daniel Carrera wrote:

> As for jupyterhub, I honestly had not heard of it until you mentioned it
> just now. The website says that it's a multi-user server. I definitely
> don't want to go down that route. I wouldn't want to be responsible for
> running a server where students are supposed to do their work. But I think
> JuliaBox is probably a good option. I guess my thoughts of Jupyter were
> tainted by the experience with the Macbook and R.

In a university you usually have an IT department who would maintain the
server; it is very unusual that these kind of tasks would be the
responsibility of the lecturer. Many universities already run Jupyter so
it is easy to add Julia, and if they don't, setting it up is not that
big of a deal for IT -- you should be able to convince them.

Best,

Tamas


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-16 Thread cdm

how does real time collab in Jupyter (perhaps with a Julia kernel ...) with 
multiple synced cursors sound ?

   https://twitter.com/sagemath/status/713399552649338880


{straight wizardry, yo ...}


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-16 Thread cdm

it may be worth noting that the Sage Math Cloud would appear to be fine 
environment for this sort of instruction ...


see:

   https://groups.google.com/d/msg/sage-cloud/V9QGAg-dJ3Q/8ly0Ca4OEAAJ

and/or

   https://cloud.sagemath.com

   http://www.beezers.org/blog/bb/2015/09/grading-in-sagemathcloud/

   https://github.com/sagemathinc/smc/wiki/Teaching

   https://cloud.sagemath.com/help


Julia seems to run fine for me on SMC and

W. Stein is doing simply brilliant work ...


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Daniel Carrera
In defense of Python, I don't see why it requires OOP concepts. Python is
happy to work in a very procedural way. I started to like Python when
Python 3 became mature. They really made the language a lot more consistent
and predictable.

I agree with the rest of what you wrote. I don't criticize C; it's just
fundamentally a lower-level language. But Matlab has no excuse. There is no
good reason to require one function per file, or to not have namespaces.
But I always thought Matlab was an employable skill. I'm surprised to learn
that it isn't.

I am a PhD student. I teach a short 3-day (six hour) course on scientific
computing and Matlab for incoming students from several courses so they can
use it to do their homework. I came up with the course idea a few years ago
and it has been a big success. We had a course that required an old
custom-made tool to select stars from a catalogue. Then the students would
import the output into Matlab and make a few simple plots. I had the idea
to drop that tool and instead teach the kids how use slices and masks in
Matlab. The student performance increased dramatically, and the following
year I was asked to teach a few introductory lessons for Matlab. The
following year more teachers sent me their students.

If I was a permanent employee, I would advocate a switch from Matlab to
Julia. But this is my final year, and there is no-one else here who knows
Julia.

Cheers,
Daniel.



On 16 April 2016 at 05:22, Sheehan Olver  wrote:

> I don't think Julia's error message situation is particularly worse than C
> (where memory access bugs trigger crashes randomly)  or Mathematica (where
> many bugs end in infinite loops of symbolic computations that eat up all
> available memory).   I also think teaching in Python would be harder, since
> it requires OOP concepts.  Matlab teaches too many bad programming habits,
> hides what's going on from the students, and is not a particularly
> employable skill  (as we've been told by prospective employers).
>
> So while Julia has its quirks, I don't see another language that is
> clearly better.
>
>
> On Saturday, April 16, 2016 at 12:01:05 PM UTC+10, Peter Kovesi wrote:
>>
>>
>> Sheehan, That's a very nice looking course but I think you are very brave
>> to use Julia at this stage.
>> I love the language but (at this stage of the language's development) the
>> error reporting is highly problematic.  For example this morning I made a
>> classic mistake
>>
>> function foo(a::real) # Should have been:   function foo(a::Real)
>>  ...
>> end
>>
>> The function was defined at line 998, the error was reported at line 433,
>>  565 lines away!  The message was
>> "ERROR: LoadError: TypeError: Tuple: in parameter, expected Type{T}, got
>> Function"
>>
>> Good luck to your students!
>>
>> Working in Julia requires a practice of defensive incremental coding in
>> the extreme.  Every few lines of code that are added need to be tested
>> before carrying on.  That way you know that any errors are in the few lines
>> of code that were just added and not at whatever spurious location was
>> being suggested.
>>
>> Let me say again I love the language.  However the error reporting is a
>> source of extreme frustration to me.
>>
>> A key pathway to getting Julia more widely adopted would be for it to be
>> used for teaching purposes.  However, at the moment I fear that any attempt
>> to do so would surely end in tears.
>>
>> Peter Kovesi
>>
>>
>> On Friday, April 15, 2016 at 10:17:40 AM UTC+8, Sheehan Olver wrote:
>>>
>>>
>>>
>>> I'm currently lecturing the course MATH3076/3976 Mathematical Computing
>>> at U. Sydney in Julia, and thought that others may be interested in the
>>> resources I've provided:
>>>
>>> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>>>
>>> The lecture notes and labs are all Jupyter notebooks.  I've also
>>> included a "cheat sheet" of Julia commands used in the course
>>>
>>>
>>> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>>>
>>> The course is ongoing (it's about half through) and will continue to
>>> take shape, but any feedback is of course welcome!
>>>
>>>
>>> Sheehan Olver
>>>
>>


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Daniel Carrera
On 16 April 2016 at 04:01, Peter Kovesi  wrote:

>
> Working in Julia requires a practice of defensive incremental coding in
> the extreme.  Every few lines of code that are added need to be tested
> before carrying on.  That way you know that any errors are in the few lines
> of code that were just added and not at whatever spurious location was
> being suggested.
>


I have never felt that way about Julia. I think all languages require
incremental coding (I just call this good practice) and all languages have
error messages that students find very difficult to decipher. I think
Julia's error messages are no worse than other languages; in turn, Julia's
clean and simple syntax makes it easier to get code right the first time.
You gave the example of type annotations. I consider that to be a
relatively advanced topic. Julia code works just fine without type
annotations, and only a tiny fraction of my code uses them. The error you
posted also makes for a good teaching opportunity. Yes, it will confuse the
student the first time. But you can explain what it means.



>
> Let me say again I love the language.  However the error reporting is a
> source of extreme frustration to me.
>


:-(

Can you give me an example of a language that you think has good error
reporting? I'm not saying that Julia is fabulous. I think other languages
suck too. I suspect that error reporting is an inherently difficult problem.

Cheers,
Daniel.


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Daniel Carrera
Is there a way to try out your instructions on a computer where I have
previously installed IJulia and PyPlot? Or do I have to remove and re-add
IJulia and PyPlot?

If I follow these instructions, will Julia also keep Jupyter and Python
updated? (i.e. every time I run Pkg.update()). Right now I have an eclectic
mix where Python is updated with apt, Jupyter with pip3, and Julia packages
with Pkg.update().

Cheers,
Daniel.


On 15 April 2016 at 21:29, Steven G. Johnson  wrote:

> For installation, what I recommend (https://github.com/stevengj/julia-mit)
> is:
>
> ENV["PYTHON"]=""
> ENV["JUPYTER"]=""
> Pkg.add("IJulia")
> Pkg.add("PyPlot")
>
>
> That way, it will automatically download and use its own Miniconda
> installation of Python and Jupyter, regardless of what the user has on
> their machine.   Then, run Jupyter via
>
> using IJulianotebook()
>
> at the julia REPL prompt.
>
> Regarding PyPlot documentation, there is a ton of documentation out there
> for Matplotlib.  The trick is just to translate the Python syntax to
> Julia/PyCall syntax.
>


[julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Sheehan Olver
I don't think Julia's error message situation is particularly worse than C 
(where memory access bugs trigger crashes randomly)  or Mathematica (where 
many bugs end in infinite loops of symbolic computations that eat up all 
available memory).   I also think teaching in Python would be harder, since 
it requires OOP concepts.  Matlab teaches too many bad programming habits, 
hides what's going on from the students, and is not a particularly 
employable skill  (as we've been told by prospective employers).

So while Julia has its quirks, I don't see another language that is clearly 
better.


On Saturday, April 16, 2016 at 12:01:05 PM UTC+10, Peter Kovesi wrote:
>
>
> Sheehan, That's a very nice looking course but I think you are very brave 
> to use Julia at this stage.
> I love the language but (at this stage of the language's development) the 
> error reporting is highly problematic.  For example this morning I made a 
> classic mistake
>
> function foo(a::real) # Should have been:   function foo(a::Real)
>  ...
> end
>
> The function was defined at line 998, the error was reported at line 433, 
>  565 lines away!  The message was
> "ERROR: LoadError: TypeError: Tuple: in parameter, expected Type{T}, got 
> Function"
>
> Good luck to your students!
>
> Working in Julia requires a practice of defensive incremental coding in 
> the extreme.  Every few lines of code that are added need to be tested 
> before carrying on.  That way you know that any errors are in the few lines 
> of code that were just added and not at whatever spurious location was 
> being suggested.
>
> Let me say again I love the language.  However the error reporting is a 
> source of extreme frustration to me.
>
> A key pathway to getting Julia more widely adopted would be for it to be 
> used for teaching purposes.  However, at the moment I fear that any attempt 
> to do so would surely end in tears.
>
> Peter Kovesi
>
>
> On Friday, April 15, 2016 at 10:17:40 AM UTC+8, Sheehan Olver wrote:
>>
>>
>>
>> I'm currently lecturing the course MATH3076/3976 Mathematical Computing 
>> at U. Sydney in Julia, and thought that others may be interested in the 
>> resources I've provided:
>>
>> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>>
>> The lecture notes and labs are all Jupyter notebooks.  I've also included 
>> a "cheat sheet" of Julia commands used in the course
>>
>>
>> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>>
>> The course is ongoing (it's about half through) and will continue to take 
>> shape, but any feedback is of course welcome!
>>
>>
>> Sheehan Olver
>>
>

[julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Peter Kovesi

Sheehan, That's a very nice looking course but I think you are very brave 
to use Julia at this stage.
I love the language but (at this stage of the language's development) the 
error reporting is highly problematic.  For example this morning I made a 
classic mistake

function foo(a::real) # Should have been:   function foo(a::Real)
 ...
end

The function was defined at line 998, the error was reported at line 433, 
 565 lines away!  The message was
"ERROR: LoadError: TypeError: Tuple: in parameter, expected Type{T}, got 
Function"

Good luck to your students!

Working in Julia requires a practice of defensive incremental coding in the 
extreme.  Every few lines of code that are added need to be tested before 
carrying on.  That way you know that any errors are in the few lines of 
code that were just added and not at whatever spurious location was being 
suggested.

Let me say again I love the language.  However the error reporting is a 
source of extreme frustration to me.

A key pathway to getting Julia more widely adopted would be for it to be 
used for teaching purposes.  However, at the moment I fear that any attempt 
to do so would surely end in tears.

Peter Kovesi


On Friday, April 15, 2016 at 10:17:40 AM UTC+8, Sheehan Olver wrote:
>
>
>
> I'm currently lecturing the course MATH3076/3976 Mathematical Computing at 
> U. Sydney in Julia, and thought that others may be interested in the 
> resources I've provided:
>
> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>
> The lecture notes and labs are all Jupyter notebooks.  I've also included 
> a "cheat sheet" of Julia commands used in the course
>
>
> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>
> The course is ongoing (it's about half through) and will continue to take 
> shape, but any feedback is of course welcome!
>
>
> Sheehan Olver
>


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Daniel Carrera
On 15 April 2016 at 21:29, Steven G. Johnson  wrote:

> For installation, what I recommend (https://github.com/stevengj/julia-mit)
> is:
>


... That page is really good ... Bookmarked.

Cheers,
Daniel.


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Daniel Carrera
Hello,

On 15 April 2016 at 21:29, Steven G. Johnson  wrote:

> For installation, what I recommend (https://github.com/stevengj/julia-mit)
> is:
>
> ENV["PYTHON"]=""
> ENV["JUPYTER"]=""
> Pkg.add("IJulia")
> Pkg.add("PyPlot")
>
>
> That way, it will automatically download and use its own Miniconda
> installation of Python and Jupyter, regardless of what the user has on
> their machine.
>


Good to know.



> Regarding PyPlot documentation, there is a ton of documentation out there
> for Matplotlib.  The trick is just to translate the Python syntax to
> Julia/PyCall syntax.
>


Yes, indeed. I usually reply on the API reference which is quite excellent;
and when I have a problem I can't solve, I usually find a ready-made
solution in Stack Overflow. It has taken me a while to learn how to
translate the Python doc to PyPlot. I guess I've been a slow learner. Some
times I entertain the thought of making a copy of the API doc and
converting it to Julia, but then I realize what a big task that would be,
and that soon the doc would be out of sync.


Cheers,
Daniel.


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Steven G. Johnson


On Friday, April 15, 2016 at 3:27:57 PM UTC-4, Daniel Carrera wrote:
>
> Can you explain that? Is someone going to fund Julia if JuliaBox is used 
> for education?
>

Julia gets donations (via NumFocus) that are used to support JuliaBox and 
other activities (e.g. JuliaCon).   It helps to get funding if you can 
advertise to the sponsors that JuliaBox is enabling exciting new 
educational work. 


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Steven G. Johnson
For installation, what I recommend (https://github.com/stevengj/julia-mit) 
is:

ENV["PYTHON"]=""
ENV["JUPYTER"]=""
Pkg.add("IJulia")
Pkg.add("PyPlot")


That way, it will automatically download and use its own Miniconda 
installation of Python and Jupyter, regardless of what the user has on 
their machine.   Then, run Jupyter via

using IJulianotebook()

at the julia REPL prompt.

Regarding PyPlot documentation, there is a ton of documentation out there 
for Matplotlib.  The trick is just to translate the Python syntax to 
Julia/PyCall syntax.


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Daniel Carrera
Can you explain that? Is someone going to fund Julia if JuliaBox is used
for education?

On 15 April 2016 at 21:09, Zheng Wendell  wrote:

> By the way, if you use JuliaBox for your teaching. Don't forget to
> announce it to the Julia team, so that they can get more funding to
> maintain it.
>
> Disclaimer: I have no relation with the Julia team.
>
>
>
> On Fri, Apr 15, 2016 at 8:50 PM, Daniel Carrera
>


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Zheng Wendell
By the way, if you use JuliaBox for your teaching. Don't forget to announce
it to the Julia team, so that they can get more funding to maintain it.

Disclaimer: I have no relation with the Julia team.



On Fri, Apr 15, 2016 at 8:50 PM, Daniel Carrera


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Daniel Carrera
I haven't tried with students, but I tried to get Jupyter setup on a
Macbook for a researcher who was very keen on using it (he is a strong
advocate of R) and after an hour or two we sort of gave up. We struggled
with online documentation that was often inconsistent, incorrect, or
incomplete. We found several installation tutorials online and we couldn't
any of them to work. He later went back to it and eventually got it
working, but no thanks to me. Sorry I cannot give a detailed report. This
was half a year ago and I don't remember the details.

I had forgotten about JuliaBox. Now that you mention it, that should be a
very good option.

As for jupyterhub, I honestly had not heard of it until you mentioned it
just now. The website says that it's a multi-user server. I definitely
don't want to go down that route. I wouldn't want to be responsible for
running a server where students are supposed to do their work. But I think
JuliaBox is probably a good option. I guess my thoughts of Jupyter were
tainted by the experience with the Macbook and R.

Cheers,
Daniel.

On 15 April 2016 at 17:39, Cedric St-Jean  wrote:

>
>
> On Friday, April 15, 2016 at 9:12:21 AM UTC-4, Daniel Carrera wrote:
>>
>> Cool stuff!
>>
>>  From my point of view, the biggest obstacle is that Jupyter is not easy
>> to install for most people,
>>
>
> I'm surprised to read that. Any issue in particular? Between Anaconda,
> jupyterhub and JuliaBox, there's a lot of possibilities out there. How are
> your students set up?
>
>
>> and PyPlot doesn't have much documentation. I keep telling myself that
>> I'll add documentation for PyPlot but somehow I never seem to find the time.
>>
>> Cheers,
>> Daniel.
>>
>>
>> On Friday, 15 April 2016 04:17:40 UTC+2, Sheehan Olver wrote:
>>>
>>>
>>>
>>> I'm currently lecturing the course MATH3076/3976 Mathematical Computing
>>> at U. Sydney in Julia, and thought that others may be interested in the
>>> resources I've provided:
>>>
>>> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>>>
>>> The lecture notes and labs are all Jupyter notebooks.  I've also
>>> included a "cheat sheet" of Julia commands used in the course
>>>
>>>
>>> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>>>
>>> The course is ongoing (it's about half through) and will continue to
>>> take shape, but any feedback is of course welcome!
>>>
>>>
>>> Sheehan Olver
>>>
>>


Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Sheehan Olver
Pkg.add(“IJulia”)

works on a mac, then

using IJulia
@async notebook()


> On 16 Apr 2016, at 1:39 AM, Cedric St-Jean  wrote:
> 
> 
> 
> On Friday, April 15, 2016 at 9:12:21 AM UTC-4, Daniel Carrera wrote:
> Cool stuff!
> 
>  From my point of view, the biggest obstacle is that Jupyter is not easy to 
> install for most people,
> 
> I'm surprised to read that. Any issue in particular? Between Anaconda, 
> jupyterhub and JuliaBox, there's a lot of possibilities out there. How are 
> your students set up?
>  
> and PyPlot doesn't have much documentation. I keep telling myself that I'll 
> add documentation for PyPlot but somehow I never seem to find the time.
> 
> Cheers,
> Daniel.
> 
> 
> On Friday, 15 April 2016 04:17:40 UTC+2, Sheehan Olver wrote:
> 
> 
> I'm currently lecturing the course MATH3076/3976 Mathematical Computing at U. 
> Sydney in Julia, and thought that others may be interested in the resources 
> I've provided:
> 
> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/ 
> 
> 
> The lecture notes and labs are all Jupyter notebooks.  I've also included a 
> "cheat sheet" of Julia commands used in the course
> 
> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>  
> 
> 
> The course is ongoing (it's about half through) and will continue to take 
> shape, but any feedback is of course welcome!
> 
> 
> Sheehan Olver



[julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Cedric St-Jean


On Friday, April 15, 2016 at 9:12:21 AM UTC-4, Daniel Carrera wrote:
>
> Cool stuff!
>
>  From my point of view, the biggest obstacle is that Jupyter is not easy 
> to install for most people,
>

I'm surprised to read that. Any issue in particular? Between Anaconda, 
jupyterhub and JuliaBox, there's a lot of possibilities out there. How are 
your students set up?
 

> and PyPlot doesn't have much documentation. I keep telling myself that 
> I'll add documentation for PyPlot but somehow I never seem to find the time.
>
> Cheers,
> Daniel.
>
>
> On Friday, 15 April 2016 04:17:40 UTC+2, Sheehan Olver wrote:
>>
>>
>>
>> I'm currently lecturing the course MATH3076/3976 Mathematical Computing 
>> at U. Sydney in Julia, and thought that others may be interested in the 
>> resources I've provided:
>>
>> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>>
>> The lecture notes and labs are all Jupyter notebooks.  I've also included 
>> a "cheat sheet" of Julia commands used in the course
>>
>>
>> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>>
>> The course is ongoing (it's about half through) and will continue to take 
>> shape, but any feedback is of course welcome!
>>
>>
>> Sheehan Olver
>>
>

[julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread John Gibson
Sheehan: Thanks a million! I am due to teach undergraduate Numerical 
Methods next fall and have been planning to do it in Julia. I have a 
feeling I'm going to be deeply indebted to you for this course material. 

John Gibson
Dept Mathematics & Statistics
University of New Hampshire

On Thursday, April 14, 2016 at 10:17:40 PM UTC-4, Sheehan Olver wrote:
>
>
>
> I'm currently lecturing the course MATH3076/3976 Mathematical Computing at 
> U. Sydney in Julia, and thought that others may be interested in the 
> resources I've provided:
>
> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>
> The lecture notes and labs are all Jupyter notebooks.  I've also included 
> a "cheat sheet" of Julia commands used in the course
>
>
> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>
> The course is ongoing (it's about half through) and will continue to take 
> shape, but any feedback is of course welcome!
>
>
> Sheehan Olver
>


[julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Daniel Carrera
Cool stuff!

I am interested in ways to teach Julia. I currently teach a very short 
MATLAB course and I'd love to teach Julia instead. From my point of view, 
the biggest obstacle is that Jupyter is not easy to install for most 
people, and PyPlot doesn't have much documentation. I keep telling myself 
that I'll add documentation for PyPlot but somehow I never seem to find the 
time.

Cheers,
Daniel.


On Friday, 15 April 2016 04:17:40 UTC+2, Sheehan Olver wrote:
>
>
>
> I'm currently lecturing the course MATH3076/3976 Mathematical Computing at 
> U. Sydney in Julia, and thought that others may be interested in the 
> resources I've provided:
>
> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>
> The lecture notes and labs are all Jupyter notebooks.  I've also included 
> a "cheat sheet" of Julia commands used in the course
>
>
> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>
> The course is ongoing (it's about half through) and will continue to take 
> shape, but any feedback is of course welcome!
>
>
> Sheehan Olver
>


[julia-users] Re: Mathematical Computing course in Julia

2016-04-15 Thread Sisyphuss
The doc of Julia is far from helpful.
Most time, you should try it to learn what it actually does.


On Friday, April 15, 2016 at 4:21:41 AM UTC+2, Sheehan Olver wrote:
>
>
> When the course is over I'll give a description of any issues encountered 
> using Julia for teaching.  At the moment there are two big ones: the error 
> messages are hard for students to parse, and the documentation is 
> incomplete.  An example of the latter that came up is 
>
> *help?> **reshape*
>
> search: *reshape* p*r*omot*e*_*shape*
>
>
>   reshape(A, dims)
>
>
>   Create an array with the same data as the given array, but with 
> different dimensions. An
>
>   implementation for a particular type of array may choose whether the 
> data is copied or
>
>   shared.
>
>
>
> It is not clear at all that dims means two (or more) numbers.
>
> On Friday, April 15, 2016 at 12:17:40 PM UTC+10, Sheehan Olver wrote:
>>
>>
>>
>> I'm currently lecturing the course MATH3076/3976 Mathematical Computing 
>> at U. Sydney in Julia, and thought that others may be interested in the 
>> resources I've provided:
>>
>> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>>
>> The lecture notes and labs are all Jupyter notebooks.  I've also included 
>> a "cheat sheet" of Julia commands used in the course
>>
>>
>> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>>
>> The course is ongoing (it's about half through) and will continue to take 
>> shape, but any feedback is of course welcome!
>>
>>
>> Sheehan Olver
>>
>

Re: [julia-users] Re: Mathematical Computing course in Julia

2016-04-14 Thread Tamas Papp
If you encounter issues like this, I am sure that reporting them on
Github or even submitting a PR would be helpful.

I was also thinking about using Julia for a course recently, the
debugger was the reason I postponed it for next year (so still using R
with all its quirks).

Best,

Tamas

On Fri, Apr 15 2016, Sheehan Olver wrote:

> When the course is over I'll give a description of any issues encountered 
> using Julia for teaching.  At the moment there are two big ones: the error 
> messages are hard for students to parse, and the documentation is 
> incomplete.  An example of the latter that came up is 
>
> *help?> **reshape*
>
> search: *reshape* p*r*omot*e*_*shape*
>
>
>   reshape(A, dims)
>
>
>   Create an array with the same data as the given array, but with different 
> dimensions. An
>
>   implementation for a particular type of array may choose whether the data 
> is copied or
>
>   shared.
>
>
>
> It is not clear at all that dims means two (or more) numbers.
>
> On Friday, April 15, 2016 at 12:17:40 PM UTC+10, Sheehan Olver wrote:
>>
>>
>>
>> I'm currently lecturing the course MATH3076/3976 Mathematical Computing at 
>> U. Sydney in Julia, and thought that others may be interested in the 
>> resources I've provided:
>>
>> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>>
>> The lecture notes and labs are all Jupyter notebooks.  I've also included 
>> a "cheat sheet" of Julia commands used in the course
>>
>>
>> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>>
>> The course is ongoing (it's about half through) and will continue to take 
>> shape, but any feedback is of course welcome!
>>
>>
>> Sheehan Olver
>>



[julia-users] Re: Mathematical Computing course in Julia

2016-04-14 Thread Sheehan Olver

When the course is over I'll give a description of any issues encountered 
using Julia for teaching.  At the moment there are two big ones: the error 
messages are hard for students to parse, and the documentation is 
incomplete.  An example of the latter that came up is 

*help?> **reshape*

search: *reshape* p*r*omot*e*_*shape*


  reshape(A, dims)


  Create an array with the same data as the given array, but with different 
dimensions. An

  implementation for a particular type of array may choose whether the data 
is copied or

  shared.



It is not clear at all that dims means two (or more) numbers.

On Friday, April 15, 2016 at 12:17:40 PM UTC+10, Sheehan Olver wrote:
>
>
>
> I'm currently lecturing the course MATH3076/3976 Mathematical Computing at 
> U. Sydney in Julia, and thought that others may be interested in the 
> resources I've provided:
>
> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>
> The lecture notes and labs are all Jupyter notebooks.  I've also included 
> a "cheat sheet" of Julia commands used in the course
>
>
> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>
> The course is ongoing (it's about half through) and will continue to take 
> shape, but any feedback is of course welcome!
>
>
> Sheehan Olver
>