Live data from Hacker News

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

youtube.com

71–80 of 173 posts

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

#71
post #34

Earlier quoted context omitted.

on the interview for the job I have right now, they asked me a lot about design patterns. I took a class on that and implemented a lot of them in Java. Factory, Facade, Visitor, Singleton... Never used them again after college, ask me about it, I think I would be able to explain Factory and Singleton from the top of my head, the rest... gone!!! I guess what I'm trying to say is that I would love to be that guy with a…

You never use a Factory or Singleton? That’s weird to me cause I use them daily. But certainly Singletons can also be problematic, especially if you do automated testing, which I do not.

The use case for a Singleton is that you want to use a global variable but don't want to admit that you are using a global variable.

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

#72
post #46
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…

Some people are more inclined to theoretical concepts, some people are more practical. Both have an understanding on how things work and/or an intuition, either by studying theoretical concepts or via practical, hands on experience. My issue with this, and this is mostly my own personal opinion, is not whether or not this subject is important and that we need to defend it, but whether teaching it to students of that…

Agree. I loved the theoretical side of CompSci (automata, programming language at the meta level, algorithms). Practical was boring to me and I lost interest in the day to day (7 hours of typing in an IDE!? joy). The problems of the practical are a let down if you start theoretical.

Can you handle 1M concurrent in Go to replace a java load distributor? Sure! Crud apps..... oh brain hurts will never finish.

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

#73

That kinda answers the question many students have whether the professors can solve the problems they put on exams in the allocated time.

The usual rule of thumb is that if the professor can do the test in 20 minutes, it is probably appropriate for an hour for the kids.

As a graduate student I found that to be true.

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

#74
post #29

Earlier quoted context omitted.

I guess this is a bit like the Someone Else's Problem phenomenon. Nobody needs to know about compilers, operating systems or analysis of algorithms because Somebody Else will deal with those things.

Are they really, though? I've followed a few courses on this, and they all focus on the mathematical background of it. Sure, it's neat to be able to prove some stuff about a toy language, but what does it really teach you? "Regular expressions" in most programming languages are not regular. A lot of programming languages aren't even context-free. Heck, C++ templates are Turing complete! Does anyone care? Not really.…

One obvious lesson is that you shouldn't try to parse arbitrary, non-trivial HTML with regular expressions.

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

#75
post #52

You don't have to pass GATE in order to write a compiler, parser, etc. In fact I'd venture to guess that many of the most famous programmers of compilers and creators of new languages (e.g. Larry Wall) couldn't pass the GATE exam. So don't feel bad if you don't understand any of the math, I'd rather learn by programming and then learn the math to explain it as I go along.

Agree. Math isn't as important, but things one doesn't fully grasp 'just programming' are things like internal language management (eg: garbage collection, speed difference in different algos, pointer impacts [lang dependent], call outs to other libraries, etc)

"Just throw more EC2 units at it" (which is fine and I agree with) - until a Node Js API handles 100 req/s in prod.

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

#76

Interesting how so many of these problems are probably hard for a fraction of the people that want to pass this exam simply because of the language in which they are expressed. For example, and I've noticed this pattern with some regularity: large and complex expression in a paper or some other document. Actual implementation: one or more for loops with an add or a multiply in the body of the loop with some initializ…

That's an excellent question!

It may be worth considering that the answer may not be as significant as some might guess. GATE is an exam that tests if you're ready for graduate school. Part of being ready for a specialized field is being fluent in the vocabulary and parlance used in that field, as this enables rapid learning and smooths communication. That you can understand the ideas if they are restated and re-expressed in a form more familiar to you is not as helpful as it sounds if you cannot engage with your peers without laborious translations. Have you ever tried to discuss imperative programming with someone who only knows functional programming, or the converse?

Medical, legal, chemical, and other fields have evolved conventions of specialized vocabulary for the same reasons. They make it possible to have very detailed communications in dense, rapid ways.

Agian, you raise an excellent and wise point. There is definitely a great deal of learning vocabulary in something like this.

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

#77
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 CS degrees for simple programming jobs. They treat the theoretical computer science material as nothing more than a raw intelligence/perseverance filter.

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

#78
post #46
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…

Some people are more inclined to theoretical concepts, some people are more practical. Both have an understanding on how things work and/or an intuition, either by studying theoretical concepts or via practical, hands on experience. My issue with this, and this is mostly my own personal opinion, is not whether or not this subject is important and that we need to defend it, but whether teaching it to students of that…

> Both have an understanding on how things work and/or an intuition, either by studying theoretical concepts or via practical, hands on experience.

hands on experience with regular expressions manages to fail a lot of people with practical problems.

https://stackoverflow.com/questions/1732348/regex-match-open...

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

#79
post #17

I am impressed by this, however.. is this not a case of a Human training to act like a computer, and then doing it really well? There is something off about that part.

I haven't checked the questions carefully, but in general classifying the kind of language I believe is undecideable, so the video could be showing a human doing something computers in general cannot do.

It seems like a common misconception that humans have some secret power to solve undecidable problems that computers lack. But "this problem is undecidable in general" doesn't mean "computers cannot solve small instances of the problem", it means "there's no single algorithm that will correctly solve all instances of this problem". Typically undecidability results in language theory rely on embedding a Turing machine in the language and going "Turing machines halting is undecidable, therefore this is undecidable in general". But this only tells you that _some_ problem instances are undecidable (at least those that correspond to Turing machine embeddings, and probably many more). Smaller problems (that aren't big enough to be disguised Turing machines) can still be decidable, and I suspect that any problem simple enough to happen in an exam is decidable.

Another example of this: theorem-proving is undecidable, yet automated thoerem provers are definitely capable of solving simple problems. The undecidability result means that any given automated theorem provers isn't capable of proving the truth/falsity of all statements. But this isn't some crazy limitation - this is true of humans as well. You can solve some math problems, but if someone showed up with an exabyte-long statement about how a problem-solver-who-is-identical-to-you-in-every-capability solves problems and asked you to prove it, obviously you wouldn't be able to do that.

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

#80
post #73

That kinda answers the question many students have whether the professors can solve the problems they put on exams in the allocated time.

The usual rule of thumb is that if the professor can do the test in 20 minutes, it is probably appropriate for an hour for the kids. As a graduate student I found that to be true.

Seems like a lot of people have converged around that.

I had a professor in my undergraduate mechanical engineering classes who used a 4x rule for his exams -- he had to be able to do it in 15 minutes, we had an hour.

Post reply on HN