[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Learning programming (was Re: [school-discuss] looking for open source technology to write about it.)
On Tue, Oct 6, 2015 at 5:08 AM, Marc Stephan Nkouly <mcsteann@xxxxxxxxx> wrote:
> To put it simpler one thing i would have dream of would have been to have
> materials that could be use even on self pace to acquire some programming
> knowledge at least enough to get started and be able to contributes to other
> projects .
I'm a self-taught programmer. By the time I took computer classes in
school, I already knew how to program. The biggest help for me when I
was learning was to (1) look at other programs I had an interest in
and (2) to start writing my own. I started with BASIC and I was
interested in games (which is something I think most students take an
interest in). At the time, I typed the games into the computer from
magazines and books. Today, you can just download them from the
Internet. While it's more work to type them in by hand, I actually
think you lose something when you're learning having the source code
readily available and easy to access. Having to type it in gives you
a chance to really look at the code and what each line is doing.
If I was going to start learning programming today, I wouldn't go with
BASIC. I'd go with JavaScript. If you're on a Windows system, you
can write a useful program with Microsoft's hypertext applications
(hta). No compiler required. If you're on a system other than
Windows, there's really not a good equivalent to a hta. I'd go with
something like NodeJS, TeaJS or jsc (possibly with Apache) instead.
The best way to learn is to find something you're interested in such
as a program you really want. You can start by writing a simple
program yourself or looking at a program that does something similar
to what you want and adding a few customizations or features or you
can take a program that you want that works on another operating
system and port it to your operating system. Any of those situations
gives you an opportunity to smart small and build up.
It's really going to depend on the student, but some students learn
well if you just give them the tools (like an interpreter or compiler)
and let them experiment. Others need a more structured approach. I
think the hardest thing is reaching each type of learner, because no
one method is going to work best for each student.
As to contributing to Open Source projects, if you find a project you
use and you think it needs a feature or you discover a bug, see if you
can fix it or add code for the feature you want. If you like the
changes you've made, write the project and offer to send the patch for
it. They may or may not take it. If they don't want it and you think
the patch is useful, you can offer your own fork of the code, if you
want.
It does all depend on the student, but to me, programming is a matter
of doing. Pick something you really want a program for and start
working on it. You'll find you're researching things such as how
could I write this more efficiently/quickly or how do I get a program
to do a specific thing or how do I work with a specific type of
function that's available as you go along. If other people are
interested in the programming project you're working on, you may be
able to get some help/advice/suggestions from other programmers along
the way if you need it.
One of the user groups in our area is teaching programming via
webinars. A couple of resource they recommended were:
https://www.codecademy.com/en/tracks/javascript
http://phaser.io/
There are groups for learning programming that one can find at sites
like https://www.p2pu.org/en/ or meetup.com if you have a student that
learns better in a group situation. ACM also does online webinars on
programming related subjects ( http://learning.acm.org/webinar/ ).
For students who like to do it themselves, go through samples at sites
like this one and try to create something similar:
http://www.codecouch.com/dan/
I happen to like the fishtank and it only uses about 20 lines of code.
Start small. Start with a goal that's of interest and give it a try
(or have your students give it a try). If you get stuck (or a student
gets stuck), one can always ask for help on this list or some of the
many programming lists and forums out there.
Sincerely,
Laura
http://www.distasis.com
###
To unsubscribe from the schoolforge-discuss mailing list:
Send an e-mail message to majordomo@xxxxxxxxxxxxxxx with no subject
and a body of "unsubscribe schoolforge-discuss"