With regards to this question:
> Is there still a place for researchers to learn programming languages
such
> as C/C++ - from a program “execution” speed, C is pretty hard to compete
> again, especially when looking to HPC types of programs.
I would certainly say "yes", for exactly the reason you gave. For
example, even though I currently do most of my programming in Python, I
also use C to implement compiled versions of key algorithms and/or data
structures when the interpreted Python code is too slow. Just-in-time
compilers can address some of these cases, of course, but I still think
knowing C/C++ is valuable.
-Brian
On 03/30/2016 02:09 AM, Jason Bell wrote:
G’day Software Carpentry Instructors
This being my first post to this list, as I recently become a software
carpentry instructor (as of last week) and I hope this is the
appropriate channel to ask a few questions in regards to learning, and
then teaching, R and python to my local research colleagues.
I am in the unusual position of providing eResearch support to all of
the researchers at my University – distributed throughout 20
campuses. I look after a number of systems, including our dedicated
research storage infrastructure
(https://my.cqu.edu.au/web/eresearch/data-tools) and also our High
Performance Computing facility (www.cqu.edu.au/hpc
<http://www.cqu.edu.au/hpc>), amongst many things. Recently I have
been getting a number of researchers who have been approaching me
requesting help in getting their research data completed more
quickly. I have been surprised how many different research domains
are now using R, in which the need for scientific computing skill is
starting to explode. As an example, I have assisted researchers to
run their code on our HPC System, in which the results would have
taken them months to complete on their local machine, to having a
full set of data results in just a few hours by running many programs
on our HPC system at once.
One of the reasons why I am keen to learn and teach R and python, is
so I can help even more of my colleagues to produce their research
data more effectively and efficiently. Unfortunately at my local
institution their isn’t any local training that my colleagues can
attend – this I hope software carpentry can help to fill this large
gap in scientific computing training.
Over the years I have learnt many programming languages (I have been
quite interested in reading some of the recent emails to this list
about programming languages), which stated with “BASIC” at high
school, to Pascal as the first language I learnt at University, to
C/C++, ADA, Java, Visual Basic, Lego robotics programming, Perl, Bash
scripts, Matlab, PHP and HTML (did someone mention TeX), using
middleware libraries such MPI, P4 and even did some python training
quite a few years ago and contributed to the open source software
project “Access Grid” Software. I believe I have an acceptable
understanding of programming principles in general and therefore would
like to ask the following questions
·What is the best (the quickest) way to get up to speed in R (and
python a little further down the track). As you can appreciate my
time is extremely limited (like most of us these days) and thus am
chasing the most efficient method for learning R and python, so I can
begin providing lessons in the very near future.
·Do you think “instructors” should know more than just the teaching
material for the “subjects” they plan on teaching. For example, I
recently ran a local “UNIX Shell” locally and given I have been using
bash for over 15 years, I was extremely comfortable with the teaching
material (even though I did pick up a few tips and tricks), there were
no unexpected questions that I could not answer. I doubt this would
be the case with R or python, as I don’t use it regularly enough to
feel competent to answer left field questions. Now, I appreciate that
you cannot know everything, but having a greater knowledge than just
the 3-4 hour lesson material would like highly desirable – thus would
welcome any suggestions in resources, training material that could
help me to get up to speed ASAP.
·I see there are a few “R” lessons within software and data carpentry,
so I wonder if there are any recommended lessons that are designed as
an overview and not so much research domain specific?
·I am also be interested in some visualisation aspects of R as well,
as a lot of my users are still trying to use “excel” to graph data.
oI have taught myself how to pass command line arguments in R, as this
allows you to write a script to submit hundreds or thousands of
separate jobs to solve on a HPC system. Is this sort of thing covered
anywhere?
Some other “general” questions in regards to what our research
colleagues should be learning
·Is there still a place for researchers to learn programming languages
such as C/C++ - from a program “execution” speed, C is pretty hard to
compete again, especially when looking to HPC types of programs.
·A colleague has suggested that the “go” programming language
(https://golang.org/) is becoming quite popular these days, is anyone
else seeing this?
Anyway – I hope all of these questions are acceptable to ask here and
would appreciate any advice and comments you might have.
Many thanks for your time,
Jason.
cid:[email protected] <https://www.cqu.edu.au/>
*Jason Bell*
Senior Research Technologies Officer | Information and Technology
Directorate
CQUniversity eResearch Analyst | Queensland Cyber Infrastructure
Foundation (QCIF)
CQUniversity Australia, Building 19 Room 1.07, Bruce Highway,
Rockhampton QLD 4702
*P* +61 7 4930 9229 *| X* 59229 *| M* 0409 630 897 |*E
*[email protected] <mailto:[email protected]>
cid:[email protected] <https://www.cqu.edu.au/social-media>
This communication may contain privileged or confidential information.
If you have received this in error,
please return to sender and delete. CRICOS: 00219C | RTO Code 40939
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org