Monday, April 11, 2011

Fair warning

The class average on labtest 2 and written test 2 were surprisingly high. You can expect the final exam to be much harder.

113 comments:

  1. For the last chapters we covered in class, it seems like I did not take too much of notes.

    How well would it be if I prepared for the chapters through the book ?

    ReplyDelete
  2. Also, thank you for the info !

    ReplyDelete
  3. hi sir. is having a good understanding of the labs enough for the lab test 3? i mean you said we should expect the written test and lab test to be harder. so if i know the concept and understand the labs, will it be enough?
    thanks in advance

    ReplyDelete
  4. can we expect Generics and Iterable/Iterator on the lab test? cause there were no labs given out on these two topics :( I have tried doing the labs given in the book but so far an epic failure!!!... back to utube videos :)

    ReplyDelete
  5. The fundemental flaw with university : a good professor + a group of hard working students = the professor must find a way to make the grades lower.

    No offense sir, but you designed these past tests to cover the material in a fair and effective manner. If everyone is succeeding, does that not mean success on your part? Certainly these are both final exams, and you should challenge us, but it is sad in my opinion that you are citing our success as the reason why the final exam will be harder, not the fact that the course material merits such difficulty. Furthermore, the amount of work since the 2nd test has decreased substantially, as have the difficulty of the labs, while the difficulty of the concepts have increased drastically. Are you setting us up for failure, because I still cannot determine a feasible way to practice the material in the respect presented in this class. Although I am posting as anonymous, it really frustrates me that I have asked you, both on these forums and in person for more material to practice, as we haven't had any labs with searching, sorting, iterators, and I will go so far as to say recursion as well, because 2 lines of code is not a lab. Realistically, last semester we had a heavily structured course with 4 problems a week that we could submit for instantaneous electronic feedback, as well as a plethora of other problems that would take from an hour or two, to a day or two to accomplish. This semester we have a textbook that does not follow the same style convention as our course, and does not follow the same theme as our course. If you want to make your exam hard, as I'd imagine you already have, go right ahead. But next year, when you begin the first CSE 1030 lecture, do not tell your students that the key to success in this course is practice. The key to success in this course is prior programming experience, and those with it are set to succeed by a far greater margin than those who are here to work hard, and require this course for their major. All I ask, once again, is that you post some extra material to help us practice for this harder test, to level out this playing field.

    ReplyDelete
  6. Just a comment on the high average: The material for tests 1 and 2 very much overlapped with CSE1020. However, the material that we covered after Test 2 is mostly new and was not really covered in 1020. So maybe that's why the average was higher on the first two tests..

    ReplyDelete
  7. The average might have been high because the material for Test 2 overlapped very much with CSE1020. However, the material after Test 2 does not (it's mostly new material), making Test 3 already more difficult.

    ReplyDelete
  8. The average for Test 2 was high because the TAs were marking far too leniently. Part marks were given for answers that were way off.

    ReplyDelete
  9. So then if you say the TAs were marking leniently, does that mean the "difficult" part of the exam will be the test itself or the way the TAs mark us?

    The material is already much more difficult than what we dealt with in tests 1 and 2. Also, we've had little practice with the newest concepts.

    ReplyDelete
  10. Sir,

    I am a little dissapointed that you removed my previous post.

    You stated two key pieces of information at the beginning of the semester:
    1) traditionally 40% of CSE 1030 students do not meet the minimum C+ standard required for further computer science courses;
    2) Practice, practice, practice is the key to success in this course.

    Since the last exam we have covered material that was not covered in the previous course, while the past two tests covered material that was previously covered in CSE 1020.

    With that being said, two facts remain:

    1) We have received one serious lab since the midterm, that was the lab on linked lists. The other lab pretaining to testable material, the recursive function lab, required 2 lines of code. If you compare the testable concepts since the last exam(as per your list) to the concepts we have covered in the labs, we have only covered 3/7. Furthermore, 1 of those in far too little depth. Compare this situation to the heavily structured course that CSE 1020 was. This transition is extremely difficult, and, considering the textbook at this point is virtually useless for the scope of the course, I have paid FAR too much money to receive such few resources.

    2) The statement you made above is rather counter-intuitive to the statement you made on the first day. You expressed that it is a challenging course that many people do not succeed in the first time around. It is our responsibility to ensure our success. However, now that a large portion of the class is succeeding, you claim it is not due to our personal merits and hard work, but rather due to the leniency of the TAs. As such, your solution is to make the final exam significantly more difficult to compensate for the high marks.

    If you want to challenge us because we are bright and succeeding in what you have stated is a relatively difficult course, then by all means please do. But please fascilitate this challenge with the necessary resources such that any student who has enrolled in this course, and passed CSE 1020 has the opportunity to succeed, not just those with prior programming experience.

    ReplyDelete
  11. Didn't the Test 2 marks also go up because you lowered the total. So even people who completely messed up question #1 gained marks.

    If someone got 15/20=75% then their mark changed to 15/19=79% so they went up by 4% for doing nothing. In fact, the whole class average went up this way.

    ReplyDelete
  12. @10:43 and @10:54: I would also say, in comparison with previous years' tests, Test 2 was easy. So it will be both more intrinsically difficult, and marked more carefully.

    @3:43 and @10:52: For some reason your posts got caught in the spam filter. I am pleasantly surprised by the performance of this years' students, and my goal in making a more difficult test is not to fail people, but to sort out the A students from the B students. Right now, something like 50% of the class has an A or A+, and although this is the best class of 1030 that I have seen in my years at York, you're not that good. :-)

    As far as resources and practice, you're right that the labs have been less well structured. I was not pleased with the available labs from previous years, so I have been developing new labs from scratch. Apparently they are still rough around the edges, and we need feedback, so thanks for that. As far as the textbook is concerned, my course notes are developed straight from the textbook, and while it's not as close to the material as the 1020 text, it is certainly the best text on the market for this course.

    As far as practice is concerned, I'll try to post some additional practice problems.

    Here are some labs from previous years:

    http://www.cse.yorku.ca/course_archive/2009-10/S/1030/calendar/index.shtml

    http://www.cse.yorku.ca/course_archive/2010-11/F/1030/calendar/index.shtml

    ReplyDelete
  13. but sir wouldn't that effect the C or C+ students if you try to drop the class average on the final exam??

    also should we expect any theory questions like definitions or anything like that, or would only be coding on the written part?

    thank you

    ReplyDelete
  14. @11:54 I don't want to be the one to offend anyone but one thing that is extremely obvious and should be well known is that the professors can't be too easy because they need to follow a guideline. Seems to me like professors generally go for something like a 65 average. In this course, professor eckford is much easier on us because we need higher than 65 so he might be aiming at a 70. He says he's trying to sort out the A students from the B student. You in turn ask, what about the C students? I again don't want to offend and I am by no means saying that i myself am an A student, but if you cannot meet the requirements of a certain standard, you are not good enough for that standard. Maybe it's not your thing, you arent stupid but you arent a computer science guy. Sometimes you study and fail sometimes you study and pass but its those students who grasp and understand better that need to be distinguished. You eventually realize that people understand better, faster, easier than you do and thats a fact of life.

    ReplyDelete
  15. @Mohammad true that.

    ReplyDelete
  16. I am the individual who posted @3:43 and @10:52. First, I apologize for accusing you of deleting my posts, and thanks you for helping sort that out. Second, thank you for posting those links to old labs. Third, thank you for clarifying your above statement and taking the time to create labs that you feel are better suited to our course and the learning process. I jumped to conclusions, and clearly I was mistaken.

    ReplyDelete
  17. @Mohammad, NOBODY ASKED FOR YOUR OPINION!!! why are you replying for proff Eckford?? who asked for you to go all the way and pretend that you "DON'T WANT TO OFFEND ANYBODY" and analyze the whole thing in life??? and again you go and brag about your average in this course and nobody asked for it, my question was clear to proff Eckford if he has considered the case of those students too and not that he only cared for A or B students

    one more tip for you, people could be way smarter than you think and it could be many reasons for them not to get the high mark

    ReplyDelete
  18. @2:10 Sorry I didn't want to make you mad. I didn't mention my mark. I mentions I am not necessarily an A student so what I could have any mark. Please don't continue to fight with me on the forum.

    ReplyDelete
  19. I wonder how to filter off B student from A without filtering C student off B.

    ReplyDelete
  20. @April 12, 2011 2:39 PM

    If everyone continues studying as they always have then every grade group will lose some members.

    ReplyDelete
  21. I am working with Wrapper class, and I noticed that you can pass a primitive data type as parameter, but you cannot initialize it that way.

    Here's an example:

    public static void compute(Integer n)
    {
    // do something;
    }


    public static void main(String[] args)
    {
    compute(34);
    }

    In the method compute, I have an Integer Object as parameter, but I am able to pass a primitive value to it. Why is this behavior possible?

    For the case of String I can understand it, as String can be declared both ways.

    String n = "44";
    String s = new String("44");


    But, Wrapper class cannot be initialized both ways, so why is it possible to pass a primitive data type to a method that accepts a Wrapper Object. Can anyone explain?

    ReplyDelete
  22. @3:48

    It's called autoboxing. The int is automatically converted to an Integer object. Also note that the statement

    String n = "44";

    is just a convenience offered by Java. Behind the scenes, it is truly equivalent to

    String n = new String("44");

    ReplyDelete
  23. I just found out its answer for @3:48 PM. Isn't it funny when you answer your own question!

    There's a feature in Java called auto-boxing, which converts primitive values to their corresponding wrapper objects & vice-versa automatically.

    If anyone else has the same question, check out this link:

    http://download.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html

    ReplyDelete
  24. @4:21, As far as I know they are not truly equivalent.

    Consider the following example:

    String s = "44";
    String n = new String("44");
    String x = "44";

    You can verify it by outputting the following:

    System.out.println(s == n); // return false;
    System.out.println(x == s); // return true;


    So, when x is initialized, java checks if "44" already exists, and as it exists, it assigns the the same reference to x. But, when you declare using new operator, it creates a new memory location. So, s and x points to same location, but n points to different location although they are all "44".

    As far as I know, Java discourages the usage of new operator in String, unless its explicitly needed.

    ReplyDelete
  25. @April 12, 2011 5:02 PM

    If I was gonna make this exam harder for you, the following question would be on it:-

    "How do you check equality for strings in java?"

    ... possibly, make it the only question on the exam. Mind the "If".

    ReplyDelete
  26. @April 12, 2011 5:02 PM
    and @April 12, 2011 8:07 PM

    What 5:02PM is actually true, but the problem with that, as 8:07 PM pointed out, is that you would pretty much never use == with Strings. You would use .equals() instead then you would get the following result:

    System.out.println(s.equals(n)); // return true;
    System.out.println(x.equals(s)); // return true;

    So it actually doesn't matter which way you initialize the String because we only care about comparing the contents.

    ReplyDelete
  27. @April 12, 2011 8:36 PM,

    Yes, we would never use == for comparing the contents of two different objects. == is used to compare the reference of two objects.

    I was simply pointing out to @4:21, who suggested that creating Strings using primitive approach is equivalent to using new operator. They are not (at least not in the way they are managed in memory).

    new operator allocates a new space in memory and assigns the new reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its *internal* hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.

    So, for example:

    String s = "44";
    String n = "44";
    String x = new String("44");

    Both s and n points to same location in memory (thus s == n returns true). While, s & x points to different location in memory.

    For comparing the contents of string, yes, .equals or (.equalsIgnoreCase for case insensitivity) should be used.

    ReplyDelete
  28. >>> @(April 12, 2011 5:02 PM)

    I posted @(April 12, 2011 8:07 PM). Turns out, I was reading your post completely out of focus.

    Sure enough, you're right. Object equality makes the two string declarations different, and your inference was spot on.

    My apologies, once again.

    >>> @(April 12, 2011 8:36 PM)

    I see your point, but the questions was if the two declarations do the same thing java-wise? As (April 12, 2011 5:02 PM) pointed out, they don't. My reply was irrelevant to what he/she was talking about.

    Anyways, announcements like these, 4 days before the exam, makes me wonder:- "Just how much does a doctor's note cost?"

    ReplyDelete
  29. @April 12, 2011 8:36 PM,

    Yes, we would not use == for comparing the contents of two different objects. == is used to compare the reference of two objects.

    I was simply pointing out to @4:21, who suggested creating Strings using primitive approach is equivalent to using new operator. They are not (at least not from memory).

    new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its internal hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.

    Thus:

    String s = "44";
    String n = "44";
    String x = new String("44");

    s == n returns true as they point to same location, whilst s == x returns false as they are pointing to two different location in memory.

    For comparing the contents of string, yes, .equals or .equalsIgnoreCase should be used.

    ReplyDelete
  30. @April 12, 2011 8:36 PM,

    == is used to check the memory location of two objects, not their contents.

    I was simply pointing out to @4:21, who suggested creating Strings using primitive approach is equivalent to using new operator. They are not (at least not from memory).

    new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its internal hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.

    Thus:

    String s = "44";
    String n = "44";
    String x = new String("44");

    s == n returns true as they point to same location, whilst s == x returns false as they are pointing to two different location in memory.

    For comparing the contents of string, yes, .equals or .equalsIgnoreCase should be used.

    ReplyDelete
  31. @April 12, 2011 8:36 PM,

    == is used to check the memory location of two objects, not their contents.

    For the case of String, new operator allocates a new space in memory and assigns the reference to the variable. While, when primitive approach is used for string, as far as i know, java checks from its *internal* hash table that if such a string literal "44" already exists, and if it exists, it simply assigns that memory reference to the new variable, thus spacing memory space.

    So,

    String s = "44";
    String n = "44";
    String x = new String("44");

    s==n returns true as they point to same location, whilst s==x returns false as they are pointing to two different location in memory.

    For comparing the contents of string, yes, .equals should be used.

    ReplyDelete
  32. @April 12, 2011 8:58, no need for apologies :)

    ReplyDelete
  33. it all dependents on how you mark it , for the test2, it is not easy. But you give us a lot of changes.

    ReplyDelete
  34. 30+ COMMENTS?!!!!! wowwwwwwwwwwwwwwwwwww. i feel good knowing that im not the only one scared about this one:)

    ******************************************
    JUST STUDY HARD AS YOU CAN BOYS n GIRLS :)!!!!
    ******************************************
    I Think we should be thanking prof for giving us the warning. imagine if he didn't care to tell us and we went into the exam are like W**?. LOL...SO YEH just do your best. trust me im in the B group and am scared shit about this exam out of all the other ones. but ones gotta think positive cause we have no other choice but to think positive. GOOD LUCK all!!!!!:)

    ReplyDelete
  35. i just realized the time on this thing is wrong i just posted a blog up @ 5:28am but it says 2:28am? hey wat gives!!!!!?

    ReplyDelete
  36. suggestion==>

    make up your own LAB to practice. i mean first do lab 8. then make it generic, then do something to with iterator/comparable. you know be creative!

    ReplyDelete
  37. Since this course has almost come to an end, I must say that 1020 gave me a really good impression of CSE at York, but this class completely ruined it. The lack of organization and structure was ridiculous. This final statement that the exam will be much harder is simply too much.

    Is it our fault if your TAs could not handle marking tests? Why are we being told 4 days before the exam that it will be harder. I have 4 other exams to study for. This has thrown off my scheduling completely.

    Serious reform is needed in at least our class to bring it up to speed with other universities.

    ReplyDelete
  38. l2makeanexampl0x.

    ReplyDelete
  39. So when's the labtest? My exam timetable just mentions Friday from 9 for CSE1030 -- nothing else. Are the labtest and written test back-to-back?

    ReplyDelete
  40. In the class, I don't recall inheritance in Generics being discussed. Are we expected to those as well?.

    For example:

    public class Person1<T> extends <G>

    note that I am not talking about:

    public class Person<T extends Comparable>

    And, what about polymorphism among Generics, are we expected to know those as well, like:

    public class Person<T extends Student, Comparable>

    ?

    ReplyDelete
  41. Professor,

    Why was my post deleted?

    ReplyDelete
  42. Hope that we will be given enough time in the exam for those hard questions!
    I mean not just enough to write it but enough to think about it as well.

    ReplyDelete
  43. Prof. Eckford when you mention the class average are you taking both sections M and Z? or just your class? I'm wondering if Turpin's class is doing as well or not.

    ReplyDelete
  44. If we read all the topics/sections listed on the calendar, will we be prepared enough for the written part? Or should we do extra readings regarding the topics you said were going to be emphasized

    ReplyDelete
  45. Nobody will die a virgin, the exam will rape everyone.

    ReplyDelete
  46. psshh... Come on, I can take this exam! Watch me walk out with an A+!

    ReplyDelete
  47. @8:45 PM
    I wish I had your confidence

    ReplyDelete
  48. I just got rapped!!!!!

    ReplyDelete
  49. I am so pissed off at this.. This isn't fair, i had an A before, now I will fail, <60.

    Not only this has affected me academically, this has set me back really bad. I will mess up my other tests too..

    So Disappointed.

    ReplyDelete
  50. @April 15, 2011 9:34 AM

    So someone wrote a rap for you during the exam? That's nice of them, lol.

    Anyway, here's my exam feedback:

    1) Written test was fair in my opinion. I didn't get "rapped", lol

    2) The labtest had one tricky part that I still don't really understand. It's the recursive reverse method. It just didn't make sense to me. We're not returning anything, we're not printing anything to the screen, and we can't mutate an array. So how will anyone know what this method is doing? Plus, I couldn't figure out how to make it recursive anyway. Will we get to see a solution for that?

    ReplyDelete
  51. Sir, you succeeded.. this last test (especially lab test) was extremely challenging!!

    ReplyDelete
  52. @ April 15, 2011 9:52 AM

    1) Agreed. I felt it was pretty fair as well.

    2) For the recursive method. What you would do is take the element at l and r, and swap them around. Then you call the recursive method again except with (l + 1) and (r - 1). You keep doing this as long as l < r.

    ReplyDelete
  53. @ April 15, 2011 9:52 AM

    Wow!!! I almost had it!

    When you say swap them, what are you actually doing? Where are you storing these swapped elements?

    ReplyDelete
  54. Sorry I meant to reply @April 15, 2011 10:08 AM

    ReplyDelete
  55. @ April 15, 2011 10:08 AM

    You would first store at least one of them in a temp value then swap them. Like so:

    int tempL = A[l];
    A[l] = A[r];
    A[r] = tempL;


    Array is an object in java. Your constantly passing the reference to the originally passed array and such any changes you make to it inside the recursion will be visible outside the recursion method. No return type was ever needed.

    ReplyDelete
  56. @ April 15, 2011 10:08 AM

    Ya, makes sense. I don't know, I guess I just blanked out and over complicated the problem.

    ReplyDelete
  57. @April 15, 2011 10:13 AM

    What did you do when you hit the stopping case?

    ReplyDelete
  58. public class exam
    {
    public static void reverse(int[] A, int l, int r)
    {
    System.out.println(A[r]);
    if ((r-l) > 0)
    {
    reverse(A, l, r-1);
    }
    }
    }

    ReplyDelete
  59. public class Client
    {
    public static void main(String[] args)
    {
    int[] A = {6, 2, 4, 8, 6};
    exam.reverse(A, 0, 4);
    }
    }

    ReplyDelete
  60. @April 15, 2011 10:43 AM

    Ya, I probably shouldn't have looked at the answer, lol. Now I feel suicidal...

    All that practice and I choke on a 3 liner problem...

    ReplyDelete
  61. Anonymous @
    April 15, 2011 10:43 AM
    April 15, 2011 10:45 AM

    I don't think that's correct... afaik, the method doesn't ask you to print the array, rather to swap the values.

    e.g:
    int[] arr = {1, 2, 3};
    ArrayMethods.toString(arr);
    // This prints out [1, 2, 3]

    ArrayMethods.reverse(arr);
    // This reverses the array

    ArrayMethods.toString(arr);
    // This prints out [3, 2, 1]


    What you did was...
    int[] arr = {1, 2, 3};
    ArrayMethods.toString(arr);
    // This prints out [1, 2, 3]

    ArrayMethods.reverse(arr);
    // This PRINTs out 3, 2, 1

    ArrayMethods.toString(arr);
    // This prints out [1, 2, 3]

    You might have had it confused with print reverse...?

    ReplyDelete
  62. @ April 15, 2011 11:03 AM
    You might be right about that. So you're saying we had to make a whole new array with the numbers reversed?

    ReplyDelete
  63. @ April 15, 2011 12:16 PM

    No, you had to reverse the order of the array passed to the method. The recursive method didn't have any returns.

    ReplyDelete
  64. I can easily say you raped us on the final :)
    My Average from A is coming down to a D

    ReplyDelete
  65. This was my reverse. I think i got it, not sure if it helps.

    public static void reverse(int[] A, int l, int r)
    {
    if (l>=r) return;

    int temp = A[r];
    A[r] = A[l];
    A[l] = temp;

    reverse(A, l+1, r-1);
    }

    ReplyDelete
  66. I hope the marking isn't too strict. I found the written exam difficult. If the TA's marks it strict, then RIP :( :(!

    ReplyDelete
  67. @April 15, 2011 1:59 PM

    How can you use the "return" keyword if the return type is void?

    ReplyDelete
  68. @April 15, 2011 1:59 PM

    return; (return followed by a semi-colon doesn't return any value).

    It technically stops the execution of the method as return is the last statement of a method. However, it doesn't return any value. You can give it a try.

    ReplyDelete
  69. we did Array Reverse in section M, and the linkedList question is hard. i can't figure it out until i finished lab test. And the Linked List is different from what we learned from Turpin

    ReplyDelete
  70. @April 15, 2011 2:55 PM

    For the LinkedList question I wrote my own traverse(int position) method so that I can get to the third last position easily. After that it's just a matter of reassigning next pointers.

    ReplyDelete
  71. Thanks for successfully making me fail. from an A+ straight to a D.

    Not sure what to do now.

    ReplyDelete
  72. If you went into the exam with an A+, you would only need a 20-25% on the exam just to pass with a C+. Hell, to get a D going in with an A+ would require you to get a flat zero on the exams. If you couldn't manage to even get 1 in 5 marks then you need to look at your study habits.

    The prof gave us a list of what's testable on April 5th, he didn't deviate at all from that list.

    ReplyDelete
  73. Literally the only way to go from A+ to D is to have a low A+ and then get zero on the exam. And about the only way to get zero on the exam is to answer "Fuck you" for every question.

    Seriously! Stop torturing yourselves. Yes it was hard, but you almost certainly did better than you think you did. So go have a beer, do some yoga, shoot some hoops, or do whatever you do to relax and forget about it. And anyway, there's nothing you can do about it now, so why worry. Voice of experience talking here.

    ReplyDelete
  74. @Professor Eckford

    When the marks are ready, will they be posted here on the course website?

    Thank you

    ReplyDelete
  75. @Professor Eckford

    Will you bell curve the marks?

    ReplyDelete
  76. @April 15, 2011 5:18 PM

    Lol, wasn't he trying to get the average down in the first place?

    ReplyDelete
  77. @ Andrew

    Well yeah i'll get a straight 0 on the exam because of the Lab sign-in policy. You really screwed us professor.

    ReplyDelete
  78. @April 15, 2011 5:22 PM

    I swear the lab sign-in policy was announced on the first day of class. If you had any conflicts, why not talk to him about it?

    If there were no schedule conflicts then how do you not attend 4 out of 8 labs? Besides the labs really did prepare us for the tests, not really the exam, but that's beside the point.

    ReplyDelete
  79. @April 15, 2011 5:22 PM

    No one screwed you except yourself. We were all told of the sign in policy on day 1, reminded about it multiple times. It's on the course website....

    And yet it's someone elses fault you couldn't, at minimum, come into the computer lab, sign in and leave.

    ReplyDelete
  80. @April 15, 2011 5:32 PM

    I'm sure no one would be stupid enough to come all the way from Oshawa to sign-in for the labs you asses. Do you think I would not attend the lab sessions on purpose. Use your brain please

    ReplyDelete
  81. @April 15, 2011 5:42 PM

    You don't have any other classes on lab days? Did you talk to the professor about it?

    ReplyDelete
  82. @5:22 -- maybe you can send me an email?

    ReplyDelete
  83. Hahaha, funny how there are so many whiners here.
    If nothing, the exam certainly separated people who knew their stuff from small amount of butthurt slackers who expected to get a good mark by doing nothing. :)

    He mentioned from the very start that this course was going to get harder and harder. After the last test, he said things will only get harder. He warned about dropping the class before the drop deadline, and heck he even said that this exam was going to be hard. (Read the title...)

    I don't get why anyone is to complain, as it is only unfair if no one could do good on the test. If in the end, all of the class average dropped to a D or something, only then do we have a right to call the test unfair.

    So until then, please stop embarrassing yourself and stop sharing how bad you think you did. It doesn't change anything, and we don't need to know... I heard diaries are great for stuff like that. ;)

    Jokes aside, please quit crying a new Lake Ontario because you don't know your mark yet. Chill, and put more work into your next exam. Good luck with the next one. :)

    ReplyDelete
  84. @April 15, 2011 5:42 PM
    1. You mad.
    2. There are two lab sessions
    3. He asked you arrange things with him in the beginning of the term
    4. If you boss called you in for a meeting from Oshawa, will you just tell him to F'off?

    ReplyDelete
  85. I preferred an easy exam like the midterms as well, but am I the only one who thinks Prof. Eckford did an excellent job throughout this course?

    ReplyDelete
  86. Why does everyone sound so mad? sure we all did worse than we would have liked but can we treat eachother with a little decency? Is it that hard just to say what you have to say nicely? I mean, even the proff sounds angry. Don't get me wrong, i understand why everyone is so upset, but lashing out on the forum is just not the answer, and frankly its just immature. we have enough trolls on youtube, we dont need them on a university course forum.

    ReplyDelete
  87. @April 15, 2011 8:57 PM

    You sound angry too, lol. Anyway, it's just that everyone is nervous about their final mark. Nobody wants to fail or see their grade drop by 30%. Professor Eckford is right though, at this point there's nothing we can do about it so everyone should just let go and forget about it.

    @April 15, 2011 8:12 PM

    I agree. Honestly, in my experience, Professor Eckford is one of the best professors I've seen at York University. Most professors bore us to (near) death, but I found that the examples we did together in class kept me alert and I always followed along and wrote out all of the classes.

    ReplyDelete
  88. All I have to say; that was quite the final exam. We'll see how my grade looks after that.

    Signed Lazy & Proud

    ReplyDelete
  89. So if we answered "Fuck you" for half the questions, we should probably be fine?

    ReplyDelete
  90. @April 16, 2011 2:12 PM

    Are you serious?

    ReplyDelete
  91. Then you may want to seek treatment in here:
    http://www.mindcarecentres.com/

    ReplyDelete
  92. Some people are being so rude for no reason. Honestly, my exam was also not good. I had an A+ before the final.

    Before the finals, I ended up practicing too much for programming which jeopardized my written preparation. I wrote my own recursive methods for walk of LinkedList, wrote recursion for sumOfSquares and others etc. In the end, my lab test was ok, but, the written was not. But, its over now and I can't change the past.

    I look forward to the final mark/grade. I am hoping that the TA's would mark us leniently.

    ReplyDelete
  93. Anonymous @6:31

    I won't say leniently is the right saying it, IMHO, if we are marked, 'appropriately' then their is no harm.

    Disclaimer :- No animals were harmed in the creation of this comment.

    ReplyDelete
  94. Prof. Eckford is marking the exam, not the TAs.

    ReplyDelete
  95. How about some computer science jokes to lighten the mood?

    A man is smoking a cigarette and blowing smoke rings into the air. His friend becomes irritated with the smoke and says, “Can’t you see the warning on the cigarette pack? Smoking is hazardous to your health!”

    To which the man replies, “I am a programmer. We don’t worry about warnings; we only worry about errors.”

    **************************************

    How many C programmers does it take to change a light bulb?

    Answer: You’re still thinking procedurally! A properly designed light bulb object would inherit a change method from a generic light bulb class!

    ****************************************

    Random Shack Data Processing Dictionary:

    Endless Loop: n., see Loop, Endless.
    Loop, Endless: n., see Endless Loop.

    *******************************************

    There are 10 types of people: those who understand binary, and those who do not understand it.

    *******************************************

    The human mind ordinarily operates at only ten 10% of its
    capacity, the rest is overhead for the operating system.

    *******************************************

    You never finish a program, you just stop working on it.

    ********************************************

    Enjoy your Summer everyone!!!

    ReplyDelete
  96. What does Java Programming have in common with sex with a fat woman? You'll enjoy both of them very much but you'll not want to tell your friends about it :-)

    ReplyDelete
  97. So Professor, will you post our final exam marks separately, or will we only see the final letter on the YorkU website?

    ReplyDelete
  98. Q. How did the programmer die in the shower?
    A. He read the shampoo bottle instructions: Lather. Rinse. Repeat.

    No stopping case :(

    ReplyDelete
  99. You guys should join a comedy club :-)

    ReplyDelete
  100. @ Andrew
    I think being a prof you should mind your language. Look what the Blog is now, everyone posting whatever comes to their mind. Lead like an example

    ReplyDelete
  101. @April 18, 2011 7:08 PM

    Dude, relax, the course is over. I don't think there's anything wrong with these guys posting jokes. So what? They were posted to get everyone's mind off of the final exam.

    ReplyDelete
  102. @April 18, 2011 7:08 PM

    If you think Andrew is not an example, go check out his webpage and see what he has achieved in his life.

    For me he's the best example, I've not seen a man so down to earth before, a true leader indeed.


    I sincerely thank him for all that he has done for us, and I wish him all the very best for his future.

    Thanks Andrew.

    ReplyDelete
  103. @the post above

    I agree with you completely. Prof. Eckford is someone who I highly respect. Not only is he a good professor, he is also a good person.

    Thank you professor, I hope I'd have the chance to be taught by you again.

    ReplyDelete
  104. Prof Eckford is a great man. I'm glad to be taught by him. He's a great prof and a great man too.

    ReplyDelete
  105. I am still wondering why we were introduced to programming with a language like Java which is entirely artificial in the sense that it's required to be interpreted by other software before it can even be executed by the computer, I deem it as little more than scripting.
    Perhaps starting with C would have been more prudent. Now there are a bunch of people moving on with the notion that Objects somehow actually exist in the eyes of a computer, which is false.

    ReplyDelete
  106. @April 25, 2011 11:24 AM

    I've heard that it's actually more difficult to go from a language like C to Java. There are certain habits and notions that one picks up from C as well. Apparently, it's difficult not to think in C once you learn it so something so different like Java is confusing for someone who's used to C. I don't think the other way around is too difficult.

    My friend goes to McMaster University and he also studies engineering. For their first year they were taught C#, which is pretty close to Java. I think everyone starts with an intermediate level language.

    ReplyDelete
  107. @April 26, 2011 9:21 AM

    I do not see how it is the case. Once you have learned C you have a good idea of how the computer does things. Objects is a clever invention but once you understand how it was created you will realize its true nature and be able to utilize it.
    I know C and have never done any Object Oriented programming prior to this course. It has been absurdly easy.

    ReplyDelete
  108. There're many forms of "knowing" the language. You could know the syntactic sugar, etc and say you know it, or knows the ins and outs of the language (i.e. how it's headers files are programmed, etc) and say you know it.

    Since this is an introduction course to programming, if you know a little programming in any other languages, this course will seem absurdly easy... Because the concept had already been introduced to you.

    Personally, I known C before and I'm glad to be introduced to another language.

    ReplyDelete
  109. @April 26, 2011 1:51 PM

    By 'knowing' I meant knowing how it actually works behind the scenes, knowing the syntax is easy. Knowing what really happens when you call a function is along the lines of what I had in mind. Perhaps the 'theory of computation' course 2001 will touch on this. C is a good language because it's essentially 'simplified' ASM in the sense that it takes away the complexity along with some versatility but also allows for multiplatform functionality (with optimization for each platform still required of course).

    ReplyDelete
  110. This is absolute BS.
    I don't understand how i could not get a C+ when ALL I needed was a 50% on the final to get that grade? Did i fail that bad?

    ReplyDelete
  111. WOW, the marking was ridiculously unfair...

    ReplyDelete
  112. WHAT??? I dropped by 15%!

    ReplyDelete