Hacker News new | past | comments | ask | show | jobs | submit login

My school solved this quite well, I think. Homework wasn't graded. You were supposed to build a project or a series of projects. There was a practical exam at the end of the term where you were asked to make one big change to your homework project, and you were given 3 or 4 hours to do it in the computer room. It was really tough, and impossible to pass if you had not implemented everything yourself and knew things inside out.



This is a brilliant solution for a project-based course. It does take a decent amount of effort to go through each students project and give them an ask that you know isn’t ChatGPT-able.

Another great solution is to give an interview-like oral whiteboard interview for midterms/final. Quite time consuming (you can’t just assign the TA’s a grading prompt) but quite effective.


Brilliant solution. But how was the change that the student would be asked to implement evaluated for fairness?


The requested change was the same for everyone. They would have also run your project through a series of unit tests and would let you fix your code if they had encountered any bugs. Being able to implement the change was a necessary condition to prove you had authored the code and pass but, overall, the project would be graded based on architectural decisions, algorithms and data structures, coding style, etc. I guess this is not done at other schools because it's a hell lot of work for teachers and passing rates are low. It's quite brutal.


The passing rates at least seem solvable, by making the required changes a little easier. Is it not viable to do this with changes that are automatically testable, so it's not as hard on the teachers?


Or by grading on a curve, so that students who worked in good faith and seemed to know their code were given good grades, even if they did not 100% finish in the few hour timeframe.


I'm not a big fan of final exam/related serious pass/fail screens. Students have (probably) made a big investment in time and money and , absent pretty serious deficiencies, they should probably be able to eek out a gentleman's C.


It sounds to me like you're in favor of grading on effort.

I don't believe that investment made in time or money should factor in to assessing a student's mastery.


Grading on effort with a ceiling of a C is pretty different from grading on effort full stop.


Getting a 100% final grade doesn't indicate mastery.


Not really. But I'm generally not in favor of all or nothing end-of-term evaluations rather than mid-course correction feedback. And also not in favor of admitting students that will probably be out of their depth. As was the case with a course I TAd and did some tutoring for. (Not engineering.)


I don’t believe money should ever be a factor for students. In any way. Yet, when I was a student I was incredibly loud about “I am a paying customer of this institution and you’re gonna teach me. Late to class and not allowed in? Great, I paid for this class and I’ll take it up with whomever has the ability to reprimand you/fire you if you aren’t tenured/generally make your life hell.”

Money in education perverts everything. More generally money is the root of all evil, eh? But if you took my cash and I get nothing? Thats a very loud complaint and/or lawsuit.


On one theory of college, you get someone to hold you to certain standards (which many people have trouble holding themselves to) and then verify that you were held to those standards, providing a signal that you can meet high standards.

Somehow, I missed this theory and also just wanted to skip all my classes with no repercussions, but I wish it had been explained to me better.


Meanwhile I knew perfectly well that's the theory of a functioning academy and _still_ chose to skip class and get high/drunk with my friends.

Guess I'm a terrible person/s


Eh, you paid and agreed to terms and conditions.

> you took my cash and I get nothing?

If I book a hotel room then turn up a week later than my booking date trying to get a room I can expect to receive nothing.


Sure; but also the squeaky wheel gets the grease. I got my education and a couple of my professors got forced to be decent to their students. In my case it worked out. YMMV.


YMMV on the definition of “decent”. Arriving late to class is disruptive to all the other paying customers in the room so IMO it should be disincentivised. There are reasonable and unreasonable levels of disincentive, of course.


Agreed. I had a professor who’d whip whatever was on the desk at whomever was late. Some poor girl got hit with a stapler. So you know, that mileage is a highly variable thing!


That’s physical assault and i would report it to the police and then to the educational institution in that order. If the professor retaliates in any way i would further report that too.


> But if you took my cash and I get nothing? Thats a very loud complaint and/or lawsuit.

Maybe in america... but at the end of the day its not that hard to tell the customer to fuck off. The value proposition of a university is either the credential or self-improvement. Its not their customer service.


Having been the guy who got a couple of F's, and retook the exams in Sept and passed them to continue to my next years of studies and eventually my BSc I can say.. no! Do the work. Deserve the A/B/C. Get the A/B/C. I don't believe I'm the only one that suspects how the test will go, knows what the test result will be once I see the question, and know what I should have done to get that A/B/C mark.

I get it that shit happens in life (imagine someone having exams two days after they buried a father/mother/brother/sister), now THAT person, yeah, boost their results by 'one step' because if they got a 40% going through THAT, then they would have gotten 60% in a normal/BAU situation.

But don't hand out degrees to people who don't deserve them. It dilutes the degrees of those who do.


That's what incompletes are for. When life strikes - as it does - give the students a break and let them pick up where they left off with no penalty after the fan blades aren't covered in you know what any more.

(This is, at least, my policy. A grade reflects mastery and only mastery, but it's my job to help students get there and sometimes that means finding creative solutions.)


To be honest, I squeaked through undergrad in various ways. And my undergrad profs, etc. helped me with that. And things worked out and Alumni Affairs is probably happy with how things worked out. And I don't think the companies I've worked for have been that unhappy either.


Do the same in change for all?

E.g. implement a simple compiler for a C-ish language with only functions, if and while loops; as the big change, ask to add for loops.


I doubt the change was relevant. I would expect if they can reasonably make a change even if not totally ideal, the work as first submitted can be evaluated on it’s own as it is shown to be original work.


Changes were often designed to be impossible to perform if your architecture was not flexible, or to show your algorithms had poor time or space behavior. So, changes were designed both to test you were the author and to fail poorly designed projects.


I love this approach. It is both practical and constructive.

Do you have examples of projects used?


Nice. It required teachers that are good though. Maybe not anymore with AI


> It was really tough, and impossible to pass if you had not implemented everything yourself and knew things inside out.

... and required an awful lot of resources to grade, unsustainable for modern academia that has been perverted to be mostly a diploma mill.

No front but a "CS degree" is, for 99% of the people that have one, factually useless - people only do it because employers use it as a very efficient filter to weed out everyone who might have an issue with what big corporate demands - cogs in a wheel, not artisans with own opinions. The purpose of academia isn't science and advancing it anymore, it is raking in tuition money on one side and molding people to corporate drone conformity.


> No front but a "CS degree" is, for 99% of the people that have one, factually useless

I just don't understand how people can believe this. I learned most of my programming skills in college, and everyone I know did too. I could program before, but really poorly, because I didn't have fundamental computer science knowledge. Taking algorithms, theoretical comp sci, discrete structures - these transformed me from a code monkey to a real programmer.


>I learned most of my programming skills in college, and everyone I know did too. I could program before, but really poorly, because I didn't have fundamental computer science knowledge.

This, a lot of the self taught folks that sneer at degrees often struggle with things that were essentially solved by algorithms that are very familiar to people with an education.


> Taking algorithms, theoretical comp sci, discrete structures - these transformed me from a code monkey to a real programmer.

That's what I meant! Companies don't want "real programmers". They want cogs who mindlessly implement what some "architect" dreams up, no questions asked.

Land the architect role and you're set for life (or at least until AGI appears), but everything else is just destined to be either moved off to AI or be replaced by some sort of offshoring venture.


Being able to tell your architect that their design does not scale and provide evidence why is something companies do actually want.


…but does the hiring manager? They probably don’t want to deal with the political issues that arise from that situation. Besides, if someone has that capability, they’re looking for an architect position themselves.


I don't think you need to be an architect to do algorithmic complexity analysis.


> employers use it as a very efficient filter to weed out everyone who might have an issue with what big corporate demands - cogs in a wheel, not artisans with own opinions.

I think the simpler explanation is that the CS degree is supposed to be an independent verification that the student has learned and can employ fundamental aspects of CS.

I realize that verification can often be wrong (especially now with the ubiquity of LLMs), but I think the view that employers are simply looking for "cogs" and avoiding "artisans" is an arrogant and cynical take on what a degree is supposed to indicate.


> I think the simpler explanation is that the CS degree is supposed to be an independent verification that the student has learned and can employ fundamental aspects of CS.

When you have 5 positions open, and 100, 500, or even more people applying for that position, having a broad filter to help reduce the numbers it very useful. While that filter can be wrong, using it is likely to raise the average qualifications of the people in the pool, even if it does cut out some of the well qualified people.


I dropped out of school and made an artisan career for myself in engineering and loved it, it's who I am and can't pretend to be something different. But there is friction to navigate that way and not everyone will be able to make it work. Staying within the lines is the path of least resistance for most people.


Have you ever written about your story? I know I would be interested in reading it.


Okay, if you're interested:

- Mild autism, mild ADHD, undiagnosed until recently. Intersectionality leads to highly bespoke set of strengths, weaknesses, behaviors.

- Mensa-level IQ, smart enough and high enough performing to have done well despite friction (and no degree.)

- High need for autonomy in learning and work practices. Never consciously understood it until recently, but instinctively and awkwardly fought for it.

- Clash highly with scrum, agile, any high-process environment. Don't fit well in larger or more formal companies.

- High achieving, high output, quality output in good conditions, but low ambition for entrepreneurship, management, or advancing in an org's hierarchy.

- Earn trust early on at each company through high achievement but inevitable friction with management grows over time as I use the capital to secure high freedom, independence, optimal conditions for my own productivity and comfort.

- End up quitting jobs at the two year mark due to friction except for one where my accomplishments kept me around much longer.

- I interview well with people who just want to know someone is smart and gets it and is easy to get along with, interview poorly with people looking for a more specific and narrow profile.

- Good natured and likable, but don't form networking relationships. I like interacting with people and working alongside people, but need to be independent and do my work on my own. I'm not antisocial, but a lot of what teamwork and leadership and collaboration mean in engineering today are alien to me.

- Kind of selfish from a team point of view because I'm so individualistic and focused on my own work practice needs, but when I work with business or other end users I'm highly compassionate and driven to understand and solve their needs.

- It feels like I speak a different language as other smart people, other high performing engineers. I find things easy that others find hard, and vice versa. I feel pain points others don't, and vice versa. Ambitious and curious but not in a way that matches other high achievers. I solve problems others have struggled with, especially if they benefit from creative problem solving or a nonstandard solution. It's seen either a strength or a weakness depending on the situation and the people around me.

- My last job was the first one I've had that was defined more by the friction than the success but I still did good work and left on my own terms. It sucked, I haven't bothered with a job search since.

I don't think I want to work in engineering again. What it means to be a successful part of an engineering team has evolved too far away from my preferences and strengths and needs. I'm no longer interested in fighting it or faking it. I'd be happiest in whatever low profile job let me do my own thing. I don't mind dull business work or even rote work if I can do it or automate it my own way. Job descriptions are pretty homogenous and aren't written to expose what I'd really want or need in a job. I'm probably overqualified for the job that would fit me best for the rest of my career. But I have a lot of money saved and low living expenses and don't mind lower comp if it means having a job I'd like.


> End up quitting jobs at the two year mark due to friction

This resonates strongly with me.

I find past the two year mark at a company I wind up starting to burn out and causing friction with my management and teammates

Unfortunately I don't have the savings to retire or anything, and job hopping so frequently is a big challenge for me. I'd really like to find a way off of the treadmill and into less stressful day to day operating


It's cute that you think of Scrum as a "high-process environment". I assume you've never worked in a real high-process environment like avionics or medical devices. But that type of work isn't for everyone.


I worked in a startup where we spent in scrum meetings something like 40% of our time. And the software we wrote was a total disaster :D

The meetings were specifically for scrum/agile shit, so standups, planning, estimating, retrospective. I'm not including the meetings to design new features or so.


> I realize that verification can often be wrong (especially now with the ubiquity of LLMs), but I think the view that employers are simply looking for "cogs" and avoiding "artisans" is an arrogant and cynical take on what a degree is supposed to indicate.

Look at how many basic paper pusher bullshit jobs these days require some sort of academic degree (often enough, it's literally any academic degree). It's obvious that the true intention is to violate the ADA and other anti discrimination laws in spirit without violating it in a legal sense, because it's pretty obvious that minorities and those with any kind of disadvantages have markedly lower chances of acquiring an academic degree.

And even leaving that aside, "academic degree" is a good proxy for "doesn't use drugs to a degree he can't function, doesn't have too bad ADHD or other issues, is likely able to fulfill duties somewhat on time and has an attention span of larger than 30 seconds". This is stuff that companies had to risk hiring (and firing) on their own dime, so by requiring an academic degree they offload that cost onto the prospective employees.


It's impossible to know anyone's true intentions but the evidence indicates that most employers impose arbitrary college degree requirements mainly to cut down the number of applicants. This causes some false negative results but that's an acceptable cost. Many employers will drop the degree requirement when the labor market gets tight and they have trouble filling critical positions.


I took a similar exam where the grading was done by a TA trying a bunch of random test cases and recording how many passed. Hardly an awful lot of resources. For the purpose of stopping plagiarism, knowing that the solution was live-coded was enough.


My experience is exactly the opposite. I learned so much during my degree. I also did an MSc and PhD and I learned even more there. As to employers, most did not give two rotten figs abut my degrees. They cared about culture fit and a baseline of skill, and that's it. I think some employers and senior colleagues even looked down on me for having a CS degree.


That hasn't been my experience in my professional life at all. On the contrary people with no formal education are normally bad at their job, in my experience.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: