News for hackers. Stuff that matters.

webartifex

Show HN: Intro to Python and Programming for non-CS majors (revisited)

Hi there,I am the author of this Show HN post: https://news.ycombinator.com/item?id=22669084Back then, I released the materials for my Intro to Python course "to the world". GitHub repo: https://github.com/webartifex/intro-to-pythonI incorporated many of the constructive criticism and am currently recording a video lecture series on YouTube:...

( Read More... | no comments | 2 points | on HN )
Re:Ask HN: How to secure the clipboard on Linux on Saturday July 04, 2020 @09:09AM (#23731991)
I am currently also using the passff extension (https://github.com/passff/passff). So, you are saying I should better not do that?
Re:Ask HN: How to secure the clipboard on Linux on Thursday July 02, 2020 @05:29PM (#23718267)
Hi HN,

I am not a security expert and was wondering how I can secure my (Ubuntu) Linux based system from such an attack?

Background: I am using the pass password manager to copy & paste passwords all the time.

Now, I am afraid that websites like LinkedIn may have stored my clear-text password.

I researched this but only find clipboard managers. No security tools for that.

Thanks for any help.

Re:Ask HN: Is anyone else losing friends in droves? on Thursday June 11, 2020 @09:21AM (#23488546)
why is this thread flagged?

Ask HN: Monitor Zoom / MS Teams Quality

Hi there.What are good tools to monitor the quality during an 8-hour workshop via Zoom / MS Teams?Background: I am conducting a three-day workshop next week via MS Teams. It'll be roughly 8 hours per day with breaks.I always do a brief test session with the participants on a prior day to identify any tech issues.This time it seemed that the video was hanging for 1-2 seconds a time a couple of...

( Read More... | no comments | on HN )
Re:10 years of Front end Development. I quit on Thursday May 21, 2020 @05:58PM (#23265957)
backend dev here. mainly python/flask.

question: if I really wanted to start frontend this year, where would I start? recommendations?

On Gmail, I used their tags as what they appear on Gmail as, namely "virtual folders".

Thunderbird's tags are a different concept from folders on IMAP.

Thanks for your comments.

I have used Thunderbird and Evolution mainly. They cannot really do that afaik.

> Probably some good IMAP-Client supports this? The Gmail clients do that (at least the last version's I remember 3 years ago). Haven't seen any other FOSS that does so too. That is what made going away from Gmail kind of "hard".

Currently I'm using K9 on Android and the web client by mailbox.org based on OX AppSuite. Both are ok, but usability could be better.

For real? Now I understand.
Agree.

I am using the German email provider mailbox.org They even report how often the government forces them to release info with a search warrant.

However, I have yet to find an email provider that mimics Gmail's tagging system (=> you can give n many tags to a single email and that email is only kept once on the server).

I often think that Google's "Don't do evil" motto is stretched way too often these days.

Re:Ask HN: How to teach Python to non-programmers online? on Saturday April 11, 2020 @08:52AM (#22841411)
Thanks :)

You may share my materials with anyone you know who wants to start Python.

Also, I am very open to pull requests with additional exercises and content.

Re:Ask HN: How to teach Python to non-programmers online? on Saturday April 11, 2020 @08:50AM (#22841404)
I tried this out this week for a workshop. It seems to not run smoothly on Firefox and some students have company laptops where they cannot change the browser easily.

Also, I heavily use Zoom's breakout rooms functionality.

Re:Ask HN: How to teach Python to non-programmers online? on Saturday April 11, 2020 @08:49AM (#22841396)
I created lots of exercises. They are all on GitHub (see *_02_exercises.ipynb files on https://github.com/webartifex/intro-to-python). My "offline" students take between 4 to 8 hours per exercise set.
Re:Ask HN: How to teach Python to non-programmers online? on Saturday April 11, 2020 @08:22AM (#22841279)
Hello world,

two weeks ago, I recorded and published my "Introduction to Python & Programming" course that I have been teaching to non-CS majors over the last 2 years.

Materials on GitHub: https://github.com/webartifex/intro-to-python

Playlist on YouTube: https://www.youtube.com/watch?v=3Zns-vfhuic&list=PL-2JV1G3J1...

Question: Because the semester is over at the end of April and I have no teaching obligations until the fall term, I was wondering if I should be teaching the course over the summer. I have no experience with developing a MOOC, so I am curious to hear your suggestions.

My plan was to put one video lecture up per week and then have a Q&A for the students on, for example, Zoom. My university has a big license.

My big observations over the last couple of semesters are that non-CS majors need some personal tutoring. No need to be 1-on-1. Assigning students into small study groups and then talk to the groups is enough.

So, I am basically offering my time once a week for free for any beginner to Python.

Maybe we can start an initiative where other software engineers also volunteer their time in a similar format.

I audited a couple of the standard MOOCs on edX and coursera in the last year and find that especially beginners struggle if they only have a message board to ask questions and not an interactive tutor.

What are your thoughts?

Re:Python for Non-Programmers on Friday April 03, 2020 @12:38PM (#22771101)
Cool initiative. I will take a look at some of the sessions. Can you post a schedule when they will take place?

I am in particular interested to see how much depth you expose the "non-programmers" to. Is it just an applied course? E.g., here is a function X that does Y. Or do you focus also on the implications in memory and, for example, Python's object model?

Good luck. We need more non-programmers to learn to code. Not for coding's sake. Most of them won't become developers. But it allows academics from all kinds of disciplines to teach their students advanced stuff. I see programming just like most students independent of the major must take Calculus 101 or Statistics 101.

BTW, I am the author of this introduction to Python (also for non-CS majors): https://github.com/webartifex/intro-to-python

I teach Python at a business school. Due to Corona, the campus was closed and I put all my lectures on YouTube: https://www.youtube.com/playlist?list=PL-2JV1G3J10lQ2xokyQow...

Subscribe to my channel https://www.youtube.com/user/webartifex if you are interested in more Python applications in the field of business administration. I am new to YouTube and will post at most 2 meaningful videos a month. No monetization, no hidden product placements.

See also this HN post from last week: https://news.ycombinator.com/item?id=22669084

I get you.

The plotting tools I would actually consider in an "Intro to Data Science" course, not in an "Intro to Programming".

I started to write a library implementing Gilbert Strang's Linear Algebra book assuming nothing but core Python. What inspired me to do that was reading Philip N. Klein's book "Coding the Matrix". I thought writing a LA library for fun and study purposes makes sense if you want to go on and study data science. However, that project is not yet ready to be published. Would that be what you are looking for?

I introduce the idea of a type right in chapter 1 because of exactly the argument you make.

As Python is really more about the behavior of objects and not so much their type, I introduce these already from chapter 4 onward, for example, iterable vs. container, and many more. I actually would say that this is the essence of any dynamic language (duck typing).

"and how to read the python documentation" -> that is an important point you raise!!! I found that beginners have real trouble reading the docs because they are screening for words like "list" instead of "iterable". However, as I teach abstract behaviors early, they actually understand the docs.

"like using .format() instead of fStrings" -> I mention .format() but mainly use f-strings and tell the students right away that they are both faster and easier to read and that they should default to them.

What would be contents you expect from an intermediate Python course?
Let's hope poetry will become a standard. Opinionated, I know :)
I hope there are no companies that hire a "data scientist" that only speaks HTML :)

The course aims at students of business administration. What do they usually do? Maximize some profit function. So, my background is really more traditional Operations Research.

Pandas and numpy & friends will be in Chapter 9 that I had not yet time to finish (the semester runs until end of April and is currently at Chapter 5).

Furthermore, it is a programming (!) course, not (!) a data science course.

Please define data science to me. Is it "only" curve fitting to you? Or also optimization (e.g., in logistics)? Then, dynamic programming (and because of that recursion) is super important.

I rely on Jupyter notebooks mainly because it is a course for people with absolutely no prior experience that also do not major in CS.

.py files are actually explained in Chapter 2 and will be used in a follow-up course.

Agree. I actually found that I set up a Postgres instance to put the data of an object and use pandas only via sqlalchemy. Most of the stuff pandas does, can be achieved a lot more efficient if done right in a real database.

I also agree about the algorithms part. For my research, I look into vehicle routing problems a lot and there is no sklearn for that or something alike. Maybe an idea for a future project.

An experienced data scientist with deep knowledge in the topics you mention easily replaces 10 of those "candidates". I feel the best way to train more serious programmers and data scientists is to teach kids to program earlier in high school. Maybe make it mandatory just as math is today. Then, a lot more students may choose CS or math as a major in college.

I'd be the first reader :)
The videos are actually available in 1080p.

If you can re-do the audio and tell me how I can do that in YouTube without re-uploading the video (it's embedded, for example, in the university's Moodle), I will gladly do that. If not, as I said, I'll do proper recordings once I got more time. I did up to 4x 2.5 hour videos a day last week to get the lectures up on time. You can actually hear that in my voice sometimes.

I absolutely agree with your approach to learning.

Good idea. This will go into the course in the future.
I consider my course a thorough course. You really learn a lot of theory. This is usually what makes students at my university drop the course after two weeks of auditing. Just because the course assumes no prior CS contents (anything really, except high school math), does not mean they don't get introduced.
It depends on who wants to hire you. For the top jobs, this is for sure not enough.

I always tell people to please make sure they know all the contents from here https://www.youtube.com/watch?v=ZK3O402wf1c&list=PL49CF3715C... (Gilbert Strang's Linear Algebra course) before they make any claims about being a data scientist. I bet I can teach a monkey to open a CSV in pandas and call .fit() in sklearn. But do the people really understand the underlying assumptions. Most self-proclaimed data scientists don't I am sure.

I still have a hard time calling myself a data scientist. And I am three years into a relevant PhD. The more I study, the less I feel I truly know.

That is correct.

But even then, I think in the future the data scientist role and the data engineer role will converge and the person doing this must know virtual environments.

Older »