HN user

poplarstand

44 karma
Posts6
Comments14
View on HN

I agree. Part of the motivation for this post is that I've been doing triage on a maimed branch that got incorrectly squashed.

That being said, the workflow for this project is unlikely to change. And, to be fair, the workflow has its benefits. The project history is very clean, PR code reviews are straightforward, etc.

Something dead simple.

I want code that's easy to write and easy to read. No fancy tricks. No decorators, no hundred-character lines for a print statement, no manual memory management or custom operators. A child should be able to use it.

I want code that's easy to maintain and deploy. Never worry about language/tooling versions again. No gcc, no g++, no rbenv, no Maven, no venv/pipenv/poetry whatever.

My target audience is anyone that doesn't have a computer science degree. A language for accountants and office workers. For school teachers and twelve-year-olds.

Throw out the foobar tutorials and Tower of Hanoi logic puzzles.

"Here's how you can download all your students' submissions from Blackboard in one button click."

"Here's how you automatically format a spreadsheet without having to click on every columns."

"Here's how to make your computer wiggle its mouse so you can skip the mandatory attendance checks for your online classes."

"Above all, do not lie to yourself. A man who lies to himself and listens to his own lie comes to a point where he does not discern any truth either in himself or anywhere around him, and thus falls into disrespect towards himself and others. Not respecting anyone, he ceases to love, and having no love, he gives himself up to the passions and coarse pleasures..."

- Brothers Karamzov, Fyodor Dostoevsky

Imagine a business that sells deliverable medical testing kits. This business is the best at what they do; they sell more kits than any other organization, they cost less, they're delivered faster, and are superior in any way, shape, KPI, or form imaginable to traditional alternatives. The only issue being that each kit is in fact a bloodletting kit, and their intended use is to inform you which of your four humours is out of balance.

I'm of the opinion that e-proctoring, whatever its privacy concerns, is fundamentally an exercise in "doing the wrong thing faster". Our exams are a poor reflection of student ability. Our exams have no bearing on actual proficiency in the subject matter. Our exams are ineffectual at catching cheaters. Leaving aside any discussion of privacy, e-proctoring (and traditional proctoring) fails to accomplish its fundamental goals.

To automate these exams, to make them ever-more scalable and easier to distribute, is not a victory. We've merely perpetuated a flawed system.

If we want a meaningful assessment of student ability then we need to use better methods. Dethrone exams from our curriculum. Leverage project-based assessments. Use oral exams where feasible. Replace the infinitely looping lecture halls with recorded videos and open-source textbooks. Use the recovered instructor time for something meaningful. This is not a Gordian knot. It can be solved with a little courage and a little pragmatism.

Current (almost finished) OMSA student here.

I agree that the tools themselves aren't terrible, but I do believe they're an example of "doing the wrong thing faster". My claim would be that all time-limited exams are bad news.

1. The strictness and quality of exams varies significantly by instructor (as you mentioned in your post)

2. Exams aren't representative of any real-world analogue (how often does your boss lock you in a room and tell you to solve the Lagrangian by hand, alone, under a time limit)

3. They don't actually stop determined cheaters (anyone with the foresight to put up notesheets in their bathroom)

In short, proctored exams do not effectively assess student proficiency in a subject, and do not effectively prevent cheating. Making proctoring more scalable means propogating a bad practice at ever-greater rates.

What I would suggest instead, and what many classes in OMSA have already done, is to leverage project-based assessments.

* Demonstrates learning by actually using the material, instead of hollow repeat-backs

* Encourages further learning since practice entails dealing with real-world complications

* Helps students develop a portfolio so they have more to show at graduation than transcripts

There are many other options though if that particular solution doesn't tickle your fancy.

I'd like to offer another use case, one near and dear to my heart: grandma.

My grandmother, like many grandmothers, has no business being on the road. She is a wonderful person. She is also a horrible driver, a threat to herself and others by virtue of natural impairments (vision, reaction time, etc.)

Taking away her license would make all roads safer, but it would also obliterate her quality of life. The actual need for driverless cars, to me, is a means of retaining her freedom of movement with a far lower level of endangerment.

My younger brother is in the same age range. He was interested in programming, so I pointed him towards Automate the Boring Stuff with Python. He has done well since, with his latest project being a simple mouse-wiggler script that sets his status to "online" for his school's mandatory online attendance checks.

Looking back at the learning process, the most useful parts of Automate the Boring Stuff with Python were the mini-projects: web scraping, GUI automation, and other immediately visible tools that helped a student to build tangible things. Once he had those, my little brother could figure out his own projects, like automating redundant tasks in the video games he plays.

Conversely, the least useful part of the book was its fundamentals. In retrospect I should've started him on a different tool like Codecademy. The instantaneous "correct/incorrect" feedback was a better fit for clearing the initial hurdle in understanding syntax.

GitHub Classroom 6 years ago

I believe that there is a strong argument to be made for the middle ground. Like you, I have been both a teacher and student, often at the same time, and was exposed to the trade-offs that any educational paradigm will have to make.

My current favorite approach is the one taken by Udacity in their "Nanodegree" programs. Much of the coursework is tied to autograders, which offer quick (if not very nuanced) feedback on the work performed. The culmination of each unit is a project evaluated by a human being, allowing for guidance on a more personal level.

In the absence of 1:1 tutoring, a hybrid model like this would be the base for my ideal class structure.

Offering my two cents as an idiot kid working with a posse of late career SQL DBA's:

SQL isn't obsolete, but it's awfully tiring to deal with folks who treat it as the end-all be-all of data tech. The project I'm working on right now has a few dozen stored procedures stapled on to a Hadoop cluster because none of the industry veterans trust this new-fangled "Spark" technology. When the quarterly schema changes come around, the entire environment has to be redone so as to accommodate the hard-coded SSIS ingestion pipeline.

You seem to have had a very successful PhD experience. You write approvingly of your advisor, acknowledge the ways in which the program benefited you, and have respect for peer-reviewed literature.

That being said, I'm not sure that your experiences are typical. HN regularly has commenters and posters that have been disappointed by their forays in academia. One recent example was posted only two days ago:

https://news.ycombinator.com/item?id=21740833

I imagine that a good PhD program is, by definition, likely to be beneficial. Probably above "independent learning" by leagues. However, it's worth considering what an average-case or worst-case PhD program looks like. Those may not compare as favorably to "independent learning".