EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Wed Feb 01, 2012 7:51 pm

Hi guys,

I hope this is the appropriate place for this, but I have noticed a lot fo threads talking about educating school children (which I am all for btw) but not a lot for people like me and my age group.

I'm 26 years old and I only started programming properly in 2009. I did a little work on a ZX spectrum in the 90's as a kid but that is mostly forgotten. I have experience in AS3, C#, Javascript and a tiny bit in C++ but I feel I have so much to learn and even worse, that I may be too late. Most programmers seem to pick it up (along with insane maths skills that I also lack) when they are at the latest in their early teens and I have a lot of trouble keeping up. When I talk to people about coding they either laugh and tell me to google it or have no clue what I am talking about, I really do feel like I slipped through a crack at some point in time.

I was hoping to enquire about what resources there are to learn what I will need to learn to get the most out of the R. Pi and where I should start. My adventures with Ardunio boards failed and I do not wish to repeat this. If you want idea of how basic my abilities are, please check out my site (edwinjones.me.uk) and have a look at a few of the demos I have up. They aren't great, but they are something.

I want and need to learn a lot more about basic system Architecture and lower level languages for my career (C/C++) and any advice is appreciated.

If anybody else is in the same boat as me, please PM me or reply here. I am happy to help with any basics that I do know and the more the merrier on my quest for adult education. This book is helping me greatly, even if I am not very far in binary addition/subtraction seems simple enough - I have a long way to go though.

Thanks guys!
Hello!

frivolutionary
Posts: 2
Joined: Thu Feb 02, 2012 2:30 am

Re: Learning materials for older students?

Thu Feb 02, 2012 3:07 am

I'm kind of in the same boat as you.  I first started programming in university.  I was studying mathematical science in university but I took some computer science courses as well.  Out of that experience I gained only a bit of rudimentary C.  It did make it easier to learn PHP which I found more fun because I was a web developer hobbyist.  I am now doing work entirely unrelated to programming or math.  I haven't programmed/scripted/tinkered in a few years and kind of wanted to get back into it with Arduino.  It didn't work out, my interest waned after learning how to blink some LEDs.  I can't imagine all the possible applications for Raspberry Pi but I'm looking forward to learning more about it.

User avatar
ArborealSeer
Posts: 300
Joined: Tue Jan 24, 2012 9:48 am
Location: South West, UK

Re: Learning materials for older students?

Thu Feb 02, 2012 10:44 am

Let me dispell a few myths?  I'm a full-time C/C++ programmer, have been since '96. I didnt 'get into it' properly until after I'd left school and was at college, so I was in my late teens and certainly doesn't require crazy math skills (which would definitely shock you if you knew where I work..)

My immediate circle at my school weren't geeks or coders, and although it was something I was interested in it wasn't until I was in that environment I got into it more (and learned Pascal from them). As soon as I could I enrolled in a course that taught me C/C++. However, I definitely learned as much being around people who were learning with me as I did from the classes themselves.

In my job I also have had to learn other languages quickly.

Basically, I think the only way to learn is to do it. (JFDI to be crude!) Without diving in you won'tget anywhere, but doing anything too daunting, or without having direction will of course put you off. I was in a similar situation with learning to play guitar, I learned a few chords and strummed away for around 5 years. I realised that, and to fix it I have now been having lessons over a year. It keeps my interest there, and keeps it moving forwards. As an adult my teacher knows time can be against you practice wise, but as long as you have the right mindset, and a clear goal you'll stay on track.

My best advice would be to choose a project, and break it down into goals where each part gives its own reward or outcome and learn from that.

There are a lot of resources out there online to help, especially at the beginning stages. So yes google it, But you have to know what you want to do.

Also, I hope that part of the RPi community will have support and resources which will be universal, not just for young, school level users but across the board.
Pi Status > Farnell, Arrived 24/5- RS, Arrived 1/6

User avatar
panik
Posts: 369
Joined: Fri Sep 23, 2011 12:29 pm
Location: Netherlands

Re: Learning materials for older students?

Fri Feb 03, 2012 3:29 pm

EdwinJ85 said:

I have experience in AS3, C#, Javascript and a tiny bit in C++ but I feel I have so much to learn and even worse, that I may be too late.
Please don't feel you're 'too late'.

Everyone programs at their own 'level', and there will always be a better, smarter programmer somewhere. I have accepted that I'll never be the best programmer in the world, and that's not my intention. I'm having fun learning as I go along.

Because what's the alternative? Stop doing anything because there are other people already better at it?

There's only one person in the world that swims the fastest (it's the current world-record holder). That doesn't mean I can't go for a swim in my local swimming pool.

Have fun!
Microcontroller addon boards and software for Raspberry Pi A+/B+/Pi2:
- ARMinARM: ARM Cortex-M3 (STM32)
- AVRPi: ATmega32U4 & ATmega328 ("Arduino")
http://www.onandoffables.com

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Tue Feb 07, 2012 11:16 am

Thanks for the support guys, it does mean a lot.
Hello!

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Tue Feb 07, 2012 11:17 am

ArborealSeer said:


Let me dispell a few myths?  I'm a full-time C/C++ programmer, have been since '96. I didnt 'get into it' properly until after I'd left school and was at college, so I was in my late teens and certainly doesn't require crazy math skills (which would definitely shock you if you knew where I work..)

My immediate circle at my school weren't geeks or coders, and although it was something I was interested in it wasn't until I was in that environment I got into it more (and learned Pascal from them). As soon as I could I enrolled in a course that taught me C/C++. However, I definitely learned as much being around people who were learning with me as I did from the classes themselves.

In my job I also have had to learn other languages quickly.

Basically, I think the only way to learn is to do it. (JFDI to be crude!) Without diving in you won'tget anywhere, but doing anything too daunting, or without having direction will of course put you off. I was in a similar situation with learning to play guitar, I learned a few chords and strummed away for around 5 years. I realised that, and to fix it I have now been having lessons over a year. It keeps my interest there, and keeps it moving forwards. As an adult my teacher knows time can be against you practice wise, but as long as you have the right mindset, and a clear goal you'll stay on track.

My best advice would be to choose a project, and break it down into goals where each part gives its own reward or outcome and learn from that.

There are a lot of resources out there online to help, especially at the beginning stages. So yes google it, But you have to know what you want to do.

Also, I hope that part of the RPi community will have support and resources which will be universal, not just for young, school level users but across the board.


@ArborealSeer  - You started in your late teens, I started in my mid twenties. Is that a disadvantage? Do you think that fact I work mostly with managed languages is a hinderance? Should I dump them and go whole hog into C++ or stick with C#/Javascript/Simpler languages until I am ready? I have looked into doing a basic C++ course but they cost thousands of pounds that I just do not have spare.

I am willing to put the time and commitment in, I just need to know which way to aim. Thanks for the advice!
Hello!

nmahoney
Posts: 9
Joined: Mon Feb 06, 2012 9:48 am

Re: Learning materials for older students?

Wed Feb 08, 2012 8:31 am

First off, don't think it's too late to learn. For one thing, in my experience, programmers don't stop learning. New technologies come along and give you something else to learn all the time. Like ArborealSeer I've had to learn new languages quickly because the job required it.

I also completely agree with ArborealSeer that the best way to learn is just to do it. Try and think up a project and then work out how to do it. If you have specific enough questions, google's very good at providing answers.

If you want to learn c/c++ then personally I'd recommend this site http://www.cprogramming.com/begin.html

But, if you find that's not your style, there are others. There are many ways to skin a cat and the way I like to do things may not work for you. But once you start you'll soon gather enough knowledge to help find a way that does work for you.

Lastly, if you can find a course that's reasonably priced. I'd advise going for it. Learning anything gets easier if you've got someone to learn with.

fruitloaf
Posts: 84
Joined: Sun Feb 05, 2012 11:41 am

Re: Learning materials for older students?

Wed Feb 08, 2012 10:25 am

Stanford University are doing some free online courses starting later this month. From the description they seem to each be the equivalent of a single module at Uni. Worth looking into?

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Wed Feb 08, 2012 11:21 am

nmahoney said:


First off, don't think it's too late to learn. For one thing, in my experience, programmers don't stop learning. New technologies come along and give you something else to learn all the time. Like ArborealSeer I've had to learn new languages quickly because the job required it.

I also completely agree with ArborealSeer that the best way to learn is just to do it. Try and think up a project and then work out how to do it. If you have specific enough questions, google's very good at providing answers.

If you want to learn c/c++ then personally I'd recommend this site http://www.cprogramming.com/begin.html

But, if you find that's not your style, there are others. There are many ways to skin a cat and the way I like to do things may not work for you. But once you start you'll soon gather enough knowledge to help find a way that does work for you.

Lastly, if you can find a course that's reasonably priced. I'd advise going for it. Learning anything gets easier if you've got someone to learn with.


Hmm, so would you say I should focus on C++ and not managed languages then? I did learn a very small amount a while back using the std library, but then I met some games programmers at a party and they told me that using the std lib is a bad idea. Confused the heck out of me. Sounds made up, but it's honestly a true story.

Still, would you agree I should aim the C++ way? It seems to be the language everyone recommends.
Hello!

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Wed Feb 08, 2012 11:23 am

fruitloaf said:


Stanford University are doing some free online courses starting later this month. From the description they seem to each be the equivalent of a single module at Uni. Worth looking into?


Do you have a link at all? I see nothing about it on their main site. I'm English and based in the UK, would that prohibit me from participating in an American university online course? I know nothing of American law.

Thanks for the help everyone!
Hello!

nmahoney
Posts: 9
Joined: Mon Feb 06, 2012 9:48 am

Re: Learning materials for older students?

Wed Feb 08, 2012 12:24 pm

EdwinJ85 said:


Hmm, so would you say I should focus on C++ and not managed languages then? I did learn a very small amount a while back using the std library, but then I met some games programmers at a party and they told me that using the std lib is a bad idea. Confused the heck out of me. Sounds made up, but it's honestly a true story.

Still, would you agree I should aim the C++ way? It seems to be the language everyone recommends.



I think that's a difficult question to answer because it depends on what you want, how you approach things and what your preferred learning style is.

If you want to learn for your career. Perhaps try and find some job adverts for the kind of thing you want to do and see what languages (if any) they mention in their requirements. Perhaps you'd be better of trying to learn Java?

c/c++ can be a lot less forgiving of mistakes and syntax errors than something like JavaScript. So that can be a good thing in that it gets you into to good practices early on. It's also a lot easier to from a stricter (for lack of a better term) language to a less strict one than it is the other way around. The downside is that it can be a lot more frustrating to learn, because you WILL make tiny mistakes that are difficult to find. That can be useful in itself of course, when you learn how to track them down.

Personally, I prefer jumping in at the deep end because I know if I start with something simpler I may never feel the need to progress. Other people prefer to start simple and work up. Just look at the debate here to see how people's opinions differ.

User avatar
grumpyoldgit
Posts: 1452
Joined: Thu Jan 05, 2012 12:20 pm

Re: Learning materials for older students?

Wed Feb 08, 2012 12:45 pm

EdwinJ85 said:


fruitloaf said:


Stanford University are doing some free online courses starting later this month. From the description they seem to each be the equivalent of a single module at Uni. Worth looking into?


Do you have a link at all? I see nothing about it on their main site. I'm English and based in the UK, would that prohibit me from participating in an American university online course? I know nothing of American law.

Thanks for the help everyone!


One of these guys is part of the team running the computer courses at Stanford and has just branched out to set up this. It appears to be open to anyone worldwide. I am tempted by CS101.

http://www.udacity.com/

User avatar
grumpyoldgit
Posts: 1452
Joined: Thu Jan 05, 2012 12:20 pm

Re: Learning materials for older students?

Wed Feb 08, 2012 12:49 pm

I've also tracked down this about the Stanford courses themselves. It all looks very interesting to an old fart like myself.

http://www.i-programmer.info/n.....urses.html

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Thu Feb 09, 2012 1:04 pm

nmahoney said:


EdwinJ85 said:


Hmm, so would you say I should focus on C++ and not managed languages then? I did learn a very small amount a while back using the std library, but then I met some games programmers at a party and they told me that using the std lib is a bad idea. Confused the heck out of me. Sounds made up, but it's honestly a true story.

Still, would you agree I should aim the C++ way? It seems to be the language everyone recommends.


I think that's a difficult question to answer because it depends on what you want, how you approach things and what your preferred learning style is.

If you want to learn for your career. Perhaps try and find some job adverts for the kind of thing you want to do and see what languages (if any) they mention in their requirements. Perhaps you'd be better of trying to learn Java?

c/c++ can be a lot less forgiving of mistakes and syntax errors than something like JavaScript. So that can be a good thing in that it gets you into to good practices early on. It's also a lot easier to from a stricter (for lack of a better term) language to a less strict one than it is the other way around. The downside is that it can be a lot more frustrating to learn, because you WILL make tiny mistakes that are difficult to find. That can be useful in itself of course, when you learn how to track them down.

Personally, I prefer jumping in at the deep end because I know if I start with something simpler I may never feel the need to progress. Other people prefer to start simple and work up. Just look at the debate here to see how people's opinions differ.


Well, I already have experience in C# and I work as a web developer, so that is where my learning lies. I'd love to branch into game development some day though, and I hear that is basically C/C++ or (rude word) off. Game dev is why I started programming, and why I continue to learn. I know it is an unlikely goal, but it's good to have a dream right? I do have a masters in Multimedia Games Engineering from Nottingham Trent, but the programming content was...sparse to put it politely.

I know the difference between the stack and the heap, and the very basics of pointers and header files. I do mean the basics though, in C# almost everything lives on the heap. I believe it is the same with Java. As Javascript is a scripting language that each browser runs in it's own way I am less aware of how it works, apart from the fact is seems to be limited to a single thread IIRC.

With this in mind, you you suggest I stick to managed or dive into C++? I do not use it at work, C# server side and JavaScript client side is how most of my projects run.

Thank you!
Hello!

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Thu Feb 09, 2012 1:10 pm

Grumpyoldgit said:


EdwinJ85 said:


fruitloaf said:


Stanford University are doing some free online courses starting later this month. From the description they seem to each be the equivalent of a single module at Uni. Worth looking into?


Do you have a link at all? I see nothing about it on their main site. I'm English and based in the UK, would that prohibit me from participating in an American university online course? I know nothing of American law.

Thanks for the help everyone!


One of these guys is part of the team running the computer courses at Stanford and has just branched out to set up this. It appears to be open to anyone worldwide. I am tempted by CS101.

http://www.udacity.com/


This looks a bit more easy to do from the UK than the stanford stuff, but then again Standford give you a form and some sort of semi qualification that would look good on the CV. I still think content > prestige though.

I'm not interested in the Search Engine course, but the more basic ones look very, very good. Thanks! Now I just have to wait for them to release them...
Hello!

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: Learning materials for older students?

Thu Feb 09, 2012 1:40 pm

EdwinJ85 said:


With this in mind, you you suggest I stick to managed or dive into C++? I do not use it at work, C# server side and JavaScript client side is how most of my projects run.


If you know C#, you might want to look at XNA.  It's MS only (Windows PC / XBox 360 / WinPhone 7), and you probably aren't going to be running it on the Pi any time soon, but it's reportedly pretty good.  It would save you from learning a new language.

Likewise, Javascript and HTML5 can be leveraged to produce some really neat web games, and wouldn't require too much additional learning.

C++ has an initially close-to-vertical learning curve, and it can be an extremely efficient footgun even if you've got some experience with it.  I certainly wouldn't recommend C++ to an absolute beginner, although if you already know a couple of languages you should be able to get going pretty well.

Whatever you end up doing, it's worth having an end goal, a concrete, immovable goalpost.  If you're wanting to do game dev, aim for one of the indie game contests. This helps wonderfully in concentrating your effort, rather than spending years developing yet another half-baked sprite and game physics engine

andyl
Posts: 265
Joined: Tue Jan 10, 2012 11:05 am

Re: Learning materials for older students?

Thu Feb 09, 2012 2:32 pm

EdwinJ85 said:


Well, I already have experience in C# and I work as a web developer, so that is where my learning lies. I'd love to branch into game development some day though, and I hear that is basically C/C++ or (rude word) off.


Not quite sure that is entirely correct.  There are many games with considerable amounts of dev work in Lua / Python / some other scripting language / or even their own dialect of C.  Admittedly the core engine is probably written in C or C++.

Now if you want to work on the core engine (and you want to work on the more popular style of games) then yes you will need C/C++.  More than the knowledge of language, you will need other knowledge that you may well be lacking at the moment.  Also I believe that developers in the game industry work fairly hard and don't get massively rewarded (unless they go on to design their own game).

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Thu Feb 09, 2012 6:25 pm

Thanks guys, but I have already done a lot of XNA at university:

http://edwinjones.me.uk/gamedesign

And quite a bit of HTML5 and Javascript on my own time:

http://edwinjones.me.uk/javascript

XNA however has sort of hit a dead end. The only XNA game I know of that made serious money was Fortress craft, which was a direct clone of Minecraft which was made in Java, a similar but different language to C#. That is a very popular non C game, but it really is very rare. People working at large studios seem to be C and C++ only, the job specs always demand this.

I have very limited learning time outside of work, my next project was going to be a DHTML (HTML and Javascript basically) version of Simon, the game where you have to watch buttons light up in order and then input the order you just saw, the length of the chain increasing by one unit every "round". Seems simple enough, but Javascript isn"t the easiest language in the world to make games in as it was designed for manipulating text documents. The canvas tag helps, but this has NOT been adopted by every browser yet.

Put it this way – make a game in flash, and everybody can play it. Make it in HTML5 and your techie mates will see it in chrome, but Windows XP IE8 users probably will not. HTML5 has a very long way to go before it really is standard. Flash costs a LOT of money though, and isn"t something I can afford. Silverlight sort of works, but it"s not as easy to create animations in as other environments. It"s also falling out of favour even with Microsoft.

I don"t mind what I worked on, core engine whatever – I just want to make games one day. You have more chance of winning the lottery though, even with the very poor working conditions. I'd love to join a small indie team and work in flash or java/javascript but that is even MORE unlikely.

I think my problem stems from that fact I don"t know anybody locally who wants to work on a game, and building a game is something you need humans to help you with. One developer can only achieve so much unless they are very gifted or experienced, and I am neither. I"d love to get a project going (perhaps something that will run on the Pi) but I don"t see it happening, the Pi is more for media/learning/cost effectiveness from what I can see.

Thanks for the continued input guys, it means a lot!
Hello!

garyk1968
Posts: 16
Joined: Thu Feb 09, 2012 8:50 am
Location: Bedfordshire
Contact: Website

Re: Learning materials for older students?

Thu Feb 09, 2012 7:07 pm

EdwinJ85 said:



Put it this way – make a game in flash, and everybody can play it. Make it in HTML5 and your techie mates will see it in chrome, but Windows XP IE8 users probably will not. HTML5 has a very long way to go before it really is standard. Flash costs a LOT of money though, and isn"t something I can afford. Silverlight sort of works, but it"s not as easy to create animations in as other environments. It"s also falling out of favour even with Microsoft.


Not necessarily true! You cant play it on any iOS devices and you cant assume that its installed as part of a linux distro or even OS X. HTML5 *will* displace Flash but yes will take a little longer. IE is behind and is mainly adopted still by corporates and is now dwarfed by firefox and chrome.

Anyway I dont think you have left it to learn, its never been a better time with a massive range of tools/languages and the almost infinite learning resource which is the internet!

I think you should be able to easily pursue your gaming dream with the likes of corona sdk (iphone and android - lua), construct 2 (html5), appgamekit, love2d (cross platform - lua) and 101 others I could mention!

Enjoy

hilltop
Posts: 25
Joined: Sat Dec 17, 2011 5:00 pm

Re: Learning materials for older students?

Thu Feb 09, 2012 8:48 pm

Not sure of the relationship to udacity.com mentioned earlier in this thread, but Stanford again:

http://openclassroom.stanford......mePage.php

Also, some courses which were run towards the end of last year might give a flavour of the pending new ones (links to udacity, so same people):

http://www.ai-class.com/ Artificial Intelligence
http://www.db-class.com/ Database Intro
http://www.ml-class.com/ Machine Learning

If the OP is even casually interested in C++ I'd suggest looking up info on the latest standard (C++11) and experimenting with g++ 4.6 (or better, 4.7, or even clang).  Stroustrup's seminal book (4th Ed, updated for C++11) is due out in almost exactly a year's time, according to Amazon:

http://www.amazon.co.uk/C-Prog.....321563840/

Until then there are plenty of YT video talks and blogs to whet your appetite about the 'C++ renaissance'. Herb Sutter's blog is particularly good and the linked materials provide some insight into why C++ is back in favour at Microsoft.

http://herbsutter.com/

andyl
Posts: 265
Joined: Tue Jan 10, 2012 11:05 am

Re: Learning materials for older students?

Thu Feb 09, 2012 11:25 pm

hilltop said:


Not sure of the relationship to udacity.com mentioned earlier in this thread, but Stanford again:

http://openclassroom.stanford......mePage.php

Also, some courses which were run towards the end of last year might give a flavour of the pending new ones (links to udacity, so same people):

http://www.ai-class.com/ Artificial Intelligence
http://www.db-class.com/ Database Intro
http://www.ml-class.com/ Machine Learning

If the OP is even casually interested in C++ I'd suggest looking up info on the latest standard (C++11) and experimenting with g++ 4.6 (or better, 4.7, or even clang).  Stroustrup's seminal book (4th Ed, updated for C++11) is due out in almost exactly a year's time, according to Amazon:

http://www.amazon.co.uk/C-Prog.....321563840/


I would also make a brief mention of ACCU (an organisation I belong to). Historically it was the Association of C/C++ Users but these days we discover all curly braced languages and derivatives but there is still a strong C++ focus. There are archives of the primary journal Overload available for download.

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Fri Feb 10, 2012 12:29 pm

garyk1968 said:


EdwinJ85 said:



Put it this way – make a game in flash, and everybody can play it. Make it in HTML5 and your techie mates will see it in chrome, but Windows XP IE8 users probably will not. HTML5 has a very long way to go before it really is standard. Flash costs a LOT of money though, and isn"t something I can afford. Silverlight sort of works, but it"s not as easy to create animations in as other environments. It"s also falling out of favour even with Microsoft.


Not necessarily true! You cant play it on any iOS devices and you cant assume that its installed as part of a linux distro or even OS X. HTML5 *will* displace Flash but yes will take a little longer. IE is behind and is mainly adopted still by corporates and is now dwarfed by firefox and chrome.

Anyway I dont think you have left it to learn, its never been a better time with a massive range of tools/languages and the almost infinite learning resource which is the internet!

I think you should be able to easily pursue your gaming dream with the likes of corona sdk (iphone and android - lua), construct 2 (html5), appgamekit, love2d (cross platform - lua) and 101 others I could mention!

Enjoy


I knew of the others, but wow construct 2 looks VERY impressive and truly cross platform. I might do a sonic emulation as a demo on my site with that. I try and avoid WYSIWYG game dev as it doesn't teach you fundamentals but this looks like it could speed up my development so much I will take the risk! I do feel bad though, I need to learn as much as I need to build...
Hello!

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Fri Feb 10, 2012 12:31 pm

hilltop said:


Not sure of the relationship to udacity.com mentioned earlier in this thread, but Stanford again:

http://openclassroom.stanford......mePage.php

Also, some courses which were run towards the end of last year might give a flavour of the pending new ones (links to udacity, so same people):

http://www.ai-class.com/ Artificial Intelligence
http://www.db-class.com/ Database Intro
http://www.ml-class.com/ Machine Learning

If the OP is even casually interested in C++ I'd suggest looking up info on the latest standard (C++11) and experimenting with g++ 4.6 (or better, 4.7, or even clang).  Stroustrup's seminal book (4th Ed, updated for C++11) is due out in almost exactly a year's time, according to Amazon:

http://www.amazon.co.uk/C-Prog.....321563840/

Until then there are plenty of YT video talks and blogs to whet your appetite about the 'C++ renaissance'. Herb Sutter's blog is particularly good and the linked materials provide some insight into why C++ is back in favour at Microsoft.

http://herbsutter.com/


Sounds like a plan. When  I get my 2nd pi (first will be XMBC, second is for coding etc) I will set this up on there. Thanks!
Hello!

EdwinJ85
Posts: 270
Joined: Wed Feb 01, 2012 4:44 pm
Contact: Website

Re: Learning materials for older students?

Fri Feb 10, 2012 12:40 pm

andyl said:


hilltop said:


Not sure of the relationship to udacity.com mentioned earlier in this thread, but Stanford again:

http://openclassroom.stanford......mePage.php

Also, some courses which were run towards the end of last year might give a flavour of the pending new ones (links to udacity, so same people):

http://www.ai-class.com/ Artificial Intelligence
http://www.db-class.com/ Database Intro
http://www.ml-class.com/ Machine Learning

If the OP is even casually interested in C++ I'd suggest looking up info on the latest standard (C++11) and experimenting with g++ 4.6 (or better, 4.7, or even clang).  Stroustrup's seminal book (4th Ed, updated for C++11) is due out in almost exactly a year's time, according to Amazon:

http://www.amazon.co.uk/C-Prog.....321563840/


I would also make a brief mention of ACCU (an organisation I belong to). Historically it was the Association of C/C++ Users but these days we discover all curly braced languages and derivatives but there is still a strong C++ focus. There are archives of the primary journal Overload available for download.


Nice! Again, I'll sign up with these guys when I get my pi sorted out. Wish I had more free time though, this does look like it will eat a lot

As an aside, where would one go to learn about machine architecture? I know a little about binary logic and so forth, but I would like to learn more. I am hoping the pi will help.
Hello!

hilltop
Posts: 25
Joined: Sat Dec 17, 2011 5:00 pm

Re: Learning materials for older students?

Fri Feb 10, 2012 5:05 pm

EdwinJ85 said:


As an aside, where would one go to learn about machine architecture? I know a little about binary logic and so forth, but I would like to learn more. I am hoping the pi will help.


I'd say the choice is between a 'teaching' architecture/assembly language, such as MIX/MMIX, and a 'real' one such as ARM (assembly language) as used on the Pi.  In the former case your assembled object code must (obviously) be run in a virtual machine since there is usually no hardware that can run it natively.  In the latter case it compiles to binary code which runs 'on the bare metal'.  Riskier, but more fun

My personal recommendation (from the viewpoint of having learned some ARM assembly language many moons ago) would be to learn a real one, especially since the development is going to be on a Pi.  The link below to an online book (itself dating from many years ago) is still relevant because 32-bit ARM architecture remains almost 100% backwards-compatible.  (It doesn't cover VFP etc. as found in modern ARM variants, but that shouldn't be an issue for a beginner.  Also, skip over the sections about the RISC OS BASIC assembler - under Linux you'd probably use GNU 'as' for ARM as the assembler.)

http://peter-cockerell.net/aal.....rames.html

ARM assembly language is widely regarded as being one of the better thought out ones around, and is probably no harder to pick up than a 'teaching' assembly language.  Appendix C from the above link is a clear summary of how the ARM instruction mnemonics are encoded into each 32-bit word, making for much easier disassembly than the x86 series, which have variable-length instruction sequences.  (Knowing some binary already would give a clear head-start here!)

On the subject of binary, a development of the JavaScript binary adder/subtractor might be to cover the other binary (2 operand) ARM operations of AND, OR, EOR.  The key to picking up ARM assembly language (IMHO) is understanding the setting (and use of) of the status flags (N, Z, C and V) - but that's a whole topic to itself...

Good luck!

Return to “Staffroom, classroom and projects”