|
PIEBALDconsult wrote: I argue that C# is simpler than VB.net anyway Possibly but if they have already worked with VBA then they have been polluted with the VB syntax and there is a learning curve to moving to c#. It is worth the cost in effort just to access the support resources on the interweb.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
By the same token, with my C and C# experience I had difficulty learning the basics of VB.net ; old dog / new trick. I find VB.net just too restrictive and inflexible.
I'm saying that for they with no experience in either of these two languages, the choice should be C#.
A non-serious student with some experience with one of these two languages should probably continue in that language.
Serious students, of course, need to learn several.
I was speaking with one of my nephews-in-law this past weekend and he has learned some Java, Python, and C# so I think he'll be alright.
|
|
|
|
|
mr_peter wrote: * C# is OK, but cost, install, framework etc are still an issue What cost? It's free. And you don't even need Windows, so it's double free.
|
|
|
|
|
I thought C# ran only in a .Net / Windows environment.
Tell me more...
Peter
|
|
|
|
|
Visual Studio Community Edition is free for use in classrooms or individual use[^].
And the few limitations[^] there are compared to Professional edition, is probably nothing to worry about for your needs.
If you want another environment than windows you should check out Mono[^].
modified 16-Dec-15 2:59am.
|
|
|
|
|
How about PERL. A book I once read explains that PERL is written in simple English.
But seriously folks...
I vote for Python simply because it is quite easy to learn and it is free.
I may not last forever but the mess I leave behind certainly will.
|
|
|
|
|
|
Learn Perl or die?
|
|
|
|
|
|
"I thought C# ran only in a .Net / Windows environment" ... sorry, and YOU are teaching at which University?
Business does not expect teaching institutions to be fully informed of the subject matter they prescribe to qualify their students in, but something as widely known as the above is a basic expectation.
Brutally honest, but a fact - and scores a fail.
|
|
|
|
|
There is also free C# via csc.exe and VB.net via vbc.exe. Each version of .NET on Windows comes with compilers. They probably won't help too much if you are targeting web platform, but sufficient for simple Console programming tasks like you might perform in an intro class.
You could go old school and target a CGI type of web experience where the server runs executables that Console.WriteLine the web page output. (Not very transferable to the job market, but that is how it all started...) If this is for a grade, this approach would be easy to grade.
|
|
|
|
|
Answer is clearly javascript. It is an easy to learn but powerful language and it is very broadly used in the internet. Every modern browser has development tools for javascript on board for FREE.
Dont get worried with the "script" in the name, it has modern object syntax and rich callback support.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
KarstenK wrote: Dont get worried with the "script" in the name,
Sure. It's even better than C-64 BASIC and at least twice as awkward to use. The whole idea is to teach them something, not to scare them away.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Question is how far in the rabbit hole you'd like to venture.
If you teach them web site things: HTML, CSS and javascript are a must and yes, somewhat at low level, however you could limit this be letting them do some selfstudy on eg. w3schools[^].
eg. you give them a assignment to build a small basic website that uses all the basic concepts, after that you can move to tools that generate html/css and the likes for more complex assignments. make sure they check the work accross browsers and also touch a bit on frameworks (jquery).
There is Visual Studio Express, which is free. C# is closer to javascript concerning syntax. But I have the feeling that server side code might be too much for this course, ESPECIALLY if some are non-coders a standard coding assignment is already hard enough, let alone a web development.
just my two cents.
|
|
|
|
|
There is not such a thing (programming language for non-programmers).
There are, of course, non-programmers using programming languages every day, everywhere.
|
|
|
|
|
From your specification it looks to me like "web programming for beginners". As C# is marked "OK...but" I would suggest to go for C# added by basic ASP.NET because it can do indeed "simple web pages", and is completely free on Windows. I did a course like this on Windows + IIS some years ago and it was doable with C#, because C# is easy to explain and to teach. It is easy to show how to do web forms with clickable buttons etc in asp.net ...
Regards,
|
|
|
|
|
I'd seriously consider JavaScript (More specifically, TypeScript).
There's plenty of available information on the MEAN stack, and it has the distinct benefit of allowing you to tailor the experience to the capabilities of the students with little effort. Each stack element has a bit of a learning curve, but I strongly suspect that some of them (specifically Angular) are not so step if one doesn't walk in with preconceived notions.
For tools, you can use JetBrains WebStorm (which is fantastic) with free licenses for classroom environments.
|
|
|
|
|
|
Perhaps something more agnostic and free to academia, like Ada (the GNAT and GPS products), courtesy of Adacore? I would have suggested Simula and Beta but they appear to be defunct.
My first programming language was Algol, for freshman math labs, and I now work with C#/.NET. Yes we used keypunch and teletype machines. The first programming course I attended taught a pseudo-assembler that the instructor bench-checked before covering Basic, Fortran, and COBOL in a single semester.
Teach students to build functions and procedures in VBA using Excel and Access. Those tools are not departing any time soon. Use the R language to teach data analytics if you like.
Examine the web development features of Access as an advanced topic later in the introductory semester.
Teach debugging skills with an interactive debugger. I consider debuggers the biggest productivity booster in an IDE.
In conclusion, the initial language isn't terribly relevant. Languages will change. Whether students feel they can take things one step further on their own is key.
|
|
|
|
|
I feel for none coders the Apache LAMP / XAMMP / WAMPP stack is the best way to do this as the tools are free, and there resources to do the basics as to build a CRUD applications. As well for the more advanced there is the addition of Drupal and Wordress. Moreover, Drupal and WordPress can be used as a Web Development Tool . I started to learn to code at 38 and found using the XAMMp stack mostly PHP and mysql was eyeopening to say the least as I was able to build on a server and at home!
|
|
|
|
|
Merry XMas!
Now that the formalities are covered. I'm outa here ...
|
|
|
|
|
I like the idea of using Wordpress. Its a simple easy to use tool for creating all sorts of web content. Most importantly to me, it provides easy success for students. This builds confidence. Non technical students can do the minimum but have a useful skill for the future. Technical students can take it deeper and do very complex and exciting things.
Since its written in PHP, you might consider using PHP and having students create a plugin to do something trivial like a tag cloud. PHP doesn't have any special requirements and it can be quickly uploaded to the site and tested. There are many examples of how to do this.
Good luck!
Hogan
|
|
|
|
|
Javascript is the best programming language for new learner. Because web browsers are visual. That's funny for new learners.
|
|
|
|
|
JavaScript, possibly under node:
- Plenty of free environments,framework etc
- Loose type system, idea for beginners
- Immediately applicable to the browser - no need to learn the into language, then JS
- Drives out the essential features common to most languages: variables, functions, methods, control flow
Given the scope of the course - I doubt whether a deep understanding of OO and type systems is really required, though you can achieve some of this it is clumsy (at least for versions under 6) and less strict than C#/Java etc.
|
|
|
|
|
(70% of the world's "programmers" are self-taught ... I wonder what language they are using?).
I think you're limiting yourself (and the students) by thinking in terms of a "language" ... you should be thinking in terms of a "stack" (and IDE); e.g. LAMP or Windows.
In the case of Windows, I would suggest MS WebMatrix3; it contains all the elements you touched on including: freebeeness, easiness, language choice, videos, tutorials, templates, etc. It practically teaches itself ... no teacher required.
|
|
|
|