I think that either Python/Django or Node/Meteor will leave the students with the most possibilities in terms of employment opportunities, as well as opportunities to expand upon their knowledge into other areas. And, I think if between Python and NodeJS, Python wins, especially for high school students. NodeJS requires the ability to grasp an event driven architecture, and might feel frustrating and turn students away from programming if it is not understood well at first. Whereas, with a simple introduction to Python, the students (especially those new to it) will really feel the power of programming. Definitely not PHP. It may still be popular today, but it is not the future. And Java can be left for a Computer Science class - no need to introduce the concepts of classes and static methods just to print "hello world". So, my vote goes to Python/Django, or... Node/Meteor if you think that you can teach Node with little frustration. Regarding the database, teach an ORM (i.e. SqlAlchemy if you go with Python) and don't worry about Postgres/MySQL/SQLite/etc. No database is tied to any particular language (i.e. where you wrote that Python goes with Postgres...). Just teach the concepts of constructing a database within the application that you are building. Outside of production use-cases and special situations, the difference between MySQL and Postgres is negligible. But, setting up and interacting with an abstraction layer (such as SqlAlchemy) will be much more beneficial in teaching the use of a database, in my opinion. - Jeff On September 10, 2017 at 8:30:20 PM, Bram Moreinis ( bram at greenfielddigital.com) wrote: Hi, Folks. I just got a job teaching Programming and Web Development at Pathfinder Vocational Technical High School in Palmer. I love the kids and it's wonderful. I need to immediately re-do the old curriculum, however. They were learning Dreamweaver DHTML (so some Javascript). They learned no databases. They developed project websites with Adobe Muse (the Anti-Coder web tool). And they can't afford Dreamweaver when they leave school, so all of this was dead-end. There are three types of students: those who want to be web developers, those who want to be coders, and those who like computers and want to learn more. They are at all different levels ... so I have to balance what would best set them up to be coders (few will be) with what will best get them doing SOMETHING. The AP Computer Science test is in Java. Last year ONE student out of 10 seemed ready to take it after learning it from a textbook (said the teacher who left). The others tried to learn from textbooks and failed. Obviously Java is quite valid to learn ... but what entry level work in Java can they find? And how to connect it to web development? Obviously they need to learn together, from a teacher (supplemented by online courses like Udacity) - not from textbooks. I need a coherent, cumulative curriculum that goes deep into coding, and addresses both the back end and the front end. Ideally we also learn a CMS so everyone can make SOME kind of website without Dreamweaver. I think I need to teach them: - a server-side coding language - either PHP (because Wordpress), Node.js (because Javascript), Java (because AP Computer Science) or Python (because Python) - a database to connect the language to - MySQL (because Wordpress) or PostgreSQL (because Python) - an associated framework to get comfy with - Symfony (because Drupal and Laravel), etc. - a CMS to get them started - Wordpress (because jobs) ... What is my best grouping of the four? 1. *PHP / MySQL / Symfony / Wordpress:* enough PHP to make templates and theme files. Many folks want to hire Wordpress developers. But Codecademy says PHP is so unpopular now that they won't update their course in it. I can't find anything on the web about what php framework Wordpress was developed from, but http://www.hongkiat.com/blog/best-php-frameworks says Drupal used components from Symfony, and that Laravel is based on Symfony. 2. *Java / MySQL / SpringMVC / dotCMS*: only two dotCMS developer jobs on Glassdoor makes me think that won't help them get jobs... but maybe that doesn't matter. SpringMVC seems to be the most popular Java framework. 3. *NodeJS / MySQL / Meteor / [Apostrophe]:* nobody is looking for Apostrophe. But since we're parlaying Javascript into Node.js and everyone wants to hire mobile app developers, maybe I should push them and leap off the Wordpress bandwagon, leaving Apostrophe for students who can't hack the coding? Meteor seems to be the most popular Node.js framework. 4. *Python / PostgreSQL / Django / Wagtail*: The problem is that none of these connect to the Javascript or Java that we know have to be part of the course, and that unlike Wordpress, Wagtail is not a way to get jobs. It's better if they know how to do SOMETHING well than how to do many things poorly. What would you advise? Please vote -- and if you have time to explain why, do! Thanks, -Bram -- Martin Bram Moreinis, Designer/Developer http://myinstructionaldesigns.com (413) 829-0355 _______________________________________________ Hidden-discuss mailing list - home page: http://www.hidden-tech.net Hidden-discuss at lists.hidden-tech.net You are receiving this because you are on the Hidden-Tech Discussion list. If you would like to change your list preferences, Go to the Members page on the Hidden Tech Web site. http://www.hidden-tech.net/members -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.hidden-tech.net/pipermail/hidden-discuss/attachments/20170911/15ed8e74/attachment-0001.html