Welcome to City-Data.com Forum!
U.S. CitiesCity-Data Forum Index
Go Back   City-Data Forum > General Forums > Science and Technology
 [Register]
Please register to participate in our discussions with 2 million other members - it's free and quick! Some forums can only be seen by registered members. After you create your account, you'll be able to customize options and access all our 15,000 new posts/day with fewer ads.
View detailed profile (Advanced) or search
site with Google Custom Search

Search Forums  (Advanced)
Reply Start New Thread
 
Old 02-04-2014, 06:53 PM
 
878 posts, read 942,168 times
Reputation: 893

Advertisements

Quote:
Originally Posted by NJBest View Post
With PHP being such an outdated language with a huge decline, I'm surprised that it's being suggested.

C++ and JS would be at the top of my list. JS is an easy language to learn (incredibly difficult to master)... runs in any browser and is taking off serverside (essentially replacing PHP nowadays).
If you go to Dice.com - Job Search for Technology Professionals and type in "web developer" into the search, look at how many enterprises still want it. PHP may be declining but it ain't Latin, yet.
Reply With Quote Quick reply to this message

 
Old 02-04-2014, 08:24 PM
 
4,361 posts, read 7,176,348 times
Reputation: 4866
Coding aspects can be tough to learn for people with no frame of reference. When I teach it, I start kids with binary and hex math/conversion, an assembler for fundamentals and then move into VBA (Visual Basic for Applications) for gratification. Just like multiplication tables and commutative/associative properties in math, it is important for "coders" to understand the building blocks of their craft. I feel that he best way to foster this is to not simply see how much Java they can "get" without being frustrated. There's too much 'magic' and not enough programming reality, at first. Once the fundamentals are known, the higher level languages will come much easier.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 09:18 PM
 
663 posts, read 1,724,680 times
Reputation: 852
If the students are interested in getting a jump start on Computer Science in college or taking the Computer Science AP exam, then I’d teach them Java. That’s the most popular language in college courses these days and the language used for the AP exam. If you just want to get their feet wet with programming concepts then it depends on what your goals are. If I were just fooling around and showing general concepts I’d pick Objective-C. You can build simple C-style hello world apps, it has a more classical message-passing OOP syntax, and it even has a gentle way to introduce you to manual memory management using reference counting. On more modern environments it has some modern features like automatic memory management and closures. Even on older systems like OpenStep you can quickly build pretty UIs with minimal coding.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 09:35 PM
 
37,611 posts, read 45,988,534 times
Reputation: 57194
Quote:
Originally Posted by Huckleberry3911948 View Post
the curse of the computer industry is that you throw all your books away every 3 years and relearn it all. i wish i could come up with a decent answer to your question. i got a head full of systems that are all now obsolete.
even human language changes. the french i spoke 35 years ago in paris i am now having to reprogram to avoid appearing odd.
Not exactly true Huck. Hell I was a COBOL programmer 30 years ago. I still use COBOL in current business applications, to this very day.
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 10:02 PM
 
390 posts, read 824,535 times
Reputation: 670
Quote:
Originally Posted by Cleveland_Collector View Post
Coding aspects can be tough to learn for people with no frame of reference. When I teach it, I start kids with binary and hex math/conversion, an assembler for fundamentals and then move into VBA (Visual Basic for Applications) for gratification. Just like multiplication tables and commutative/associative properties in math, it is important for "coders" to understand the building blocks of their craft. I feel that he best way to foster this is to not simply see how much Java they can "get" without being frustrated. There's too much 'magic' and not enough programming reality, at first. Once the fundamentals are known, the higher level languages will come much easier.
I think that is an interesting approach. My only concern would be that it might turn students off from programming in general, since they would have to do a lot of work for not so interesting results. What initially got me on the path to being a software developer was a class I took in high school where some of the first programs we built were really cool projects like a Game of Life program. Students, especially in America where everyone has a short attention span, need to learn that programming can be fun. I think if I had to start with stuff like converting between binary/hex/decimal, I may have lost interest in the beginning. Although I did of course eventually have to learn that stuff (any good programmer will)
Reply With Quote Quick reply to this message
 
Old 02-04-2014, 10:31 PM
 
Location: Chicago - Logan Square
3,396 posts, read 7,210,678 times
Reputation: 3731
Another vote for Python.

I've taught a few high students to program and Python is just the best fit. You shouldn't work with any language that needs to be compiled - a student can learn a lot more quickly if they're encountering run time errors instead of compile time errors (and trust me, they'll encounter plenty of errors when they start out). There are also loads of resources out there for Python, and the language actually originated as a language to teach programming. It's pretty much the modern standard for intro level programming classes - i.e. MIT uses it for their intro to programming courses. There's also a good list of reasons why Python is a good teaching language here.
Reply With Quote Quick reply to this message
 
Old 02-05-2014, 05:41 AM
 
5,743 posts, read 17,601,554 times
Reputation: 4793
I agree with many of the suggestions of the PPs.

You can go "higher" with a scripting language, like Python or Perl, that doesn't require compiling, or you could go down "lower" and learn a language like C, which is good at HW register manipulation, etc.

My vote would be for C, but keep it limited to loops, conditionals, etc. If you have never programmed, I would stay away from object oriented programming. Hard for you to teach it if you've never learned the concept yourself. That said, I think that learning object oriented languages is a must, but they can get that in college.
Reply With Quote Quick reply to this message
 
Old 02-05-2014, 07:36 AM
 
2,538 posts, read 4,711,423 times
Reputation: 3356
I hate to break this to you, but that art of programming encompasses far more than website. You're not going to design and program an embedded control system in PHP.
Reply With Quote Quick reply to this message
 
Old 02-05-2014, 07:59 AM
 
Location: U.S.A., Earth
5,511 posts, read 4,475,764 times
Reputation: 5770
I started off C in college, then did a whole lotta C++. Then a whole of of Java, a bit of Perl, and a bit of OpenGL. I will say that no matter what you teach, it's the process of how to learn that's more important than the knowing of the language itself, as that would enable someone who knows one language to pick up the syntax, logic, and paradigms of another language in a prompt manner.

I'm biased, but I'd go with C++ or Java. If it really is too much to do OOP for newcomers who also have a lot of other things on their plates (you could argue that college students are more mature, experienced, and organized to handle the workload ), then scripting like Perl, or Python can do the trick too.
Reply With Quote Quick reply to this message
 
Old 02-05-2014, 08:42 AM
 
Location: Western Pennsylvania
2,429 posts, read 7,236,021 times
Reputation: 830
Before I retired, I taught programming courses at the community college level for over 20 years.

I'd avoid any of the Microsoft-specific languages (as a first course), since that tends to reinforce the misconception that programs only run on desktop PCs using Windows. This would eliminate VB and C#.

As others have noted, a language such as PHP is web-centric, and would mean you'd be teaching at least some basic HTML. When debugging is necessary, you have to first decide if the problem is in the HTML or the actual programming code.

The syntax and keywords of C, C++, and Java are all very similar, and actually have a lot in common with ALGOL, one of the first languages to have been designed with CS principles in mind, instead of just evolving.

I think for a high school course today, I'd pick Java for the following reasons:
  • It's purely Object Oriented, not a mix like C++.
  • Widely used in smartphones and tablets (Android)
  • All tools needed are available for free download on multiple platforms (Windows, Mac, Linux)
  • Hides pointers; doesn't allow operator overloading
  • Can be used to create standalone applications or web page applets
  • Conceptually sound... strong datatypes, structured (no GOTOs)

To me, the most important part of an introductory course is developing the student's problem solving ability (algorithm development), not the particular language used.
Reply With Quote Quick reply to this message
Please register to post and access all features of our very popular forum. It is free and quick. Over $68,000 in prizes has already been given out to active posters on our forum. Additional giveaways are planned.

Detailed information about all U.S. cities, counties, and zip codes on our site: City-data.com.


Reply
Please update this thread with any new information or opinions. This open thread is still read by thousands of people, so we encourage all additional points of view.

Quick Reply
Message:


Over $104,000 in prizes was already given out to active posters on our forum and additional giveaways are planned!

Go Back   City-Data Forum > General Forums > Science and Technology
Similar Threads

All times are GMT -6. The time now is 12:47 PM.

© 2005-2024, Advameg, Inc. · Please obey Forum Rules · Terms of Use and Privacy Policy · Bug Bounty

City-Data.com - Contact Us - Archive 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 - Top