site banner

Friday Fun Thread for November 25, 2022

Be advised; this thread is not for serious in depth discussion of weighty topics (we have a link for that), this thread is not for anything Culture War related. This thread is for Fun. You got jokes? Share 'em. You got silly questions? Ask 'em.

7
Jump in the discussion.

No email address required.

I'm studying Physics but I want to appreciate programming and Computer Science more. I must admit that the two programming courses I've taken were quite boring and deluding, and I don't know if it is because they sucked or because I find programming boring in itself. My problem is that I do not really know what a programmer and computer scientist should be able to do, both in an academic and marketability sense[1], in other words how do I create a self-study curriculum to follow?

[1]like: What are jobs that programmers do? What are some beginner to advanced projects that I could implement on my laptop?

Programming is about making your problems into machine-legible ones. There are a few reasons this could come up.

First, automation. If you have a task which needs lots of repetition, consider automating it. Python is very handy for this.

Second, math. Computers are very good at reading tables, applying equations, and keeping all those in their memory.

Third, professional display of information. They are good at consistency in graphing, which adds a lot to any technical communication. Data visualization in general can be really useful. Learning how to use matplotlib will make you never want to open Excel again.

A lot of professional programming involves setting up systems like websites which will let others do repeatable tasks and store numbers without any skill of their own. If you are pursuing a physics career, don’t bother with this.

For these reasons, I used to suggest downloading Anaconda Python to start. You get a “read-execute-print loop” via Spyder, and you dodge most of the build-system stuff that plagues web or embedded development. The catch is python is too flexible, and I’ve seen way too many engineers who need a more solid foundation in data structures. I don’t have a great alternative. Recommending Learn You a Haskell is probably a bit much.

Learning how to use matplotlib Pandas will make you never want to open Excel again.

FTFY

See, I don't actually know pandas. So it must suck.

Jokes aside, there are all sorts of reasons why one cheerfully ditch Excel.

I mean matplotlib is a plotting package so pandas is the better comparison against Excel. Sorry for the pedantry. Anyways,

Pandas is THE tabular data manipulator of all tabular data manipulators. R enthusiasts would sing praises of dplyr but.. Idgaf what they think, and no one else does either. Seriously learn pandas you won't regret it.

But yes you won't see me disagree against Excel slander. I have been on the NumPy, Pandas and Matplotlib train for a while and never plan on getting off it. Getting shit done WEEKS in advance compared to Excel folk hits different for sure.

Althought I do have somewhat of a softspot for Excel for personal reasons, Its a good software to be used at home, not in industry.