News and Announcements

You are expected to read this page atleast once a week

Posted Nov. 29: Letter grades (for all except FEEDS) have been posted. Have a good holiday! FEEDS students: your final is due back here by Dec. 6, 5 pm! thanks. Posted Nov. 28: HW4(alone) letter grades (based on nonbonus, for grads): 65 or above--A 54 or above--B less than 54--C Posted Nov. 27: Today's revision lecture contains the maximum amount of information available from me or the TAs about any of the problems on the final exam study guide (that do not already have published solutions). No further information is to be expected at any of the office hours, only repetitions. This guarantees that all released information about the final exam study guide is completely publicly accessible. Posted Nov. 25: HW4 grades are posted. Graded HW4 papers are now available outside my office. Posted Nov. 23: HW4 solutions are now posted in /cise/class/cot5405fa01/SOLUTIONS HW4 graded papers will be available outside my office Monday. Posted Nov. 16: The Final exam study guide is now posted under sample exams. I will take specific questions on this study guide during the review session on Tues. Nov. 27.

Posted Nov. 16: Letter grades so far have been posted.

Posted Nov. 16: HW3 performance was excellent! 7 people got 80 (i.e, 100%). Average score was 73/80.

POSTED Nov.14: In class Final will be on Nov. 29 from 4-6:15 in the usual Thursday lecture room. People who are unable to resolve a time conflict for that period should see me. Format of final will be described/posted next week. Revision session will be on Nov. 27 Tuesday and may extend beyond the regular 2 hours, depending on number of specific questions from the class.

POSTED Nov.14: HW3 stats and letter-grade-so-far will be posted within the next two days.

POSTED Nov.12: HW3 solutions have been posted in the /cise/class/cot5405fa01

POSTED Nov.2: HW4 posted

POSTED Oct. 26: Midterm solutions are now posted in /cise/class/cot5405fa01

POSTED Oct. 26: Andrew Lomonosov will hold EXTRA office hours on Tuesday, Oct. 30 : 11-2pm

POSTED Oct. 25: Andrew Lomonosov will NOT hold office hours on Wed. Oct 31, and Fri. Nov. 2.

POSTED Oct. 25: HW3 due date postponed to Nov. 1 (on-campus students) and Nov. 6 (FEEDS).

POSTED Oct. 23: Midterm letter grades: (grads) > 44 = A. > 33 = B. Others C and less. Undergrads -- look up webpage for calibration.

POSTED Oct. 22: Note: the weights have been finalized, but I am still sorting out the issue of the type of final.
There are a few students who would still prefer an in-class exam, since they think that consultation between students for the final exam should not be allowed, and they have a point.

POSTED Oct. 19: Rough letter grades for HW2(nonbonus questions only): (grads) 61 and up:A; 50- 60: B. Below 49: C or less (undergrads: look up webpage for corresponding grades. In addition: below 45 -- C or less)

POSTED Oct. 19: Finalized weights. Midterm -- 15%; HW3, HW4 -- 20% each; final -- 25%. Those who did better on midterm than HW 3 will have midterm count as 25% and HW3 as 10%

POSTED Oct. 18: HW3 is posted (mostly graphs)--Due Oct. 30 for local students and Nov. 1 for FEEDS students. ( FEEDS students: please note the slightly earlier homework deadline!)

POSTED Oct. 17: HW2 solutions are now posted in /cise/class/cot5405/SOLUTIONS

POSTED Oct. 17: I got some suggestions to make the following changes to the weighting of the grades for the remaining tests/assignments. Midterm -- 15%; HW3, HW4 -- 20% each; final -- 25%. I also got the suggestion to make the final into a takehome final. (Basically a slightly heavier weighted homework). Difficulty level of all of these recommended to be atmost that of the midterm problems, maybe somewhat less. Please think about these things. We will discuss all of these issues in tommorrow's class.

POSTED Oct. 11: HW2 solutions are posted on Andrew Lomonosov's door, Rm 310. On campus students: please do NOT leak the solutions to the off-campus students. Off campus students: please stick to your own original answers.

POSTED Oct. 9: The sample midterm study guide is now posted under sample exams. This is only a study guide. The review session in CSE-E118 after the regular lecture hour will be on (tape and) streaming video as usual. THose who cannot attend can look at them.

POSTED Oct. 8: Tommorrow, Oct. 9, Andrew Lomonosov will hold 2 extra office hours from 12-2pm.

POSTED Oct. 5: The link to Lectures 11-20 on the streaming videos can be found on the page containing Lectures 1-10. You just have to look for it carefully. Apparently there are 2 links, one at the top and one at the very bottom at the page.

POSTED Oct. 5: There will be a review session after next Thursday's (Oct 11) class in the same room.

POSTED Oct. 5: Here is a clarification of the ISP/ESP recursion tree which I put down in the second lecture yesterday, and which should clarify any questions you may have had during the latter part of yesterday.

SP(G,s)[v] is the min of ESP(G,s,S)[v] and ISP(G,s, S)[v], for any S and v, where S is any subset of V, i.e, G's vertices and v is any vertex in V. Let's start the recursion tree by taking S = empty.

ISP(G,s,empty)[v] is the set of shortest paths from s to the vertex v, among all candidate paths that pass through atleast 1 intermediate vertex.

This set of candidate paths in the union over all the v_i of the sets of all paths that pass through v_i. These paths can either pass through v_i alone, or include atleast one vertex in V\{v_i}. To get the min over those paths to v, that pass through v_i alone, I do ESP(G,s,empty)(v_i) + ESP(G,v_i,empty)(v). To get min over those paths that pass through something in V\{v_i}, I do ISP(G,s,{v_i}), and I take the min of these two quantities. I.e, ISP(G,s,empty)[v] =
min_i(
min(
ISP(G,s,{v_i}),
(ESP(G,s,empty)(v_i) + ESP(G,v_i,empty)(v))
)
)

In general, I can get ISP(G,s,S)[v] as
min_{i not in S}(
min(
ISP(G,s,{S union v_i})[v],
(ESP(G,s,S)[v_i] + ESP(G,v_i,S)[v])
)
)

And in general, I can get ESP(G,s,S union v_i)[v] as
min (ESP(G,s,S)[v],
(ESP(G,s,S)[v_i] + ESP(G,v_i,S)[v])
)

So, this tells you how the entire tree decomposes to ESP's, which at the leaves have argument S = empty.

Now the key greedy choice is that The ``min_{i not in S}'' is removed from the recursive definition of the ISP, and is instead replaced by a specific vertex v_i for which ESP(G,s,S)[v_i] is minimum, and in this case, our proof of the greedy choice also effectively showed (WHY???) that the term
ESP(G,s,S)[v_i] + ESP(G,v_i,S)[v])
can always be replaced by
ESP(G,s,S)[v_i] + wt_of_edge(v_i,v).

So that is all clear now ;)

POSTED Sep 28: for those of you that missed the class where I mentioned this: On HW1, if you are a grad student and received 60 (nonbonus) points, then you are performing close to an A, if you received over 52 (nonbonus) points, you are performing close to a B. If you received less than 50 you are almost certainly below a B. Undergrads please calibrate according to webpage posting under Grades: weighting and curving.

POSTED Sep 27: HW2 is now posted.

POSTED Sep 26: HW1 solutions are now posted (ps and pdf files) in the directory /cise/class/cot5405fa01/SOLUTIONS

POSTED Sep 20: Nandhini Kohareswaran's office hours today alone will be after class: 10th period

POSTED Sep 19: HW1 solutions will not be posted until the FEEDS students turn in their HW on Tuesday, Sep. 25!

POSTED Sep 19: MIDTERM postponed by one week to Oct 16!

POSTED Sep 17: Andrew Lomonosov will hold office hours from 10am-2pm in Rm 310 on Tues Sep.18.

POSTED Sep 14: From now on THURSDAY lectures alone will be held at CSE E118.

POSTED Sep 12: Homework 1 due date postponed to next Tues (sep 18). For FEEDS students, Tues (sep 25).

POSTED Sep 11: Hint for Problem 1 and 3 (part 1) in the homework.
--They are both recursive partitioning problems (recall the partitioning that is part of the median finding algorithm and the partitioning for mergesort).
--The time complexity required is a strong hint. Clearly, for Problem 1, you need a recursion tree of log(n/m) depth. The root is associated with a problem size of n. In the case of the recursive sorting algorithms, the problem size at the leaf is 1 inorder for the tree to have depth log(n). What should the problem size be at each leaf, in order that the tree has depth log(n/m)?
--Once you have done the above calculation for the problem size (say z) at each leaf, you have to come up with a recursive algorithm that will start with a problem size of n, call itself on problems of size about n/2 etc.. and will halt once it hits a problem size of z. And you have to prove that it correctly does what it is supposed to do.

POSTED Sep 6: HW1 is now posted. Due in one week. (For FEEDS/NTU: in 2 weeks).

POSTED Sep 4: The readings/lectured material for last week - and most likely for this week as well - have now crystallized on the Lecture Schedule link. Planned material and readings for next week have been updated.

POSTED AUG 30: A note on today's lecture: I had previously intended to give ``dividing into size-3 sublists won't give a linear time algorithm for ith element selection,'' as a homework problem, but ended up explaining it in class. To compensate for that, counting sort is now entirely homework reading; hence Chapter 8 is now definitely a starred reading chapter. Second, it was pointed out to me that the selection and insertion variants as described in below notes do differ in one respect namely that the BEST case input of selection is as hard as the worst case input requiring O(n^2), whereas the BEST case input of insertion is a lot better requiring O(n), thereby likely to have a better average case behavior as well.
This is true, and it is an important observation. However, if selection is defined exactly analogously to insertion, (including the paranthetic statement) then this difference disappears as well.

POSTED AUG 28: Important notes about today's lecture.

NOTE 0 Recall that I ended the first part of the lecture having stated the loop invariant `I' for the insertion sort algorithm; the 3 characteristics that loop invariants should possess; and why the invariant `I' obviously satisfies the first and third of these characteristics (initialization, and termination).

I was going to start the second part of the lecture with a quick proof of `I's second characteristic: ``maintanence'' which is another name for the induction step of the loop correctness proof. In other words, I was going to prove (by inspecting the pseudocode) that if `I' holds after the jth run through the loop, then it would hold after the j+1st run through the loop. I.e, I was going to show that if the first j elements of the array were sorted at the end of the jth pass through the loop, then the first j+1 elements would be sorted at the end of the j+1st run through the loop.

However, at the beginning of the second part of the lecture, I got diverted answering other (important) questions that were raised during the break, and I forgot to do this proof. Please go over this proof in the book, I.2. It is just 2 or 3 lines.

NOTE 1 In this connection, it would be a good idea to write down a pseudocode and loop invariant; prove correctness as well as analyze complexity for the other `mirror-image' version of the insertion sort algorithm, commonly called selection sort, which I actually first wrote down as the `idea.' Both algorithms can be written as in-place sorts, with minimal movements of array elements.
Insertion-sort: progressing down from first element of unsorted list, find its corresponding sorted list position (among the elements seen so far).
Selection-sort: progressing down from the first position of the sorted list, find its corresponding unsorted list element.
The above exercise will show why these two versions are in effect identical.

NOTE 2 proofs of correctness of BOTH versions rely crucially on the fact that the algorithm's outer loop progresses down one of the lists (the sorted one in the selection case or the unsorted one in the insertion case) in order .

NOTE 3 However, we will briefly note in the next lecture that there are (somewhat more complicated, not `in-place') generalizations of both of these versions in which the order in which one progresses down the sorted/unsorted list positions is unimportant for proving correctness. Moreover, these generalizations continue to have the same time complexity.

NOTE 4 Also in connection with loop invariants, as mentioned in class, please read also another similar proof in the book in I.2, which analyses the maintanence property of the loop invariant for the Merge algorithm.

-------------------------------------------

POSTED Aug 23:

The pretest grades will be posted by 8 am Monday, Aug. 27.

The pretest and pretest solutions are now available under the prerequisites link.
NOTE: the pretest is meant purely for feedback. It does not carry any points towards final grade.

POSTED Aug 23: Nandhini Kohareswaran's office hours ONLY FOR NEXT WEEK (Aug 27-30) will be on Wed. Aug. 29, 8am-10am. For regular office hours for the rest of the semester watch the ``getting help'' link on the course webpage.

POSTED Aug 23: NOTE THE CHANGE OF PLACE!!! This class will be held in the NEW ENGINEERING BUILDING -- NEB 201.

POSTED Aug 16:

University does not allow grades to be listed using SSNs. Please (including FEEDS/NTU and UNDERGRADS) email TA (al0@cise.ufl.edu) ASAP an alternate numerical codeword consisting of no more than 6 digits, within the FIRST WEEK of classes. Include your name and your ssn in your message.

Back to main cot5405 page