News for hackers. Stuff that matters.
Re:A Course on Automata Theory by gnuvince on Wednesday August 19, 2015 @08:50PM (#10089456)
When I was an undergrad at Université de Montréal, the theory of computation class which dealt with automata was called "Informatique Théorique"; literally, "theoretical computer science". "Why do theoretical computer science," I'd ask, "let's do practical computer science instead!" However, thanks to the enthusiasm of my professor and his teaching assistant and the very interesting nature of the subject, it became the class that I enjoyed the most of my whole undergrad! And to this day, some of the lessons I learned remain important in my day to day work for some of the reasons mentioned by prof Ullman in the video: I now know that some problems can't be solved, some take too long to solve, and some problems require less powerful mechanisms to solve. And knowing this, I'm able to recognize when they are applicable or at least have an intuition that maybe they could be applicable and thus I have a clearer idea of how to solve certain problems.

I highly encourage you to learn about this stuff, it's a lot of fun and is actually practical!

Re:A Course on Automata Theory by userbinator on Thursday August 20, 2015 @01:37AM (#10090170)
Regular expressions are probably one of the most practical and immediately obviously useful things to come out of automata theory.
Re:A Course on Automata Theory by jimhefferon on Thursday August 20, 2015 @05:37AM (#10090802)
I'm interested to hear you say this. I teach this course, to students who mostly go on to do Java coding. I have several times run into an old student who told me that they never once used regexes after my class, either in school or in work.
Re:A Course on Automata Theory by iso8859-1 on Thursday August 20, 2015 @06:41AM (#10090979)
One reason may be that practical regexes have so many extensions that you can't many of the usual tricks on them.

http://stackoverflow.com/questions/6363397/how-to-tell-if-on...

Re:A Course on Automata Theory by brudgers on Thursday August 20, 2015 @10:24AM (#10092010)
I find it helpful to distinguish between "regular expressions" as something mathematical and "regexes" as nebulous more-than an NFA and less than a Turing complete grammar...DFA regex engines being the Platypus that proves the rule.

As soon as you have backtracking and capture groups it's not a regular expression in the mathematical sense. These features make regexes more useful in many simple cases at the cost of making them harder to reason about in more difficult cases.

Re:A Course on Automata Theory by varlock on Thursday August 20, 2015 @07:58AM (#10091257)
I'm surprised - Did you ask them how do they search for patterns? Entries in log files, function definitions or usage in code, matching files in a shell?
Re:A Course on Automata Theory by jimhefferon on Thursday August 20, 2015 @06:24PM (#10094993)
> Did you ask them how do they search for patterns? Entries in log files, function definitions or usage in code, matching files in a shell?

You know, I have. In some ways it is like communicating across cultures in that the question does not seem to make all that much sense to them. That I can tell, they don't ever search for patterns. The would look for that feature in their GUI log reading program, I suppose.

Failing that, they would write code, 100% in Java I think, and I suppose that if they had to do what I would reach for a regex to do, they would write code to do it. (Is this what jwz means by "Now they have two problems," that they should do the job in code?)

But, again, I don't think there is a real communication there. I'm not too sure what they mean and they look like they do not recognize the situations I ask about.

Re:A Course on Automata Theory by manish_gill on Thursday August 20, 2015 @05:53AM (#10090854)
That is very surprising to hear. Regular expressions are used all over the place! I wouldn't want to work with a person who does not have at least the basic workings of Regex down pat.
Re:A Course on Automata Theory by forgettableuser on Thursday August 20, 2015 @09:02AM (#10091538)
I already knew Perl and Posix regex when I took automata. I cruised through the initial basics of regular expressions faster than my peers. But I got into trouble after I learned that regex contains a bunch of features (hacks) that have no grounding in pure automata theory. I had to unlearn a whole bunch of things.
Re:A Course on Automata Theory by dottrap on Thursday August 20, 2015 @09:59AM (#10091823)
Professor Roberto Ierusalimschy (creator of Lua), was bothered by the problems of regex deviating from (real) regular expressions, like how captures create non-determinism, back references make pattern matching algorithms NP complete, no formally defined performance model, and so on. This led him to revisit prior research on PEGs (Parseable Expression Grammars) which are akin to Context-Free Grammars. He created a library called LPeg which was a PEG for Lua.

He gave a talk about all this which can be found here: https://vimeo.com/1485123

So he basically realized people were hacking regular expressions to get more power. So rather than playing that game, he climbed up a level on the automata ladder to get a more mathematically sound approach to the problem.

Re:A Course on Automata Theory by gnuvince on Thursday August 20, 2015 @10:14AM (#10091942)
Regarding that, since I took that class I've been careful about using the term "regular expression" for expressions that describe a NFA and "regex" for what popular languages implement.
Re:A Course on Automata Theory by schoen on Wednesday August 19, 2015 @07:25PM (#10089202)
I took this on Coursera a couple of years ago and it was the automata theory class I never managed to take in college but always wanted to.

As you might expect from a course by Ullman, it's heavy on theory and detail.

People are right to say that this is a core topic in computer science, and I'd recommend it to people who like CS conceptually and are curious about the parts beyond programming. Automata come up everywhere!

Re:A Course on Automata Theory by volkadav on Wednesday August 19, 2015 @07:50PM (#10089292)
Agreed; I took this the first time around and had a great time. Highly recommended! :)

For what it's worth, Sipser's _Introduction to the Theory of Computation_ helped me get through some of the gnarlier spots (and in turn, the lectures through some of the harder parts of the book). I picked up a used copy of the 2nd edition cheap off Amazon (it was sub-$20 iirc).

Re:A Course on Automata Theory by dhawalhs on Wednesday August 19, 2015 @08:51PM (#10089464)
A few user written reviews for those interested in the course: https://www.class-central.com/mooc/376/coursera-automata#rev...
Re:A Course on Automata Theory by dopeboy on Wednesday August 19, 2015 @09:02PM (#10089498)
Out of all the theory I learned in school, learning a FSA in compilers class has probably been the most helpful. Whether I'm teaching kids 'if' statements for implementing a vending machine or sitting down with a client and trying to document their workflow, automata theory has been incredibly useful for me.
Re:A Course on Automata Theory by WasimBhai on Thursday August 20, 2015 @01:57AM (#10090202)
I am an EE who has previously tried to take this course and found it incredibly hard because of theory, formal proofs etc.. Can anyone recommend a book, lecture notes to accompany this course to make life easy?
Re:A Course on Automata Theory by ArloJamesBarnes on Thursday August 20, 2015 @02:30AM (#10090270)
I am not sure what the course is like, so I am not sure if this would help, but Stephen Wolfram's book about automata is pretty good.
Re:A Course on Automata Theory by rifung on Thursday August 20, 2015 @02:32AM (#10090275)
This is the book that was used when I was an undergrad.

http://www.amazon.com/Introduction-Theory-Computation-Michae...

It is also used for the graduate course.

Re:A Course on Automata Theory by groar on Thursday August 20, 2015 @05:33AM (#10090784)
For those who want to dive further in automata theory, transducers and the non-commutative algebraic view of the theory, the following one by J. Sakarovitch is a fantastic book : http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=978...
Re:A Course on Automata Theory by data_spy on Wednesday August 19, 2015 @08:24PM (#10089387)
I'm probably going to check this out. I've taken several Coursera courses in the past and they've been great.
Re:A Course on Automata Theory by romaniv on Thursday August 20, 2015 @09:53AM (#10091774)
I was lucky to have an excellent professor for a similar course in college (it was called Computation Theory). It completely changed the way I think about programming. Specifically, it changed how I think about program state and software bugs. Also, knowing about finite state machines really helps with requirement analysis.

So, highly recommended.

Re:A Course on Automata Theory by Chetan496 on Thursday August 20, 2015 @12:16AM (#10089996)
The book by Peter Linz for Theory of Computation (https://books.google.co.in/books/about/An_Introduction_to_Fo...) is also a good text.
Re:A Course on Automata Theory by saurabhjha on Thursday August 20, 2015 @12:10AM (#10089975)
I am taking this course as it is a prerequisite to the subjects of compilers and computational complexity theory.

Has anyone used Sipser's text with this course? I found Sipser's textbook a great introduction to this field and thinking of complementing this course with the book.

Re:A Course on Automata Theory by psk on Thursday August 20, 2015 @04:47AM (#10090609)
I've had a few similar courses at university, but they've always been limited to NP-completeness, does anyone know how I can expand on this? That is, learn beyond NP-completeness (Books / Online courses etc)?
Re:A Course on Automata Theory by grumpy-buffalo on Thursday August 20, 2015 @04:49AM (#10090618)
If you're interested in computational complexity theory, I recommend "Computational Complexity" by Christos Papadimitriou. It's a classic, though it's a bit dated.
Re:A Course on Automata Theory by hyperpallium on Wednesday August 19, 2015 @08:28PM (#10089398)
Do you have to use your full name to enroll, in the field asking for it? I've probably become excessively paranoid about giving personal info on the web - Stanford is probably OK...
Re:A Course on Automata Theory by mden on Wednesday August 19, 2015 @08:38PM (#10089430)
Judging from my account, no you don't. Maybe if you are planning on being certified but just to take a course, no.
Re:A Course on Automata Theory by schoen on Wednesday August 19, 2015 @08:38PM (#10089428)
Coursera is trying to branch out into academic partnerships and professional credentialing, which will probably want your legal name if they become relevant to your use of Coursera. I don't think they have a way to confirm your name for a simple course enrollment.
Re:A Course on Automata Theory by makoz on Thursday August 20, 2015 @03:52AM (#10090463)
Only really matters for certificate.
Re:A Course on Automata Theory by jules on Wednesday August 19, 2015 @08:36PM (#10089420)
The signup form has a field named Full Name, but what's stopping you from using a pseudonym?