Coding for beginners

Trader11

Banned
Joined
Oct 14, 2018
Messages
15,697
Reaction score
5,235
If you are trying to teach young minds to software engineering, which in fact, I will generalise as Engineering. The most important lesson to learn is Creativity. Once they appreciate the creation process, what comes next is natural. It could be as low level as tinkering with electricity, with electronics, with mechanical stuffs, and it could be also software. IMHO software engineering is really a very narrow perspective and lesson you want to teach ur kids, that is why I suggested you to get the Pi-Top[4] foundation kit to show your kids a much larger area of engineering. It covers electricity, electronics, mechanical engineering, and software. Start them on the basics of logics, link them back to Mathematics and Sciences, so that they will be more interested in Mathematics and Sciences and understand the value of them and how they link with technologies. I believe such exposure will show your kids a much wider engineering space than merely which programming languages to pursue. I sincerely urge you to really take a close look at it. :)

This pi-top seems like for rich kids....The poor kid will borrow books from library and learn from scratch....After all, the pioneers didn't have all these raspi or arduino to learn from...
 

Trader11

Banned
Joined
Oct 14, 2018
Messages
15,697
Reaction score
5,235
Many people have provided the directions. Five years ago, I asked davidktw the same question. And I did further research on this question as well. From my experience, you should learn the modern practical know-how and computer science knowledge concurrently.

This is a study in the question as to why studying two different subjects at the same time renders higher order of information. We can of course generalize this to say that if we study two knowledge sources that are unrelated at the same time that we get higher order information. If we study two wisdom sources at the same time that are unrelated then we get a higher order of wisdom. If we study two sources of insight that are unrelated at the same time we get a higher order of insight. . . . and we can say the same thing about realization. I have practiced this all my life even before I read Bateson's wonderful meditation on this effect. It is of course an effect that is blocked by specialization. You only run into it if you are willing to be a generalist and span multiple disciplines without worrying about ones image among your academic colleagues. And of course our educational system definitely blocks in every way it can this type of behavior, mostly by ridicule. But if you can get past these blockages build in to our social system to prevent this effect from occurring then you can try it yourself. Pick two subjects which fascinate you and study them with equal intensity up to mastery simultaneously, and suddenly you start to see that unexpectedly there is all this crosstalk between the two subjects. And THINKING about that crosstalk is what yields higher order information, knowledge, wisdom, insight, realization. You get hints at the deep structure of existence which is reflected everywhere if you are open to it.
https://qr.ae/pN29mF

My thought is that you should think of yourself as a pragmatic technologist rather than a software engineer. A technologist can understand the link between different concepts and ideas, conduct experiments with old and new tech, know the why and how, and choose the pragmatic solution.

Here's my take:
Work on FreeCodeCamp. Since you are a beginner, you just need to create projects and see how a web application can be created. At this stage, you don't have to go too deep yet.
https://www.freecodecamp.org/

If you have money, consider joining GA or other bootcamp. This forces you to learn together with other beginners and increase your motivation.

You are expected to write simple apps at this point.

Also, you should take classes like CS50 to understand how to optimize your solutions and the essence of computing.

============================================
You can stop right here, but if you want to advance, you need to take more classes in Database theory (Learn how the DBMS works), Computer Networking, OS, Computer Architecture, Computer Security, Machine Learning. In each of these topics, they have different goals to optimize.....

============================================
After you took all these classes, it is still not enough. You need to read the foundational books in these topics. Learn to read RFCs and try coding some simple app to implement the RFCs.....And then reread these books again...
 

keenklee

Arch-Supremacy Member
Joined
Sep 9, 2000
Messages
19,434
Reaction score
6,789
This pi-top seems like for rich kids....The poor kid will borrow books from library and learn from scratch....After all, the pioneers didn't have all these raspi or arduino to learn from...

Erm... have the resources will learn faster, hopefully...


The equivalent to these for the pioneers would probably be with the Micro-Professor

https://en.wikipedia.org/wiki/Micro-Professor_MPF-I
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,550
Reaction score
1,302
This pi-top seems like for rich kids....The poor kid will borrow books from library and learn from scratch....After all, the pioneers didn't have all these raspi or arduino to learn from...

Then you need to draw a line between RICH and NOT-RICH. Will there be families not able to afford it ? Definitely. But is this ratio high enough to call Pi-Top[4] expensive ? Hard to say.

If one consider Pi-Top[4] to be expensive, then obviously one can go for a RaspberryPI Zero and source out all the hats and electronics yourself. The cost will be much lower, but the guardian must be someone whom is savvy enough to do it.

If one can't even afford a RPI Zero, or not able to try something less conventional, then no choice, stick with what comes along. :)
 

iridiot

Arch-Supremacy Member
Joined
Jan 13, 2003
Messages
12,384
Reaction score
308
I recommend simply PHP for your needs. It could be Python, but PHP will benefit you more because of (3).



I recommend Scratch for your kids. There is no need for them to get the hang of popular programming languages that are used in the industry yet. This is something they can go figure out once they are older. After all, not everyone enjoy programming, and if learning the language at a young age (I assume your kids are young), without strong foundation in Mathematics and Sciences, may hinder the whole experience of learning programming.

In fact, I believe an investment on products like Pi-Top (https://www.pi-top.com) will give your kids more knowledge from an educational standpoint. I have pledged the entire Pi-Top[4] kit and have received the Pi-Top[4] Foundation Kit, still waiting for the KVM to arrive. Even with the Pi-Top Foundation kit, your kids will get a more tangible experience observating how the skill set of a software engineer interact with real world objects like LED, motion sensors and so forth. The foundation kit makes it very easy to just plug and play the sensors provided. Take a look and see if it suits you.



Reading your description tells me your main intention is to setup a web page for advertising and selling products. Your main object is not to develop a webpage. Since in (1) you are not going to invest professionally into a career, then programming languages like Java and .NET are not as useful for you compared to PHP.

Among various content management systems, Joomla, Wordpress and Drupal will seems very fitting for your needs. These CMS works on PHP, not even Python. If you are just trying to get something up quick and easy, I will even recommend that you just go with Wix or Squarespace. Don't waste your time on development. By the time you have something robust, secure and fast, you would have build up a software engineering skill set, not a web system.

Python may be the "NEW AGAIN" old kid around the block, PHP is not a sloppily language either. You will find a lot of affordable web hosting providers supporting PHP instead of Python, Java or .NET. Besides the real deal in learning software engineering has little to do with programming languages, but general computer science disciplines. You can't write efficient codes just because you study a programming language.

Javascript is unfortunately the current de-facto in browser side technologies. VBScript is gone-in-the-wind. Hence I would say across all your 3 objectives you will need to touch on the following

1) Scratch (for kids)
2) PHP and Javascript for your web endeavour

I am copy pasting this in another thread here :

https://forums.hardwarezone.com.sg/...e-compulsory-secondary-schools-6363513-5.html
 

Trader11

Banned
Joined
Oct 14, 2018
Messages
15,697
Reaction score
5,235
Also read this amazing book:
SICP_cover.jpg


Use Racket for doing the exercise.
 

jackoats.sg

Junior Member
Joined
Feb 11, 2020
Messages
78
Reaction score
1
Can somebody put the Programmer's Den to the top level of HardwareZone forum please?

It needs more exposure, rather than hiding in a corner under Software.

You know software development plays a very important role in IT!
 
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top