Live data from Hacker News

Professor solves 240 computer science exam problems in 4 hours [video]

youtube.com

161–170 of 173 posts

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#161

Earlier quoted context omitted.

I’d argue that if PhDs in CS where the only ones creating compilers you’d see less bugs and way more theoretical work being done before starting a project. Now it’s scrum galore and everything goes.

I'd venture you'd see less bugs because there would be drastically less code out there.

Yeah, that too.

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#162
post #43

I need to defend theory of computer science here, it seems. Please note that this computer science , not computer engineering . The idea of automata, regular languages, turing machines, and whatnot inform some of the most fundamental results of computer science . At least in the fields where I work [compilers, formal verification], all of the above theory is common parlance. Everyone working on this stuff knows all o…

[deleted]

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#163

As a math professor, I'm amazed that our students learn to answer exam questions about damped, driven systems without internalizing anything about the idea. Now, our pandemic is a damped, driven system and no one gets it. I love multiple choice. I aced Regents exams in high school by borrowing old study guides to memorize the missing half of the corpus. I recently had a great time taking the Triplebyte quiz inebriate…

Regarding question 1: what if L is a very simple regular language? For example, if L is the empty language (which is regular), then option B is again the empty language (and thus regular).

While B is the best choice among those provided, the question is poorly written.

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#164
post #85

Earlier quoted context omitted.

Generally no, because they do not have large populations of self-taught professional practitioners who never learned theory. Least common denominator writing is very useful for a great many things. It is wonderful and ideally suited for items aimed at a popular audience. It just may not always be ideal for efficient and precise technical communication.

I don't really buy this. You're framing this as if people don't use this notation because they are self taught. But I've worked in companies full of fresh out of college people and we didn't use this notation when working on projects. And when working on group projects in college, we didn't use it either when discussing possible solutions. We used pseudocode. Beyond that, I think you're selling an ideal here in these…

Please accept my apologies. I can see I have been unclear.

It's been my experience that when attempting to communicate, people use the vocabulary they expect will do the job efficiently for the task at hand. As you say, for many things this is absolutely pseudocode! But I've also been in situations where mathematics, or the many Greek letter transformations of Haskell, or something else was the vocabulary of choice. As the projects I've worked on have grown more complex and occasionally abstract, pseudocode has increasingly not been the go-to answer.

Again, you're completely right. It's a major issue that medical professionals often lack a real understanding of how a given pharmaceutical works. It's one that is in dire need of addressing!

I also think medical professionals have this shared assumption that they can talk about anatomy and physical processes with one another to communicate effectively and precisely, rather than "the bone next to the other bone next to the chompy thing". Especially when on a chart and the other professional isn't nearby to ask. That's shared vocabulary at work. I've certainly struggled to have architectural discussions with people with whom I shared little vocabulary. I'm sure the failing was entirely mine.

You're completely right. There's a lot here and pseudocode is incredibly powerful! I find it worth considering that there might be value to be gained in shared vocabulary beyond that one tool. Your mileage may of course vary.

Thank you kindly for the opportunity to better explain my points.

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#165
post #119

Earlier quoted context omitted.

Not OP but there are more than a few domains that can be modeled with automata, a shipping pipeline with approval steps is an example.

Ecommerce order/payment/shipping status is a good example. Anything that has a well defined state that can be changed by events is well-modeled as a state machine of some kind. Also anything that has to progress through certain steps and might be interrupted or have exception cases, and you want to proceed/retry idempotently. Personally I have also found basic graph theory to be immensely useful for representing and…

>Personally I have also found basic graph theory to be immensely useful for representing and reasoning about things.

I agree! The graph theory portion of my algorithms class (more than half of the class) was the third most useful thing I learned in my degree.

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#166
post #43

I need to defend theory of computer science here, it seems. Please note that this computer science , not computer engineering . The idea of automata, regular languages, turing machines, and whatnot inform some of the most fundamental results of computer science . At least in the fields where I work [compilers, formal verification], all of the above theory is common parlance. Everyone working on this stuff knows all o…

I empathise with people who go to college to study computer science, mainly with the intent of eventually landing a well-paid programming job, who are then frustrated when they have to learn actual computer science topics instead of just learning to program. But their anger is usually directed at the wrong institution. The problem doesn't lie with academia teaching the wrong things, it lies with companies requiring C…

There is a lack of a university (or above) level software engineering education that isn't aimed at computer science.

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#167
post #91

Earlier quoted context omitted.

I think people are ready for things at certain times. I think history class was wasted on me in high school because I was a kid and didn't have much life experience. But years later with a better grasp on human nature I think I would have had a better grasp. Another example is a foreign language class. I took it in middle school, in high school and later in college. I learned lots and lots of theory for many years. B…

I've always sort of wished I could go back and get my CS degree after I had a few years experience in industry, instead of getting it before. I feel like I would have appreciated what I was learning a lot more.

I think there's two things that change in those years. One is practical experience. The other is life.

Perhaps it takes both. I've definitely seen people who have the one but not the other fail to appreciate the value of theory.

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#168

Earlier quoted context omitted.

Web development, embedded systems, and game dev. I use FSMs, pushdown automata, and hierarchical state machines all the time.

What's amazing to me is how uncommon state machines are in software, comparatively. In ASIC and FPGA design, it's so fundamental and ubiquitous. At least with synchronous designs.

The problem is that it's extremely easy to violate the boundaries of state machines. For example there's some small edge case, that would normally require you to completely re-create the state machine, but people bypass that by just escaping the state machine. In ASIC/FPGA, it's actually relatively hard to escape the state machine because escaping the state machine causes explosions in timing required and causes race conditions.

Code doesn't have fixed timing requirements, most of the time.

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#169
post #30

Earlier quoted context omitted.

There are two big reasons you have trouble recalling a piece of information about your craft: You use it so much that it is down to intuition, or you never use it at all . For example, my relationship to Orders of Complexity has been reduced to sorting options in my head, and picking the first one that is simple enough to keep working, and fast enough to satisfy the current and estimated future scope of the problem (…

You actually have sorted in your career?

Quite a bit. Lots of data has ranks/priorities, lots of UI has to be organized.

Are you asking if I have written (shipped) a sort implementation? Only once, ages ago. No built-in stable sort, and none of the dozen articles I found had examples that scaled past 20 elements (which I found quite upsetting). I did my own port of mergesort that was almost 2 orders of magnitude faster. Constant complexity kills.

It's good to build a few on your own to become an informed consumer. Just don't 1) ship it or 2) use it as an interview question. If you want NIH people, you get them by asking NIH questions during the interview process.

Re: Professor solves 240 computer science exam problems in 4 hours [video]

#170
post #93

Earlier quoted context omitted.

I empathise with people who go to college to study computer science, mainly with the intent of eventually landing a well-paid programming job, who are then frustrated when they have to learn actual computer science topics instead of just learning to program. But their anger is usually directed at the wrong institution. The problem doesn't lie with academia teaching the wrong things, it lies with companies requiring C…

I use CS theory all the time in my professional career. Automata, was the most useful class I took (the 2nd most useful was Programming Language Concepts).

I don't dispute at all that theoretical CS is practically useful, I love it myself and think it offers amazing tools for thought. But my hunch is (and I'm emphasizing that I'm speculating here) that only people who like the material end up retaining enough to see the applications. I feel like some of my fellow students, including ones that I felt were smart (but who were application-oriented learners who have trouble focusing if they didn't see applications right away), had to drag themselves through the theoretical material to barely pass and then promptly forget about it. I imagine their perspective is:

1. They have to work through material that does not particularly interest them and is quite hard, but employers insist that they must master this stuff if they want a good position.

2. In their work environment, no one ever asks them to actually use theoretical CS concepts, and they don't spontaneously see applications themselves.

3. Therefore, they feel academia is out of touch and teaching irrelevant material that has no practical application. With my earlier comment I wanted to point out that I don't believe academia is to blame for their suffering.

Post reply on HN