Dr. Gabriel Robins Professor of Computer Science Department of Computer Science School of Engineering and Applied Science University of Virginia 151 Engineer's Way, P.O. Box 400740 Charlottesville, VA 22904-4740, USA
robins@cs.virginia.edu |
A: It's basically the quantity of the EC submissions that counts the most. You get the same extra-credit point for each paper / video submission, no matter what opinion you offer on it. After all, its your opinion, so nobody can second-guess you on your own opinion. To get the full 10%, 36 EC submissions will suffice, as explained on the course syllabus and in class (we deliberately leave the exact number vague though, but the more, the merrier). Additional EC is possible even beyond that, but no more than two submissions per day will be credited (please see the strictly-enforced "no-binge" submission policy on the course syllabus).
A: Building a Turing machine in Minecraft is a wonderful idea! Please feel free to do this for extra-credit.
A: I will post solutions to many of the problems of Set 1, but since the midterm and final exam questions will come directly from the (other) problem sets, I obviously can't post solutions to too many of the other problem / sets, otherwise we will quickly run out of problems to put on the exams. But keep in mind that some of the problems were (or will be) solved in class, and many are also solved in the weekly problem-solving sessions, so this (and also working in groups of maximum size of six people) should cover you on most of the solutions.
A: The group size is limited to avoid a surrealistic situation of say people forming a "group" of say size 100, reaulting in them all copying most of the solutions from each nother and each person ends up doing very little learning. This would be an example of "crowd sourcing", not a study group, and clearly defeats the spirit of learning and self-improving, and this would also constitute an honor code violation! If the group is of reasonably small size (say six people at most), then it is very clear to everyone in the group who is really honestly working on solving problems, as opposed to just unfairly riding on the work of the others. If a group has a good reason to want to add a seventh or eight person, please come see us to explain the situation, and we may allow it, but such cases should be rare.
A: The midterm will take place shortly after mid-semester timeframe. We will EMail the exact pickup / drop-off times when we get closer to those dates.
A: Basically we want to encourage everyone to read a lot and become informed about a diversity of scientific and mathematical topics. So anything that furthers that overarching goal is a wonderful thing in our view. So yes, you can read other interesting articles in the same vein as the ones that are posted on the class Web site, etc. And indeed gravity waves are very cool (they were finally detected experimentally recently after decades of trying, resulting in a Nobel Prize).
In general, I want to encourage people to be proactive, curious, knowledgeable, and informed - the rest is up to you (and I will do our part to reward anyone whenever they take steps in that general positive direction). I think that this is teaching and learning at its best (and I wish my professors did more of this for me when I was a student). I hope that my teaching philosophy and strategy makes sense and is helpful to you.
A: Either way is fine; we are working on implementing a Web-based form that will make submissions even easier.
A: All the red-font items on the reading list, including "How to Solve It", are required reading in this course. There are live links there to the PDFs of all these items, so "getting it" means you just need to click that link, and the PDF will download to your PC. For example, "How to Solve It" is available for download both here. Please respect copyright laws however, and purchase copies of any books that you are finding useful.
A: As stated on the class Web site, please write up a summary of what you learned and what you found interesting and/or surprising about each article / video / app. Basically, convince the reader that you actually read / watched it and that you payed attention while doing so. Of course, if you choose to write more rather than less, that's fine.
A: Yes, that would be fine - the idea is to not drop below the 2-per-week average overall, cumulatively speaking. This policy is designed to help you avoid "cramming" at the end of the semester, and also to help you retain more of the knowledge by pacing it more evenly. Note that we will accept no more than two submissions per day (so if you submit six readings the first week, these submissions will presumably be turned in two per day across three days, etc.).
Most of the citations in the Web pages above do not include the full text / PDF of the actual paper, but if you do a Google search for the paper's title (and/or author list), you'll very quickly find the full text / PDF of the actual paper (usually located off of the author's home page).
To do specific topic searches for CS papers, two great online bibliographic search resources are Citeseer and Google Scholar, which data-mine the Web's publication archives and rank the papers by the number of citations (i.e., how many other papers refer to a given paper), so the most relevant papers tend to be listed first (like Google search does). It also provides the PDF/PS to most of the papers there (hundreds of thousands of CS papers in all). I highly recommended both Citeseer and Google Scholar as literature-searching resources!
Keep in mind that the sources listed above contain thousands of very interesting papers (as well as hundreds of thousands of other papers), so you can spend a lifetime on these sites and still not read everything. So please don't get lost or discouraged by this mountain of knowledge.
For a great introduction to computer science theory, I highly recommend the Sipser theory textbook (also available here). For other theoretical topics, including algorithms, I also highly recommend the Cormen et al. algorithms textbook (especially the "advanced topics" chapters on NP-completeness; also available here).
For a deeper understanding of a topic please track down the original source papers mentioned in the "Chapter Notes" at the end of each chapter, and also look at more recent papers published in the relevant conferences and journals.
Enjoy! :)
This is really the only fair way to implement "extra credit" so it is exactly that, namely "extra" (i.e., so it does not hurt those who didn't earn it). Also, I have no grades "quotas" - if everyone aces the course, then everyone will receive A's.
So, please view extra-credit as the positive and helpful opportunities that they are intended to be.
Please feel free to ask our TAs questions about any of the materials (my office hours are right after each class meeting, or by appointment, or generally whenever you can catch me in my office - please don't be hesitant to find the TAs or myself whenever you need help). Welcome to CS3102!
Please read the CS3102 Introduction and General Announcements.
A: It is preferable to have a separate Email for each submission if possible. This way, our accounting mechanism can better keep track of all the different submissions, one per Email.
A: There is no specific "due date" for the problem sets, and they won't be formally collected & graded (i.e., they are not traditional "homework" assignments). However, most of the midterm and final questions will come directly from these problem sets, so the best strategy is to solve as many of these problems as soon as possible, work in study groups (of maximum size of six people), compare notes, brainstorm often, etc.
A: Yes - just EMail to homework.cs3102@gmail.com a paragraph or two per article / video (and a page or two per book) describing what you found interesting / surprising / cool about each.
A: Extra credit can be accepted all the way up to the end of the final exam window. But three assigned readings are due each week (before Mon at 11:59pm).
A: For the problem sets, you can use all the outside resources you want, including Web searches, working in groups with other people (of maximum size of six), etc. The idea is that if you search a lot and read a lot of materials, regardless of which sources they came from, you'll still learn a lot in the process. Of course, it's still much better training to try to work on / solve problems on your own *before* looking up their solutions, etc. On the exam however, you can only use your notes / book / slides, etc. but no outside help (i.e., no Web searches, no collaborations, etc.)
A: Its best if you work on the problems on your own first (or in a group of maximum size of six people), and give them a good solid try. There is still a lot of benefit in working on a problem, even if you don't get the answer (just like exercising, but not necessarily winning a competition trophy, is still good for you...). But looking up answers without working on the problems first, is more like hiring someone to exercise for you. :) After you worked on a problem for a while and tried your best to solve it, it's OK to look up the answer (say after a few days of thinking about it on and off).
A: Some "numbers" or *quantities* in general, are not imaginary/complex, for example, a vector, or a matrix, or a quaternion, or an octonion. One question is if you exponentiate i to the i, do you still get a complex number, or does the resulting quantity *exits* the complex numbers, into say the quaternions, or into some other, larger set. Just like when you exponentiate the rational number 2 to the rational number 1/2, the result sqrt(2) exits the rationals and falls into the set of reals (that subsume the rationals).
Q: Those questions basically ask how many *distinct* (i.e., different / not the same) functions are there of that particular type. So considering *all* the different Boolean functions with N inputs (i.e., there are N inputs each being zero-or-one, and the function returns a single zero-or-one output), how many such distinct functions are there? (e.g., OR is one, and so is AND, and so is NOR, etc. all being Boolean functions on two inputs). Questions 14 generalizes this scenario to functions which are not necessarily Boolean any more (e.g., the N inputs can each take on the values say {1,2,3,7,9} and the function can return say one of the values {99, 111, 777}). BTW, two functions are *distinct* iff they disagree (with their output) on at least one input.
A: The rationals crossed with the integers is the set of all ordered pairs such that in each of the ordered pairs in this set, the first element is a rational number and the second element is an integer; i.e., it is the set: { (a/b , c) | a, b, and c are all integers and b in non-zero}
A: Dovetailing and interleaving are certainly similar concepts. The description at http://en.wikipedia.org/wiki/Dovetailing_%28computer_science%29 seems too short and should probably cover more cases and examples. There are more subtle examples of dovetailing / interleaving where we take a systematic path through a very abstract mathematical space (e.g., Chess / Go board positions, multivariate polynomials, higher-dimensional matrices, hyper-graphs, etc.) where there may be no nice and easy single "picture" to illustrate it graphically, like we did in class with our "dovetailing" through the rational numbers. But these are still (more general) instances of "dovetailing", or "interleaving", however you prefer to think about it.
A: In #19, examples *are* proof, actually.
A: Yes - the question was general - namely to determine whether it is always the case that (a+bi)^(c+di) is a complex number (as opposed to something else), for any real a, b, c, d (except perhaps when they are all zero, in which case the result 0^0 is undefined). The case of i^i is a special case of the above general question (and i^i happens to be equal to a periodic set of real numbers, as we discussed in class yesterday). If i^i was not a complex number, then the more general question above would be answered in the negative through this counter-example. But since i^i is indeed a complex number (and in fact even a real number), that does not settle the general question above either way, and a more general proof is still needed.
A: This is the "powerset" or set of all subsets, as described on page 5 of the handout I mentioned in recent Email (and which is also linked from the class Web site) - see: http://www.cs.virginia.edu/~robins/cs3102/basics.pdf
A: The domain and range of such functions is the set of real numbers R, but note that such a function does not have to be a bijection, be even defined everywhere on R. For example, the sqrt(x) function from reals to reals is not defined on the negative reals, 1/x is not defined at zero, and the function "f(x) = 1/(x-x)" is nowhere defined on the reals, but these are all still "functions from reals to reals". So the set of functions in this question refers to absolutely *all* possible functions from R to R, regardless of their other properties.
A: The symbol ^ in the context of formal languages denotes the empty string (sometimes also denoted by the Greek letter epsilon). And yes, the expression L* - {^} denotes set subtraction (i.e., the set L* minus the set {^}).
A: For any problem in this course (whether on the problem sets, exams, or for extra credit), you should always supply an explanation/proof of your answer. Basically, please explain your answers to me similarly to how you would like me to explain my answers to you. It does not have to be a *completely* detailed and formal writeup, but it must be rigorous enough so that it contains all the essential insights, and can be easily converted into a rigorous formal proof, if necessary (i.e., please try to make your answers as convincing and detailed as the explanations & proofs that I give in class).
A: Mutual friends all know each other (i.e., each one knows each and every one of the others). Similarly for mutual strangers. The question asks for a proof that there always exists either a group of three mutual strangers, or a group of three mutual friends, or possibly both. (Or even larger groups of mutual friends or strangers; but note that a group of four mutual friends also automatically contains a group of three mutual friends - i.e., any subset containing three of the four would constitute such a subgroup). So these various case are not mutually exclusive.
A: The answer should indicate how "big" of an infinity each set is (e.g., that of the Naturals, the Reals, the Powerset of the Reals, etc.)