[Hidden-tech] Help me rewrite an old Programming / Web Development Curriculum? CMS, Language, Frameworks

Chaim Peck chaimpeck at gmail.com
Mon Sep 11 02:01:23 EDT 2017


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 


Google

More information about the Hidden-discuss mailing list