News for hackers. Stuff that matters.
Re:Python Programming and Numerical Methods: A Guide for Eng... by physicsguy on Wednesday February 17, 2021 @08:04AM (#26165841)
Not sure if this is more a difference between UK/US universities as this says it's targeted at "serious undergraduates or graduate students", but we covered all of this material in the 1st and 2nd year undergraduate courses at the Universities I've studied at or taught at here.
Re:Python Programming and Numerical Methods: A Guide for Eng... by dataflow on Wednesday February 17, 2021 @08:17AM (#26165949)
It matters what you're majoring in and focusing on. There's only so much time to teach so much material in CS, for example, and there's not much desire from the faculty to teach numerical diff eq solving (and certainly none from most CS students to learn it). The ones that do go to grad school tend to need these more, but they haven't seen them in undergrad so they end up learning what they're lacking in grad school (or late undergrad).

That said, do you guys really learn/teach the shooting method, Lagrange interpolation, predictor-corrector methods, QR factorization, etc. as 1st/2nd-year undergrads? For what majors? I feel like this would come at the cost of deferring other topics to later years.

Re:Python Programming and Numerical Methods: A Guide for Eng... by physicsguy on Wednesday February 17, 2021 @08:42AM (#26166158)
We don't generally have majors/minors in the UK, so perhaps this is part of it. You do a degree in for e.g. Maths/Physics/Mech Eng, and all of your courses are in that.

Yes, we also covered other stuff like splines, finite difference method, too. I think Finite Element was third year where I last taught.

Re:Python Programming and Numerical Methods: A Guide for Eng... by dataflow on Wednesday February 17, 2021 @08:45AM (#26166188)
> You do a degree in for e.g. Maths/Physics/Mech Eng, and all of your courses are in that.

"Major" refers to the same things you mentioned (physics, math, EE, etc.), it's not any different in the US.

> Yes, we also covered other stuff like splines, finite difference method, too. I think Finite Element was third year where I last taught.

Sorry to repeat the question, but again -- in what major (or "for what degree" in your terminology) did you study this? (CS? MechE? Physics? EE?)

Re:Python Programming and Numerical Methods: A Guide for Eng... by physicsguy on Wednesday February 17, 2021 @08:50AM (#26166225)
My background is physics, but most recently was a TA for classes for people in Aero/Mech/Astronautical Engineering (courses were shared between all three programmes) doing this stuff.

In that department, beyond the courses covering this stuff which were compulsory, there were additional optional courses for 3rd and 4th year students to do C programming and more advanced numerical methods and stuff like programming paradigms for HPC.

Re:Python Programming and Numerical Methods: A Guide for Eng... by dataflow on Wednesday February 17, 2021 @08:57AM (#26166289)
Yeah, so I think this clears up why. I don't think that "serious undergraduates or graduate students" statement was aimed at physics folks, but at more like CS (and possibly EE) folks. Who would also normally learn (say) programming paradigms, algorithms, data structures, low-level programming like C, etc. in their first 1-2 years, which are topics I'm guessing you wouldn't be covering as physicists. For students in CS (or to some extent EE or more nearby fields) to go in this direction in their first 1-2 years, they'd need to have a very unusual amount of interest in numerical techniques to defer other basic topics to later years (or just overload on technical courses and defer humanities to later).
Re:Python Programming and Numerical Methods: A Guide for Eng... by dron57 on Wednesday February 17, 2021 @09:55PM (#26174936)
I did EE in Canada and numerical methods were definitely taught in 2nd year of undergrad. Why wouldn't it be?
Re:Python Programming and Numerical Methods: A Guide for Eng... by dataflow on Wednesday February 17, 2021 @10:14PM (#26175116)
I said possibly EE, not necessarily. Depends what you mean by "taught" and on what the program itself focuses on. In EE/CS programs you'd be taking half CS courses at least in the beginning, for example. And those EE courses' focuses are often on DSP and digital control rather than (say) simulating analog circuits. If by "taught" you mean "can be taken at that level", then sure, these are such undergrad courses in the US too, and they don't have particularly long prereq chains either, so a 2nd year student could take them if they actually wanted to. But it's not customary, and if by "taught" you mean required as part of the curriculum, it may not be depending on the school. The reasons are varied; again, lack of interest from CS-leaning folks on both sides is one such reason, as is the fact that the world has gone digital and they tend to focus more on linear algebra/DSP/etc. rather than ODEs and PDEs. In general few undergraduate students who aren't forced to take numerical methods in undergrad will do so.

And I'm not saying this is a good or a bad thing or trying to justify it, just explaining how it is and what some of their rationales are.

Re:Python Programming and Numerical Methods: A Guide for Eng... by BeetleB on Wednesday February 24, 2021 @01:59AM (#26247373)
> In EE/CS programs you'd be taking half CS courses at least in the beginning, for example.

Not sure if you'll see my reply, but in the US this is generally not true for EE. If you're CompE, perhaps. In my EE undergrad, you were required to take only one CS course. It was otherwise heavier on math and circuits/electronics. By the end of the 2nd year, you'd have had two circuits courses, and have taken ODEs, and 3 semesters of calculus. Even the junior year is focused on electronics, E&M and motors - although you can start taking other electives (digital signal processing, etc).

But numerical methods was not required for us. It was a senior level elective.

Re:Python Programming and Numerical Methods: A Guide for Eng... by dataflow on Wednesday February 24, 2021 @02:03AM (#26247395)
I should've probably written EECS rather than EE/CS, that's why I was talking about. Not {EE or CS}.
Re:Python Programming and Numerical Methods: A Guide for Eng... by coldtea on Thursday February 18, 2021 @03:55PM (#26185383)
>"Major" refers to the same things you mentioned (physics, math, EE, etc.), it's not any different in the US.

It is, if the UK doesn't have minors but only majors (e.g. you determine from the start what you'll be studing).

Re:Python Programming and Numerical Methods: A Guide for Eng... by dataflow on Thursday February 18, 2021 @04:00PM (#26185438)
Minors and majors are mutually exclusive. You don't minor in something if you major in it. Majors should be the same as in the UK. And yes you can determine from the start what you'll be studying in the US in many schools; just depends on the college policy.
Re:Python Programming and Numerical Methods: A Guide for Eng... by coldtea on Thursday February 18, 2021 @04:38PM (#26186008)
>And yes you can determine from the start what you'll be studying in the US in many schools

Sure. But the question is "can you do the inverse in the UK?". That would be the difference then -- not having the ability to "play around" before settling.

Re:Python Programming and Numerical Methods: A Guide for Eng... by dataflow on Thursday February 18, 2021 @04:44PM (#26186083)
The difference between what? The question was whether majors in the US mean the same thing as those things listed for the UK. I'm saying yes they do. The claim was never that other aspects of programs are identical in both countries.
Re:Python Programming and Numerical Methods: A Guide for Eng... by coldtea on Thursday February 18, 2021 @06:51PM (#26187516)
Well, there is no equivalent of majors in the UK, so "majors in the US" can't "mean the same thing as those things listed for the UK".

There are no majors in the UK, and no equivalents of the major/minor dichotomy.

There is just a straight degree in X, studying topics about X. You don't get to decide your major later on, and you don't get to throw in a minor to your degree as well. You study a specific thing from the first year.

Re:Python Programming and Numerical Methods: A Guide for Eng... by dataflow on Thursday February 18, 2021 @06:57PM (#26187583)
I don't get why you keep bringing up minors because they add nothing to the discussion. The UK doesn't have minors, yes I get that, nobody said it does. I'm saying from all the descriptions here it appears what you call "degree" (EE, ME, etc.) is what we call "major [field of study]" in the US. Whereas in the US the term "degree" refers to BS/MS/PhD/etc. Just a terminology difference. Some colleges in some universities in the US require you to determine it upfront, some let you do that optionally, some actively prevent you. (e.g. some colleges let you take a year or more to decide whether your major is English or Biology...) Apparently in the UK they all require you to declare it upfront. Whatever the policy is, the timing of the decision/determination doesn't change what it is, and again, even if it did, most schools let you if not require you to declare your major (what you call "degrees") in the beginning.
Re:Python Programming and Numerical Methods: A Guide for Eng... by capeterson on Wednesday February 17, 2021 @12:49PM (#26169223)
I'm about to graduate from a 4 year university in CA (edit: CS major) and we are taught a fairly in depth numerical methods class as part of our 3000 series of classes (i.e. it's intended for third-year students).

It's certainly possible to take it in your second year where I am, but usually students opt for other classes that will help them get an internship before they go to numerical methods, so it's a common third year class IMO. It doesn't normally get pushed off farther than that though, since it's a common prerequisite for fourth year classes.

Re:Python Programming and Numerical Methods: A Guide for Eng... by physicsguy on Thursday February 18, 2021 @07:05AM (#26178877)
We don't really have so many optional choices here early on - in UK Engineering degrees are regulated by the Engineering Council and have to cover set material, or students who graduate from it are not able to register for Chartered Engineer status as quickly (adds an extra 5 years onto the process). For Physics, the courses are generally set to meet requirements set by the Institute of Physics. We do have credits, but it's generally not possible for you to take courses from a higher level - a 2nd year student can't generally take a 3rd year course for e.g. or vice versa.

In general, this means that the first two years of all physics/eng degrees in the UK cover almost identical material across all Universities. It's only after that you start to get any choice, and those choices usually relate somewhat to the expertise of the academics at that institution - I did my first degree in a University with very strong condensed matter theory group for e.g. so there were lots of courses on that.

Re:Python Programming and Numerical Methods: A Guide for Eng... by the_svd_doctor on Wednesday February 17, 2021 @10:09AM (#26167113)
I learned those (not QR, but ODE methods, basic numerical PDE, non linear equation solving methods, interpolation, etc) in the first semester of my 2nd year of my engineering bachelor. In Belgium.
Re:Python Programming and Numerical Methods: A Guide for Eng... by bigger_cheese on Wednesday February 17, 2021 @04:49PM (#26172260)
Similar story here my Bachelor of Engineering degree in Australia covered Partial Differential Equations, Fourier Transforms, Interpolation, Eigen Vectors etc.

The focus was on the mathematics and concepts. We were not taught how to approach these problems using computer code. We were taught very little computer programming in general.

When we were taught how to solve problems using computer assistance the focus tended to be on using specific software packages and not on how to write code.

I.e. using ANSYS for Fluid Dynamics problems or using Excel's "Solver" for simultaneous linear equations.

Edit: QR Factorisation was covered in my first year Linear Alegbra course. For Matrix stuff we used software called "Maple" which was installed in computer lab at university I have never heard of it again since I left uni so I don't think it is all that common. We mostly had to solve problems by hand on paper anyway - which I hated.

Re:Python Programming and Numerical Methods: A Guide for Eng... by physicsguy on Thursday February 18, 2021 @07:12AM (#26178926)
They did the same sort of things for CFD, but on top of what I described above and in different courses. In the first year course they were using Solidworks Flow but went on to other stuff after that.
Re:Python Programming and Numerical Methods: A Guide for Eng... by analog31 on Wednesday February 17, 2021 @08:37AM (#26166114)
I was a math + physics major. "Numerical analysis" was one of the math courses, but you could also get CS credit for it. We also used numerical methods in our physics courses. The CS curriculum at the university near my house requires two math courses beyond basic calculus, but does not require differential equations.

I work at a place that has a mid sized engineering department. The people who regularly handle math related programming tasks tend to have degrees in the physical sciences, and coincidentally are older than 50.

Re:Python Programming and Numerical Methods: A Guide for Eng... by jrumbut on Wednesday February 17, 2021 @08:10AM (#26165891)
I was confused reading the table of contents until I got to the final third which matched what I was hoping to see, and what I think would be of interest to their target audience.

My understanding and limited experience is that US universities focus more on software engineering and theoretical computer science, with numerical methods (even very basic ones) left as a later elective/graduate course.

Re:Python Programming and Numerical Methods: A Guide for Eng... by mumblemumble on Wednesday February 17, 2021 @10:17AM (#26167226)
My graduate program was interdisciplinary, and attracted students with a variety of backgrounds, including social sciences, math, and CS.

So there was a huge need to have a survey class like this to get everyone to a common baseline level of knowledge. Some knew math but not programming, others knew programming but not math, and still others knew a little programming and a little math, but not quite enough of either.

Re:Python Programming and Numerical Methods: A Guide for Eng... by BeetleB on Wednesday February 17, 2021 @01:26PM (#26169722)
In the US, it is generally expected that incoming students have no exposure to calculus.

Of course, many students do study calculus in high school and can sometimes skip these courses in university, but the curriculum assumes they haven't.

Re:Python Programming and Numerical Methods: A Guide for Eng... by physicsguy on Thursday February 18, 2021 @06:56AM (#26178802)
Ah, OK, that's v. different to UK then.

Here everyone doing a Physics/Maths/Engineering degree will have A Level Mathematics qualification and a Physics A Level qualification. In the pure Maths part, it covers integration and differentiation (inc. of trigonometric functions, log, exp and by parts), vectors, and 1st order ODEs as a minimum. There is also mechanics though depending on the school you study at, this did not used to be compulsory (you could choose to do Statistics instead).

In Physics A Level, it covers general physics topics - using SUVAT equations for e.g., electric circuits, radiation, some very basic QM like photoelectric effect. Knowing calculus is not a requirement for that qualification as it's designed to be independent from Mathematics A Level (at one point you had to take it as well to study Physics, but declinining numbers of students caused them to stop that), but to study most STEM subjects at University you do need both qualifications.

Around 50% going on to study for one of these degree courses will go beyond this and will have studied for an A Level in Further Maths. In this you do second order ODEs, complex numbers, matrices, conic sections, and more mechanics. In the Universities I've taught/studied at, the entirety of these Further Maths topics is usually covered in a 1st year + 1st semester course before going on to do harder stuff beyond that.

So from that mathematical background, everything numerical methods-like assumes you already have that knowledge almost from the beginning at University.

Re:Python Programming and Numerical Methods: A Guide for Eng... by azalemeth on Monday February 22, 2021 @08:25AM (#26224206)
I actually studied things like Newton's method and even Runge-Kutta ODE solution in a numerical methods A-level module (i.e. at school). There are other bits of the curriculum that are quite different too -- like decision maths, which basically was lots of algorithms (routefinding! critical path analysis!). As a result, my university-level courses were very much based on efficient numerical implementations of stable algorithms, and looked a lot at something like how to solve chaotic ODEs, or integrating rather unpleasant functions. (I was actually taught by this person and how to solve his problems! https://mathworld.wolfram.com/Hundred-DollarHundred-DigitCha...)