/ On-line course in programming or some other technical subject
I'm stuck in Afghanistan for another two months after stupidly volunteering to deploy with the Territorial Army. We've more or less completely handed over to the Afghan police, so I basically have nothing to do all day. Instead of sleeping or watching films like everyone else, I'm thinking of finding an online course to do.
Given that I have to find a job when I get back, something I could put on my CV would be nice. I have a degree in mechatronic engineering (basically just mechanical and electrical) so I would like something relevant to this. My thoughts so far are AutoCAD, which isn't really going to happen as I don't have access to a suitable computer, or programming, which I could just about do on my crappy laptop. I've had a bit of experience of C# and VBA before, and also know a little C++, so I guess any of those. I prefer working with C# as I've used it more than C++ and it seems more useful than VBA (though I imagine VB is pretty much the same so I could manage that), but I don't really know which would be the most universally appealing to any potential employer (to make things more difficult I don't really know what industry I want to work in).
So basically, can anyone recommend an on-line course I can do in two months or so (it doesn't matter if it takes a bit longer, I have a lot of spare time to do it here anyway)? Sorry for my unhelpful vagueness.
Open University offer a few computing courses although the dates might not suit you. Advantage is they start counting towards another degree. done some which werent so bad.
For pure programming you could look at something like pluralsight which do video courses or get some ebooks from o'reilly (got direct they are damn sight cheaper after you register).
The US universities free online courses might have some good options.
Look at Coursera, edX and UDacity. All of which have several computing courses.
C/C++ hold a leading edge with Games Development, Embedded Development (electronics, microchips etc) Operating Systems, hardware drivers.
After that Java is the most popular for use, particularly for web applications so that is anything running on the internet, or even internal applications used by companies.
C# is more of a copy of Java than it is from C/C++ and is used by much less people in the programming world.
A slightly random suggestion, had you thought of something like SQL? An increasing number of scientists and engineers seem to spend a lot of time buried under mountains of data so it could be useful to have some database type experience?
Mike (Scientist buried under a mound of data)
Depends what you want to do, I guess.
For general utility programming (getting stuff done) I find Python very useful, and it is of course free and very well documented with tonnes of libraries.
If you wanted to add some real computer science to your brain, I'd suggest this as a project: http://mitpress.mit.edu/sicp/ (all online, structure and interpretation of computer programs). It's based on scheme (a Lisp dialect). You won't see many job ads looking for scheme/Lisp, however that book teaches a lot about the fundamentals of algorithms, and you can transfer those insights to other languages.
Another approach would be to think about what you'd want to do with programming (e.g. mobile phone apps, web apps, data analysis, embedded device programming, games programming, ???), and then look for languages that are suited to that or that are popular in that domain right now.
Big thing, I'd say, is to have a project or something you want to achieve. That lets you set goals to work towards. Doesn't need to be big, a lot of small ones are just as good or better. Otherwise you're just reading about programming and working through exercises, and it's kinda hard (in my experience) to stick with that.
google computer science for everyone, its a series of lessons free online by a chap called carl herold, and has a big reddit following. I'm doing it now after a little experince in C from Uni and I'm finding it very good.
Although done using C, its not just learning C, but programming in general and explains things like pointers, how machine code works, what your CPU does and how memory works very clearly.
The lessons are either youtube videos, which tbh are a little slow, or transcipts, which I find are better.
Java has seen a gradual decline over the last ten years, but that is in standing with introduction more choices.
I have just seen it has overtaken C and is currently number 1 again, boosted by Android development, while Objective C is rising due to iPhone/iPad development. C# has been declining in use recently.
Could get a oreily safari subscription, then work through one of the books there.
I'd suggest C, lisp, python, as all being worthwhile for different reasons.
One thing I'd like to do if I got a stack of free time would be finish the blender newb to pro book...And make cool 3D things :).
if you arent going to be constantly swapping and changing buying direct works better.
a)depending on the exchange rate at the time you can save on that and b)as soon as you register at o'reilly you get a reusable buy one get one free code (or more accurately buy 2 and get 50% of each).
Also some other nice stuff like if you have a print version you can register it and then buy it for 5 dollars and so on.
With the lack of drm and loads of different formats its a good example of how ebooks can be sold.
> A slightly random suggestion, had you thought of something like SQL? An increasing number of scientists and engineers seem to spend a lot of time buried under mountains of data so it could be useful to have some database type experience?
> Mike (Scientist buried under a mound of data)
If this is something you are interested in, then SQL, PHP, Python and/or Perl, Java and basic shell scripting are all good to learn. I am also using R (a language for statistics and data analysis) a lot. Can't recommend any online courses, but O'Reilly's Headfirst series are pretty good for programming newbies learning mainstream languages (don't be put off by the cheesy cartoons!).
Kathryn who used to be a scientist buried in data and is now doing a masters in Bioinformatics so she can dig other scientists out :o)
> Big thing, I'd say, is to have a project or something you want to achieve. That lets you set goals to work towards. Doesn't need to be big, a lot of small ones are just as good or better. Otherwise you're just reading about programming and working through exercises, and it's kinda hard (in my experience) to stick with that.
+1 I tried teaching myself several languages with no real goals. Now I have goals, both personal and set by the University, and I have become competent (if by no means a master) in 4 languages since September.
I loved bioinformatics and computational neuroscience. Being naturally good at programming is the only reason I done something successful in life. I left school with absolutely no qualifications whatsoever, being more interested in hanging about street corners and drinking. Hard work in college when I was 17 at programming saw me eventually do my postgrad in computational neuroscience and I got a big interest in it. Would have loved to have done a phd but couldnt afford it as I had worked my way full time through college and uni.
Yeah, I'm having a great time on this course. I have come from a biology background. I've always been interested in programming, but when I attempted to teach myself it never worked because it was a bit dry and I had no real goals. Being taught now, in the context of something that I enjoy anyway, is fantastic and I'm taking to it really well.
Do you still work on the science side of things now?
> +1 I tried teaching myself several languages with no real goals. Now I have goals, both personal and set by the University, and I have become competent (if by no means a master) in 4 languages since September.
+2 I find I only really learn stuff like that when I've got a project to apply it to. Often means you end up going out of your depth to begin with, but you soon pick it up.
I was good at the programming side but the biology, neuroscience and maths stuff was new me and the same idea as you: Learning all this stuff in the context of programming it all made sense to me rather than theory in books.
Nah, grinding along in industry. Don't see going back to academia and research ever being financially possible for me now with a house and a baby.
interesting point. So for the OP, might be worth after doing some cramming looking for an open source project to get involved in. Apart from anything else be useful on the cv.
Reminder to self to look into online learning.
> I was good at the programming side but the biology, neuroscience and maths stuff was new me
Ha ha, it's the maths that's flummoxing me at the moment. The biology is mostly old-hat for me and the programming is fine once I have a focus, but maths never was my strong point :o)
> Nah, grinding along in industry. Don't see going back to academia and research ever being financially possible for me now with a house and a baby.
That's fair enough. I am looking for positions where I would be an in-house bioinformatician for someone providing something like sequencing or microarray services...don't really mind if that's industrial or a University's service, but I don't really want to go down the post-doc route again!
Thanks for the advice. SQL is an interesting option, I actually ended up having to teach myself a bit at one point when trying to sort through mountains of data. I'm gonna go for C++, finding something that leads to any kind of qualification that I can do at short notice is easier said than done though.
Elsewhere on the site
October 21, 2014 – Textile Exchange, a global nonprofit dedicated to sustainability in the apparel and textile industry,... Read more
In tonight's Friday Night Video, we see Alex Honnold soloing Heaven 5.12d in Yosemite Valley. The route starts 3000ft above the... Read more
The B.D.V. — short for Black Diamond Vertical — jacket and pants are Black Diamond’s most versatile climbing... Read more
This streamlined, midweight thermal layer has an incredibly speedy moisture wicking ability and dries ultra fast if it gets... Read more
Climbing as a discipline offers plentiful metaphors for tackling life's obstacles - bravery, courage, climbing to... Read more