Go Down

Topic: What are they teaching kids today? (Read 1 time) previous topic - next topic

westfw

I am visiting colleges with my daughter, and one of the things I like to do is browse the textbooks that the students are being assigned.  This one had particularly interesting results:
Computer Science: Programming in Java
Electrical Engineering: programming in C
Mechanical Engineering: introduction to C++
Physics: Fortran 95 for scientists

;-)

CrossRoads

Some programming knowledge is always a good thing.
My son is enjoying it, and lamenting that classes aren't going deep enough into programming subjects.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

dally

java, C, C++

I am a bit surprised that modula2 or pascal are not in that list

TomGeorge

Hi,
Monty Python "Aye when I were a lad........"

Pascal was 40years ago, along with fortran, cobol, basic and Z80 or 8085 machine code.

The Pascal kernal was only loaded to the university main frame for batch runs 2 hours each night using punch card input.

40years ago..
Eng Deg was 4 years
First year was basics, maths, electricity, technical drawing, physics, basic mechanics, material science and fortran.
Second year more of the same but split into electrical/electronics, mechanical. civil and mining engineering.
Third year you could finish with a diploma
Fourth Year you finished with Degree.


My biggest shock was going back to same university.

5years ago.
Eng Deg only available, 3years.
A check of subjects and asking some questions of disillusioned lecturers, found that due to lack of continuity in education level of first year students, they didn't teach Ohms Law till second year, the first year was to get everybody to the same level of basic knowledge.

Many years go my work place had a final year student employed for part of his work experience, basic fault finding and soldering skills were very lacking.
The fortunately the guy while working for us found he had a keen eye for SMD soldering and PCB design, so he left with the seed for an interesting part of electronics to nurture and hopefully provide some future.

Tom...... :)
(Fortran programmers, remember what happen when a 1H1 print command gets caught in a loop that will not drop out (ie continuous)....A note usually from the Computer Manager (not IT back then) or one of his/her minions, was folded under the elastic band around the card stack.)
Everything runs on smoke, let the smoke out, it stops running....

Robin2

Physics: Fortran 95 for scientists
That explains why they have only now discovered the Black Hole collision from 1 billion years ago

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

CrossRoads

It's a step up from Fortran 77 I suppose, with later versions out too. From Wikipedia:
Quote
Fortran (formerly FORTRAN, derived from "Formula Translation"[2]) is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing. Originally developed by IBM[3] in the 1950s for scientific and engineering applications, Fortran came to dominate this area of programming early on and has been in continuous use for over half a century in computationally intensive areas such as numerical weather prediction,finite element analysiscomputational fluid dynamicscomputational physics and computational chemistry. It is a popular language for high-performance computing[4] and is used for programs that benchmark and rank the world's fastest supercomputers.[5]


Fortran encompasses a lineage of versions, each of which evolved to add extensions to the language while usually retaining compatibility with prior versions. Successive versions have added support for structured programming and processing of character-based data (FORTRAN 77), array programmingmodular programming and generic programming(Fortran 90), high performance Fortran (Fortran 95), object-oriented programming (Fortran 2003) and concurrent programming (Fortran 2008).
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

dally

Pascal and Modula/2 are two good languages, especially when they come with the OO extension. I'd like to see them in the list.

GoForSmoke

Some programming knowledge is always a good thing.
My son is enjoying it, and lamenting that classes aren't going deep enough into programming subjects.
I cut my C++ teeth on Borland Turbo C++, one author I found greatly helpful on technique was Kaare Christian. He's written many computer texts, get your boy to see if Amazon has used editions of any that review well to him. He goes into techniques depth.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

CrossRoads

He's a senior in college now, graduates in December, I think he's past that now.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

GoForSmoke

#9
Feb 17, 2016, 05:20 am Last Edit: Feb 17, 2016, 05:33 am by GoForSmoke
Pascal and Modula/2 are two good languages, especially when they come with the OO extension. I'd like to see them in the list.
Niklaus Wirth wrote Modula 2 to replace Pascal. He was very clear about that in Byte in 85, if you want to make a program right, write it twice and Throw The First Copy Away.

I like the opposite of Cobol and Pascal. I like Forth!

He's a senior in college now, graduates in December, I think he's past that now.
Kaare has many books out, not just the one. He has a good style and teaching approach.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

dally

Niklaus Wirth wrote Modula 2 to replace Pascal
to "extend", especially for OO purposes

if you want to make a program right, write it twice and Throw The First Copy Away.
indeed a good tip!

Up to the 70% of ADA comes from Pascal and Modula/2, and it requires less effort in the AADL/ELD-co-design validation, which is the most boring part of my job, so, even if în my tastes I'd rather use C language for hobbyist projects because it's the most used and supported programming language, I have to confess that - from the learning point of view, and from the professional point of view - I am feeling more comfortable with the sticker "in ADA I trust" sticked on my desk :D

GoForSmoke

to "extend", especially for OO purposes

indeed a good tip!

Up to the 70% of ADA comes from Pascal and Modula/2, and it requires less effort in the AADL/ELD-co-design validation, which is the most boring part of my job, so, even if în my tastes I'd rather use C language for hobbyist projects because it's the most used and supported programming language, I have to confess that - from the learning point of view, and from the professional point of view - I am feeling more comfortable with the sticker "in ADA I trust" sticked on my desk :D
I just checked, got it wrong, the one to throw away was Modula for Modula 2.

It's still over-structured.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

westfw

There are many fine languages.   I'm just surprised that there would be such differences between what was taught to different majors, even within "engineering."  (I guess it's not THAT surprising - when I went to school, CS majors learned PL/1, other engineering and science majors learned Fortran, and everyone else learned APL.)

Has anyone found a good online class for learning "how computers work, including a little programming"?  I'm looking for something more philosophical than "Hey, we can write games in python!  Isn't that neat!", and more closed-ended than the usual "here's your introductory Java class; you'll learn more in your subsequent CS classes."  This would be for people who don't actually want to do programming (most people) but really ought to understand a little bit about how computers work inside (almost everyone!)

Robin2

I'm just surprised that there would be such differences between what was taught to different majors, even within "engineering."
You have to understand that University management (like management everywhere) knows nothing about programming. And the teachers don't want the trouble of learning new languages so they just teach the stuff that they learned. :)

The trick is to be three pages further on in the text book than the kids you are teaching.

I hope there may be a more enlightened attitude in Computer Science courses but I would not bet on it.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

Go Up